就烦别人问我到底什么是云原生?
应用容器化
面向微服务架构
应用支持容器的编排调度
使大型的复杂应用程序可以持续交付和持续部署
每个服务都相对较小并容易维护
服务可以独立部署
服务可以独立扩展
微服务架构可以实现团队的自治
更容易实验和采纳新的技术
更好的容错性
应用程序间通讯的中间层
轻量级网络代理
应用程序无感知
解耦应用程序的重试/超时、监控、追踪和服务发现
Automation & Configuration:用于自动化部署和配置容器运行平台和环境,代表工具和厂商包括Ansible、Chef、Puppet、VMware以及OpenStack。
容器镜像库:容器镜像库是整个CNCF云原生中的核心部件之一,因为基于容器的运行环境中,所有的应用都需要借助容器镜像库来进行安装和部署。容器镜像库又分为公有和私有,公有的容器镜像库包括docker官方的registry,AWS的Elastic Container Registry,Google的Container Registry等。在私有镜像库中,VMware中国团队主导的Harbor得到了广泛的应用,大量的容器平台目前都基于Harbor构建其镜像仓库。
Security & Compliance:Notary和TUF(The Upgrade Framework)是这个领域两个主要的项目,其中TUF是一个开源的安全标准,Notary是其中一个实现。Notary软件除了确保软件的出处外,它还能保证在未经容器镜像提供者批准的情况下,不会在镜像供应链的任何地方修改镜像内的内容,从而确保从开发到运营的过程中,安全都被无缝统一地嵌入到整个工作流中。
Key Management:主要用于在整个容器平台中进行秘钥管理。
Container Runtime:Docker是最广为人知的容器运行环境,但生产环境下也有一些其他的容器环境在运行。Containerd是满足OCI规范的核心容器运行时,从设计上就是为了嵌入大型系统的。它由Docker Inc公司启动,并且在2017年3月份捐赠给了CNCF。此外,CoreOS的RKT是一个用于在Linux上运行应用程序容器的CLI,也可以作为安全、可组合和基于标准的容器虚拟化运行环境。
Cloud-Native Storage:起初,容器为无状态的运行单元,容器最上一层文件系统无法保存其在运行时写入的文件或数据,容器重建或重启后,这些写入的数据将丢失。但随着数据库、消息队列等中间件逐步在容器环境中得到应用,如今用户对容器持久化存储的理解和需求也更加深入和迫切。
Cloud-Native Network:网络历来是虚拟化技术中最灵活多变的部分,目前,大多数客户使用的主要包括Calico、Flannel、Open vSwitch等方案。
计划与编排:在这个领域,Kubernetes是当仁不让的头号玩家,目前基于Kubernetes的容器生态得到了迅速发展。其它的编排工具还包括Mesos和Docker Swarm等。
协调与服务发现:分布式计算中很重要的一点就是各个服务之间的协同以及服务发现(或节点发现的问题),从老牌的ZooKeeper到近年来在很多互联网厂商和应用中流行的Consul(Docker Swarm默认使用),都可以用于分布式服务的发现和配置,Kubernetes默认使用的则是CoreOS旗下的etcd。
远程过程调用:微服务间进行通信,通常有两种方式,一种是HTTP REST-JSON的方式,另一种为RPC方式,两者相比,RPC方式效率更高。常用的包括Google开源的GRPC、Apache旗下的Thrift框架、Netflix开源的自带负载均衡的Ribbon和Avra数据序列化框架。
CNCF云原生定义1.0,github.com/cncf/toc/blob/main/DEFINITION.md
迁移到云原生应用架构,Matt Stine著,Jimmy Song译,jimmysong.io/migrating-to-cloud-native-application-architectures
云原生全景图,landscape.cncf.io
CNCN landscape 项目,github.com/cncf/landscape
持续演进的Cloud Native - 云原生架构下微服务最佳实践,王启军,电子工业出版社
畅谈云原生,敖小剑,skyao.io/talk/201902-cloudnative-freely-talk
Service Mesh发展趋势:云原生中流砥柱,敖小剑,skyao.io/talk/201905-servicemesh-development-trend
不可变基础设施,cloud.tencent.com/developer/news/329406
云原生技术详解,www.cnblogs.com/sddai/p/13726935.html
什么是服务网格,jimmysong.io/istio-handbook/concepts/what-is-service-mesh.html
什么是服务网格,http://www.redhat.com/zh/topics/microservices/what-is-a-service-mesh
运维的思维升级-不可变基础设施,wangkai1994.github.io/2019/01/12/Immutable-Infrastructure
程序猿 996 的真实生活!
36岁程序员应聘被拒引热议,网友怒了!