当爱迪生发明灯泡时,它有一个问题:它需要硬连线到灯上。 因此, 爱迪生螺丝成为当今的标准,可以将几乎所有灯泡都拧成几乎任何灯具,无论是台灯还是枝形吊灯。
十年前,所罗门·海克斯(Solomon Hykes)发明的Docker容器产生了类似的效果:通过打包,任何Linux应用程序都可以插入任何Linux OS上的任何Docker容器,而无需繁琐的安装。 更好的是,多个容器化的应用程序可以插入到操作系统的单个实例中,每个应用程序彼此之间安全隔离,仅通过Docker API与操作系统通信。
该共享模型产生的重量堆栈比VM(虚拟机)轻得多,VM是在物理计算机上以云形式部署和扩展应用程序的常规工具。 实际上,它是如此轻巧和便携,以至于开发人员可以在笔记本电脑上处理多个容器化的应用程序,并将它们上传到他们选择的平台上进行测试和部署。 此外,与VM相比,容器化的应用只需眨眼就能启动,而VM通常要花一分钟的时间才能启动。
但是,要掌握容器的实际影响,您需要了解应用程序体系结构的微服务模型。 许多应用程序受益于分解成小的,单一用途的服务,这些服务通过API相互通信,因此每个微服务都可以独立地更新或扩展(与传统的整体式应用程序不同,在传统的整体式应用程序中,更改需要您降低和修改整个整体)交易)。 事实证明,微服务和容器是完美的选择。
该系列的特色:
- 容器和Kubernetes:3个转型成功案例 (CIO)
- Kubernetes与现实世界相遇 (InfoWorld)
- 有关容器联网的基本知识 (网络世界)
- Visa如何建立自己的集装箱安全解决方案 (CSO)
- PaaS,CaaS还是FaaS? 如何选择 (InfoWorld)
- 桌面上的容器? 您下注—在Windows 10X (Computerworld)上
但是,如何使容器化微服务作为应用程序协同工作? 至少对于大型微服务应用程序来说, 正是在那里。Kubernetes进入了这一领域。此开源编排引擎使您能够部署,管理,扩展并确保基于微服务的应用程序的可用性–如果需要,可以跨平台将其全部移动需要。
如果所有这些听起来都像是一堆运动部件,那就是(除了少数情况下, 是否需要Kubernetes )。 但是请不要误会:微服务时代已经来临,即时扩展或交换新服务的能力对于大量现代应用程序至关重要。 无论如何管理这些服务,容器都将自己确立为标准化,简化的容器。
将容器卷入生产
在“ 容器和Kubernetes:3个成功的转型故事 ”中,特约作家Bob Violino探讨了Expedia,克莱姆森大学和金融服务公司Primerica如何解决Kubernetes。 鲍勃(Bob)的文章紧随英国集团编辑斯科特·凯里(Scott Carey) 撰写的 “ Kubernetes满足现实世界 ”一书,该书研究了彭博社,英国新闻社和旅行数据提供商Amadeus所做的类似努力。 共识? 如Primerica首席技术官Barry Pellas所说,“使具有正确技能的团队在[Kubernetes]环境中正确发展可能具有挑战性。” 但是,无论是否挑战,Kubernetes如今已成为大规模协调容器化服务的广泛接受的解决方案。
Kubernetes的用途扩展到网络容器的棘手问题。 正如《网络世界》的撰稿人约翰·爱德华兹(John Edwards)在“ 关于容器网络的基本知识 ”中所述,网络容器与数据中心网络几乎没有相似之处。 容器网络不仅完全由软件定义,而且Kubernetes本身无需人工干预即可处理所有路由请求和网络连接。 所有这些连接在一起的服务一起被称为服务网格,该项目是另一个开源项目Istio ,旨在处理该问题,使管理员可以管理流量,控制策略,发现服务等。
Istio还提供了某种安全措施,例如服务之间使用TLS保护的通信。 但是,生产中的容器世界是一个全新的世界-一些大型企业已决定将安全性掌握在自己手中。 CSO高级作家Lucian Constantin解释了“ Visa如何构建自己的容器安全解决方案 ”,用于容器监视,安全策略实施以及事件检测和补救。 根据卢西安(Lucian)的说法,这是一个经典的“建造与购买”决定:当现有解决方案看上去有些动摇或缺少正确的功能组合时,会发生什么? 自己做。
另一方面,云提供商的CaaS (容器即服务)产品可能更准确地描述为Kubernetes即服务解决方案。 Amazon Web Services,Google Cloud Platform和Microsoft Azure均提供自己的CaaS风格。 但是,正如特约编辑Isaac Sacolick在“ PaaS,CaaS或FaaS中观察到的那样? 如何选择 ,” CaaS不是您唯一的容器管理选项。 取而代之的是,您可以选择PaaS(平台即服务) ,它通常以可配置性为代价,以便更快,更轻松地进行开发和部署。 FaaS(功能即服务)产品(也称为无服务器计算平台)提供了更高的抽象水平,使开发人员能够从小的离散功能中快速组装服务。 是的,FaaS解决方案在后台运行容器,但是开发人员甚至看不到它们,更不用说管理它们了。
这类容器解决方案的最终用户收益又如何呢? 基本上,可以以更快的速度更新和改进的更好的软件。 如“ 桌面上的容器? 您敢打赌–在Windows 10X上 ,” Microsoft推出了一种新型容器,可确保旧应用程序在用于双屏设备的创新Windows 10X操作系统上正常运行。 特定的容器改进可以帮助Microsoft摆脱多年来一直限制Windows进步的向后兼容问题。
最终,容器就是那些备受关注的IT优势,即敏捷性。 它们可以轻松移动,并插入一个全景平台。 它们消除了不必要的依赖性。 它们可以重复使用并重新组合到不同的应用程序中。 作为微服务基础架构的灵活推动者,容器可帮助维持分散的小型团队,每个团队负责各自的微服务-健康的分工,可更快地产生更好的软件。
在纯技术层面上,例如Edison螺丝,容器是一个适度的进步,但对您尚未开发的应用程序以及您将要使用很多年的应用程序都具有重大意义。
From: https://www.infoworld.com/article/3531449/containers-march-into-the-mainstream.html