- CNCF组织介绍
-
CNCF云原生路线图
- 阶段一:容器化(Containerization)
- 阶段二:持续集成&发布(CI/CD)
- 阶段三:编排&应用定义(Orchestration&Application Definition)
- 阶段四:监控&分析(Observability&Analysis)
- 阶段五:服务代理、发现、网格化(Service Proxy、Discovery、Mesh)
- 阶段六:网络策略&安全(Networking,Policy,Security)
- 阶段七:分布式数据库&存储(Distributed Database&Storage)
- 阶段八:流&消息传递(Streaming&Messaging)
- 阶段九:容器注册&运行(Container Registry&Runtime)
- 阶段十:软件发布
- CNCF云原生全景图
参考:
- 一文带你读懂CNCF Landscape - 知乎 (zhihu.com)
- trailmap/CNCF_TrailMap_latest.pdf at master · cncf/trailmap (github.com)
- CNCF Cloud Native Interactive Landscape
CNCF组织介绍
Cloud Native Computing Foundation,云原生计算基金会(以下简称CNCF)是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续发展。云原生技术是通过一系列的软件、规范和标准帮助企业和组织,在现代的动态环境(如公共云、私有云和混合云)中构建和运行敏捷的、可扩展的应用程序。容器、微服务、微服务治理、声明式API等都是代表性的云原生技术。这些技术使松散耦合的系统具有更好的弹性、可管理性,同时更容易被监控和观察。这些技术通过与强大的自动化工具相结合,允许工程师频繁地、可预见地对系统进行任意的更改,并尽可能减少由此带来的工作量(在这些云原生技术和框架被采用之前,相信大家都有过针对系统任何一个小改动,都需要整个开发、测试、运维团队投入大量工作的痛苦经历),而这就是云原生技术最希望为技术团队以及业务带来的价值。
在每年的CNCF年度报告中都会提及CNCF Landscape,CNCF Landscape是CNCF中的一个重要项目,它始于2016年11月,旨在为云原生应用者提供一个资源地图,帮助企业和开发人员快速了解云原生体系的全貌。CNCF Landscape项目在Github上已经获得超过5000颗星,表明广大开发者和使用者对该项目的关注和重视。CNCF Landscape通过对云原生技术中的大多数项目和产品进行分类,来追踪整个生态中的大量应用。
CNCF云原生路线图
阶段一:容器化(Containerization)
目前最流行的容器化技术是Docker,你可以将任意大小的应用程序和依赖项,甚至在模拟器上运行的一些程序,都进行容器化。随着时间的推移,你还可以对应用程序进行分割,并将未来的功能编写为微服务。
阶段二:持续集成&发布(CI/CD)
创建CI/CD环境,从而使源代码上的任意修改,都能够自动通过容器进行编译、测试,并被部署到预生产甚至生产环境中。
阶段三:编排&应用定义(Orchestration&Application Definition)
Kubernetes是目前市场上应用编排领域被最广泛应用的工具,Helm Charts可以用来帮助应用开发和发布者用于升级Kubernetes上运行的应用。
阶段四:监控&分析(Observability&Analysis)
在这一步中,用户需要为平台选择监控、日志以及跟踪的相关工具,例如将Prometheus用于监控、Fluentd用于日志、Jaeger用于整个应用调用链的跟踪。
阶段五:服务代理、发现、网格化(Service Proxy、Discovery、Mesh)
CoreDNS、Envoy和LInkerd可以分别用于服务发现和服务治理,提供服务的健康检查、请求路由、和负载均衡等功能。
阶段六:网络策略&安全(Networking,Policy,Security)
Calico、Flannel以及Weave Net等软件用于提供更灵活的网络功能。
阶段七:分布式数据库&存储(Distributed Database&Storage)
分布式数据库可以提供更好的弹性和伸缩性能,但同时需要专业的容器存储予以支持。
阶段八:流&消息传递(Streaming&Messaging)
当应用需要比JSON-REST这个模式更高的性能时,可以考虑使用gRPC或者NATS。gRPC是一个通用的RPC(远程调用)框架(类似各种框架中的RPC调用),NATS是一个发布/订阅和负载均衡的消息队列系统。
阶段九:容器注册&运行(Container Registry&Runtime)
Harbor是目前最受欢迎的容器镜像库,同时,你也可以选择使用不同的容器运行环境用于运行容器程序。
阶段十:软件发布
最后可以借助Notary等软件用于软件的安全发布。