我们说起云原生会想到什么?容器?微服务?Serverless?
下图展示了自 20 世纪 80 年代以来架构和流程的演变。
我们从中可以看到云原生概念的几个重要组成部分。
企业可以使用云原生技术在公有云、私有云和混合云上构建和运行可扩展的应用程序。
这意味着应用程序在设计上充分利用了云的功能,因此它们能够适应负载并易于扩展。
云原生包括 4 个方面:
1、开发流程
从瀑布式开发到敏捷开发再到 DevOps。
原先按职能来划分的团队在微服务架构下演化成了职能混合的产品小团队,开发、测试、部署和运维互相紧密配合,促进高质量软件的快速交付。
2、应用架构
架构已从大单体转向微服务。每个服务都设计得很小,以适应云容器中有限的资源。
容器编排、监控和日志功能对于整个软件的容错性和可观测性有着重要的作用。
3、部署和打包
过去,应用程序部署在物理服务器上。2000 年左右,对延迟不敏感的应用程序通常部署在虚拟服务器上。
对于云原生应用程序,它们被打包成 Docker 镜像并部署在容器中。
容器技术原先是 PaaS 平台的底层技术,利用 Linux namespace 和 cgroup 来做资源隔离和分配。
dotCloud 公司在 2013 年改进了打包技术,将应用程序所有的依赖项一并打包进 Docker image,这样应用程序在各个环境中的 runtime 就保持一致了。
4、应用程序基础设施
应用程序大量部署在云基础设施上,而不是自托管服务器上。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END