开发人员很快明白了容器用于构建云原生应用程序的价值,以及Docker命令行工具比他们通过PaaS获得的所有花里胡哨的东西都要好。
因为Kubernetes的统治,如果说Docker已死,倒不如说Docker确确实实改变了世界!
作者:Scott McCarty 编译:沈建苗
2013年,Docker风光无限。Docker因其在将容器带入到主流方面起到的关键作用而备受关注,并在许多方面取代PaaS,成为当时的热点(Heroku有人记得吗?)。如今,该公司因推出Docker Desktop的新模式再度受到关注,新模式需要大企业购买这些工具的付费订阅版。这则宣布在业界引起了强烈的反响,这让我想起了Docker在普及我们所知道、喜爱、如今广为使用的模式:容器方面所发挥的重要作用。
Docker没有发明容器,而是通过开源工具和可重用的映像使这项技术普及开来。有了Docker,开发人员可以真正只需构建一次软件,即可在本地或生产服务器上运行。
Docker命令行工具取代了使用多年的Web界面,这可能是广大开发人员真正想要的。但要真正了解Docker的影响,有必要回顾Docker容器技术惊艳亮相前的那段时期。
寻找下一大技术
到2009年,使用虚拟化的价值得到了充分理解,虚拟化技术得到了广泛部署。大多数组织已经获得了虚拟化的好处,或制定了实现目标的路线图。营销界腻味了虚拟化。人们渴望IT和软件开发领域的下一个创新。这个创新以Heroku的面目示人。实际上,当时PaaS、尤其是Heroku变得非常流行,以至于看起来PaaS将风靡全球。
那时,Heroku大行其道。您要去这个门户网站开发应用程序,将它们作为服务来交付?有什么理由不喜欢它?为什么您不在Heroku上开发应用程序?
结果证明,不使用Heroku和PaaS平台有几个充分的理由。比如说,基于Heroku构建的应用程序不可移植,它们仅在Heroku中可用。如果开发人员想要协作开发,不得不在PaaS平台上远程工作。与Netflix不一样,开发人员喜欢在本地进行开发。如果开发人员想在其本地系统上开发,仍然需要自己手动搭建环境。
此外,虽然Heroku模式在您使用开箱即用工具的情况下非常强大,但底层却很复杂。一旦您的团队构建了比简单的Web应用程序复杂点的东西,或者他们出于安全或性能的原因需要定制基础架构,Heroku就成了一个棘手的非常“现实”的技术问题。
Heroku有利也有弊。但当时IT界盛行的风潮是,许多人没有意识到像Heroku这样的平台确实有其一席之地,但不是适合处理每项任务的工具,就贸然投入其中。
Docker的影响
另一方面,容器解决了PaaS面临的许多挑战,而Docker这家公司让开发人员、IT经理和业务经理看到并明白了这一点。事实上,Docker出现时,其价值显而易见:Heroku上所有困难的事在Docker上很容易,Heroku上所有容易的事在Docker上也很容易。有了 Docker,您可以迅速轻松地启动预先构建的服务,但您还可以轻松地在本地开发,定制服务以便服务满足您的具体需求。
这倒不是说Docker很完美。它实际上利用了上世纪70年代Unix中首次流行开来的用户体验(UX)!Docker只是在Linux终端中运行的一个命令,这与大多数PaaS平台上漂亮的图形界面相去甚远。但是Docker命令行界面(CLI)确实优雅。事实上,我认为Docker CLI 尤其向世人表明了这点:如果我们为CLI的开发赋予现代感十足的UX,它可以改变世界。
Docker以及容器为开发云原生应用程序提供了底层技术。面对高度分布式架构以及DevOps和CI/CD(持续集成和持续交付)模式,Docker以及容器照样可以正常使用。如今为了满足新的和持续的客户需求,在没有回归(即错误和安全问题等)的情况下实现改进,需要DevOps和CI/CD模式。
容器使开发人员能够快速改变应用程序,而不破坏用户所依赖的功能。此外,围绕容器形成的生态系统(包括看似完美无缺的Kubernetes编排平台)使组织得以有效地扩展和管理不断扩大的容器集合。
开发人员很快明白了容器的价值。运营团队很快就明白了,硅谷的投资者也明白了。但是要让通常观赏精美演示版的经理、CIO和CEO相信一款命令行工具比通过PaaS获得的所有这些花里胡哨的东西都要好,还需要下一番工夫。
置身于容器化世界
到了2021 年,命令行工具仍在掀起动静。至少可以说,这相当了不起。在这个容器CLI市场,似乎还有两个玩家生存的空间。
现在,由于一路上使用容器技术,开发人员可以比以前更轻松地在本地或云端工作。CIO和CEO可以期待更短的开发周期、更低的故障风险,甚至在整个生命周期内管理应用程序的更低成本。
Docker并不完美,容器也不完美。相比虚拟机,将应用程序迁移到容器中需要做更多的工作,但其好处在应用程序的整个生命周期都有所体现,因此值得投入资源和精力。对于刚开发的新应用程序尤其如此,但它同样适用于平移式(lift-and-shift)迁移,甚至适用于重构工作。
Docker已将容器技术放在了首要的位置,取代PaaS成为了主流;仅凭这个原因,Docker确确实实改变了世界。
文章来源:
https://www.infoworld.com/article/3639596/docker-really-did-change-the-world.html