#yyds干货盘点#CNCF路线图——Trail Map

网友投稿 275 2022-11-02

#yyds干货盘点#CNCF路线图——Trail Map

为了帮助企业推动云原生应用的落地,从而更好地适应环境与业务的发展,CNCF给出了云原生应用路线图——Trail Map,路线图分成10个步骤来实施,每个步骤都涉及用户或平台开发者将云原生技术在实际环境中落地时需要循序渐进思考和处理的问题,企业在不同的步骤可以结合Landscape中列出的产品或服务进行选择。

1. 容器化

容器化是云原生的第一步,如果不对应用程序进行容器化,就无法实现云原生。容器是一个标准的软件单元,它将代码及其所有依赖关系打包起来,这样应用程序就可以从一个计算环境快速、可靠地运行到另一个计算环境。

2. CI/CD

设置CI/CD环境,从而使源代码上的任意修改都能够自动通过容器进行编译、测试,并被部署到预生产环境,甚至生产环境中,部署过程中如果有任何异常,可以方便快速地回滚到上一个稳定的版本。

3. 应用编排

容器编排主要是管理容器的生命周期,尤其是在大规模复杂的生产环境中,软件团队使用容器编排来控制和自动化许多任务。Kubernetes是目前市场上应用编排领域中使用最广泛的工具。

4. 监控和分析

在这个步骤中,用户需要为平台选择监控、日志以及跟踪的相关工具。Kubernetes提供了有关应用程序在容器集群上的资源使用情况的详细信息,并不提供应用运行监控的解决方案,将Prometheus用于监控、Fluentd用于日志、Jaeger用于整个应用调用链的追踪。通过这些信息,我们可以评估应用程序的性能,并可以消除瓶颈,从而提升整体性能。

5. 微服务及服务网格

容器技术激发了微服务及服务网格的快速发展,微服务是云原生架构下应用之间交互的主要方式。服务网格,是连接服务、发现服务、健康检查、路由,并用于监控来自互联网的入口。服务网格通常还具有更复杂的操作要求,如灰度发布、限流降级、访问控制和端到端身份验证。

Istio 提供了对整个服务网格的行为洞察和操作控制,提供了完整的解决方案以满足微服务应用程序的各种需求。CoreDNS 是一种快速灵活的工具,可用于发现服务。Envoy 和 Linkerd 都提供服务的健康检查、请求路由和负载均衡等功能,以支持服务网格体系结构。

6. 网络及策略

云原生架构下启用更灵活的网络层非常重要。要启用更灵活的网络,要使用符合容器网络接口(Container Network Interface,CNI)的网络项目,如 Calico、Flannel以及Weave Net等软件用于提供更灵活的网络功能。

7. 分布式数据库和存储

实现持久层的分布式,根据其实现方案分为分布式数据库中间件与分布式数据库两种形式,其目标都是为了实现数据库持久层的弹性和伸缩能力。

CoreOS和Kubernetes等项目中都用到了etcd组件,其作为一个高可用强一致性的分布式键值数据库,用于服务发现。etcd安装配置使用简单,提供HTTP API访问。

8. 流和消息处理

当应用需要比JSON-REST这个模式更高的性能时,可以考虑使用gRPC或者NATS。gRPC是一个通用的远程过程调用(Remote ProcedureCall,RPC)框架(类似各种框架中的RPC调用),NATS是一个发布、订阅和负载均衡的消息队列系统。

9. 容器镜像库和运行环境

可以使用Harbor作为镜像私库进行存储以及对镜像的内容进行扫描。容器并非只有Docker一种,容器的运行环境更是如此,可以选择不同的容器运行环境,但需要注意选择具有OCI兼容性的方案,比如containerd或cri-o。

10. 软件分发

最后可以借助Notary等软件用于软件的安全发布。Notary实现了更新框架(The Update Framework,TUF);TUF提供了一个框架(一组库、文件格式和使用程序),可用于保护新的和现有的软件更新系统。该框架应该能够使应用程序免受软件更新过程中所有已知威胁的影响。它不涉及公开关于正在更新的软件或更新内容的信息。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis的SUM映射问题及解决
下一篇:CAN总线标准接口与布线规范
相关文章

 发表评论

暂时没有评论,来抢沙发吧~