原文标题:The 3 Phases of Containerization
来源:Container Journal
网址:https://containerjournal.com/2019/07/16/the-3-phases-of-containerization/
容器的历史可以分为三个主要阶段,它们分别标志着容器技术发展的不同阶段,以及容器的不同用例。理解这三个阶段对于理解容器技术如何发展演变成为今天的样子以及它们未来的发展方向至关重要。
容器化有哪三个具体发展阶段?请继续阅读本文获得容器化历史的概述。
阶段1:预生产测试环境(Staging)和PaaS占主导地位
容器的发展历史的第一阶段发生在2013年至2015年之间。当时,Docker和大多数其它容器化框架对大多数人来说都是一项新技术。使容器成为可能的操作系统级虚拟化(OS-level virtualization)实际上是一个很古老的想法,但是大多数人直到docker的出现才注意到这一点。直到今天,还有不少组织仍在试验它。
当时容器的大多数用例属于以下两类之一:帮助为自动化发布管道构建敏捷的预生产环境,以及作为PaaS系统的一部分托管生产应用程序。事实上,今天很容易忘记,当时实际使用容器的第一个主要事例是Heroku,它当时使用了LXC 来构建托管环境。
在容器化的第一阶段,很少有公司部署使用到的容器数量的规模大到需要复杂的编排解决方案。因此,容器生态系统中唯一的主要技术是容器运行时(container runtimes)本身。
阶段2:容器开始大规模部署
大约在2015年到2018年间,容器生态系统的发展动力转移到了容器编排领域。这些年来,Kubernetes、Docker Swarm和其它容器编排框架之间的大战成为容器部署的核心。
由于容器编排技术的快速发展和成熟,很多公司能够开始大规模地部署容器。这使得使用容器作为部署应用程序的完整解决方案成为可能,而不仅仅是用于准生产测试或作为严格控制的PaaS环境的一部分。
与此同时,Docker的容器运行时悄悄地取代了包括LXC在内的替代方案,成为大多数部署中的标准容器化框架。
阶段3:容器化服务开始接管
大约在2018年,容器编排之战结束了,Kubernetes成为大多数容器部署项目的首选编排工具。与此同时,基于云的容器服务,如AWS ECS和Azure AKS成为部署容器化应用程序的首选解决方案。安装运行时和编排工具以及配置基础设施的DIY方法已经成为过去。
如今,一个公司在选择如何部署容器时,最大的问题是使用哪个容器服务。像在云中运行的其它服务一样,最重要的区别在于价格。易于与其它服务集成也是一个考虑因素。
容器的未来
在经历了容器化发展的前三个阶段之后,我们将何去何从?我认为,我们将继续看到云提供商持续地削减容器服务的价格,同时通过安全工具等附加组件来加强这些服务,以吸引客户。
同样值得注意的是,已经出现了一系列不同的容器运行时,其中许多都迎合了特定的用例。因此,关于运行时的第二场战斗可能就要开始了。
但是无论未来如何发展,很明显2013年那样令人兴奋的日子已经远离我们而去,那时操作系统级虚拟化对大多数人来说都是一个新概念。