容器十年:一部软件交付编年史

2019 年,全世界的开发人员都开始习惯用容器来测试自己的软件,用容器做线上发布,开始对容器化的软件构建和交付流程习以为常。在“云”已经成为了大众基础设施的今天,我们已经习惯了把“容器“当做现代软件基础设施的基本依赖。

时至今日,容器镜像已经成为了现代软件交付与分发的事实标准。我们知道,Kubernetes 是一个“重 API 层” 的项目,但我们还应该理解的是,Kubernetes 是一个“以 API 为中心”的项目。围绕着这套声明式 API,Kubernetes 的容器设计模式,控制器模型,以及异常。


讲师:张磊, 阿里巴巴高级技术专家 CNCF 官方大使(Ambassador),Kubernetes 项目资深成员和联合维护者,目前在阿里云容器平台团队。

限时福利:张磊、李响等人撰写的 《CNCF X 阿里巴巴云原生技术公开课》 限时 0 元领取中。

2019 年,全世界的开发人员都开始习惯用容器测试自己的软件,用容器做线上发布,开始对容器化的软件构建和交付流程习以为常。全世界的架构师们都在对“云原生”侃侃而谈,描绘多云时代的应用治理方式,不经意间就把 “sidecar” 这种容器组织方式当做了默认选项。在“云”已经成为了大众基础设施的今天,我们已经习惯了把“容器“当做现代软件基础设施的基本依赖。这就像我们每天打开 Eclipse 编写 Java 代码一样自然。

但往回倒数两年, 整个容器生态都还在围着 Docker 公司争得不可开交,看起来完全没有定数。当时的国内很多公有云厂商,甚至都没有正式的 Kubernetes 服务。在那个时候,要依托容器技术在云上托管完整的软件生命周期,可以说是相当前沿的探索。谁能想到短短两年之后,容器这个站在巨人肩膀上的设计,就真的成为技术人员日常工作的一部分呢r>
伴随着容器技术普及到“千家万户”,我们在这两年期间所经历的,是现代软件交付形式的一次重要变革。

源起:属于 Jails 们的时代

虚拟化容器技术(virtualized container)的历史,其实可以一直追溯上世纪 70 年代末。时间回到 1979 年,贝尔实验室( Bell Laboratories 正在为 Unix V7 (Version 7 Unix)操作系统的发布进行最后的开发和测试工作。

发展:云,与应用容器

事实上,在 Jails 大行其道的这几年间,同样在迅速发展的 Linux 阵营上也陆续出现多个类似的沙箱技术比如 Linux VServer 和 Open VZ(未进入内核主干)。但跟 Jails 的发展路径比较类似,这些沙箱技术最后也都沦为了小众功能。我们再次看到了,进程沙箱技术的发展过程中“云”的角色缺失所带来的影响,其实还是非常巨大的。而既然说到“云”,我们就不得不提到基础设施领域的翘楚:Google。

Google 在云计算背后最核心的基础设施领域的强大影响力,是被业界公认的一个事实,无论是当初震惊世界的三大论文,还是像 Borg/Omega 等领先业界多年的内部基础设施项目,都在这个领域扮演者重要的启迪者角色。然而,放眼当今的云计算市场, 仅仅比 Google 云计算发布早一年多的 AWS 却是“云”这个产业毫无争议的领导者。而每每谈到这里的原因,大家都会提到一个充满了争议的项目:GAE。

这其中,“PaaS 项目通过对应用的直接管理、编排和调度让开发者专注于业务逻辑而非基础设施”,以及“PaaS 项目通过容器技术来封装和启动应用”等理念,也第一次出现在云计算产业当中并得到认可。值得一提的是,Cloud Foundry 用来操作和启动容器的项目叫做:Warden,它最开始是一个 LXC 的封装,后来重构成了直接对 Cgroups 以及 Linux Namespace 操作的架构。

Cloud Foundry 等 PaaS 项目的逐渐流行,与当初 Google 发布 GAE 的初衷是完全一样的。说到底,这些服务都认为应用的开发者不应该关注于虚拟机等底层基础设施,而应该专注在编写业务逻辑这件最有价值的事情上。这个理念,在越来越多的人得以通过云的普及开始感受到管理基础设施的复杂性和高成本之后,才变得越来越有说服力。在这幅蓝图中,Linux 容器已经跳出了进程沙箱的局限性,开始扮演的“应用容器”的角色。在这个新的舞台上, 容器和应用终于画上了等 ,这才最终使得平台层系统能够实现应用的全生命周期托管。

按照这个剧本,容器技术以及云计算的发展,理应向着 PaaS 的和以应用为中心的方向继续演进下去。如果不是有一家叫做 Docker 的公司出现的话。

容器:改写的软件交付的历程

如果不是亲历者的话,你很难想象 PaaS 乃至云计算产业的发展,会如何因为 2013 年一个创业公司开源项目的发布而被彻底改变。但这件事情本身,确实是过去 5 年间整个云计算产业变革的真实缩影。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器编排(生产环境 k8s)kubelet,kubectl,kubeadm三件套8930 人正在系统学习中 相关资源:圣殿祭司的ASP.NET4.0专家技术手册,完整扫描版-C#文档类资源-CSDN…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月6日
下一篇 2019年8月6日

相关推荐