容器允许开发人员比虚拟机更快 更高效地工作

科技2020-03-23 14:39:43
导读如果您已经听说过网络虚拟化,从裸机中提取网络并使用虚拟资源配置它们的做法,您可能已经听说过容器。如果你已经阅读了足够的信息来弄清

如果您已经听说过网络虚拟化,从裸机中提取网络并使用虚拟资源配置它们的做法,您可能已经听说过容器。如果你已经阅读了足够的信息来弄清楚IT容器与运输容器的区别,那么你就会对它们的结构和构成有所了解。

容器是虚拟化资源,它与其他容器共享克隆操作系统的内核。设置比一般的虚拟机需要更少的工作量,并且还具有一些其他关键优势。包括Docker和Kubernetes容器在内的系统允许公司以新的和令人兴奋的方式进行构建和扩展。

容器为何如此受欢迎,它们如何为提高效率和增强运营做出贡献?以下是一些集装箱化先驱的一些想法,他们将这一理念付诸于他们的公司和组织。

封装,微服务和工件

您经常从热衷于使用容器设置的工程师那里得到的一个话题是,容器本身能够容纳一个包含所有依赖关系的完整代码库,一个可以部署的依赖关系。

使用称为容器映像的静态文件,工程师可以将系统库和其他资源与全部或部分应用程序相结合。这反过来又推动了微服务的创建和交付,其中不同的容器托管不同的功能,这些功能可以组合在一起以创建敏捷的生态系统。

“我们相信容器,或者更确切地说,容器形象,是新的软件交付工具,”NebulaWorks的首席执行官Chris Ciborowski说道,他从21世纪初就开始使用容器。“我的意思是什么,为什么?传递工件是可以部署的开发人员应用程序的可执行版本。在过去,这只包括可执行代码本身,它将运行时依赖性解析为操作。通过利用容器映像,开发人员可以包含所有依赖项,从而大大降低因应用程序部署期间的人为错误而导致运行时失败的可能性。“

SpiceWorks高级技术分析师Peter Tsai表示,“容器允许组织轻松迁移应用程序及其在机器之间的依赖关系,这对于进行内部软件开发的组织来说非常有意义”,并指出容器仍然存在一项相对较新的技术。“容器的第三方解决方案不像虚拟化环境那样强大。根据Spiceworks的数据,2018年只有19%的组织使用集装箱,尽管预计到2020年该数量将增长到35%。“

Heptio营销副总裁Scott Buchanan以有用的物流类比的形式解释了这一点。

“想想搬家,”布坎南说。“你需要很多纸箱。因此,您在家中部署了一大堆,然后用填充的所有内容填充它们:应用程序。它们保持打开状态,而不是将它们关闭并失去对你的财产的访问权限,这样你就可以根据需要在盒子之间重新组织你的东西。而且,当你需要移动这些盒子时,它比把你的房子放在轮子上简单得多。这些纸板箱是容器,它们为您提供便携式,可以在不同地点之间移动您的物品,包括公共云和私有云。“

DevOps哲学

容器也在帮助公司追求一种名为“DevOps”的东西,这种东西在企业技术中是一种圣杯。这是因为您正在桥接开发和运营部门,帮助团队更好地协作,并且增强了管道并创建了更灵活的发布系统。(想要了解有关DevOps的更多信息?请查看DevOps经理解释他们做了什么。)

“不仅Devs获益 - 运营也是如此,”Ciborowski解释说,描述了一些DevOps功能。“由于容器的图像是便携式的,运营团队可以运行具有兼容的容器运行在任何主机上的集装箱图像-像泊坞窗-和应用的增长,杠杆编排工具,如Kubernetes为几乎任何应用程序堆栈在任何基础设施的类型,因为,例如,内部部署和云。“

StackRox的首席执行官Ali Golshan进一步解释了容器设计中固有的一些DevOps理念,描述了容器化如何有助于增强管道。

“容器化使组织能够更快地发布应用程序并为客户引入新功能,”Golshan说。“因为容器将代码隔离成较小的单元,开发人员可以更独立地工作以改进功能。容器技术还减少了测试负担,从而加快了软件的引入,因为开发人员可以只测试新代码,确信他们没有“破坏”应用程序的另一部分。“

ConDati的Dan Bartow描述了Kubernetes集装箱化如何帮助他的公司发展。

“在Kubernetes之前,我们不得不手动进入每个环境,并通过拉动新容器,停止旧容器,启动新容器并手动为每个客户重复进行升级,”Bartow说。“Kubernetes在发布日将工作时间缩短到几分钟。只需点击几下,我们就可以对任何或所有环境中的每个容器进行滚动重启升级。这无缝地发生。“

当这些类型的操作帮助开发人员与运营团队更紧密地合作,并打破部门之间的障碍时,他们可以实现更好的DevOps模型,使公司在其行业中更具竞争力。

安全

除了容器在功能方面所承诺的一切外,它们还具有一些重要的安全优势。关于集装箱部署中“薄的攻击面”如何降低风险,Golshan有很多话要说。

“容器的攻击面既简化又复杂,”Golshan说。“一方面,代码的每个”块“都较小,减少了攻击面。此外,容器附带了大量关于如何配置,标记和使用它们的声明性信息,这可以提高安全性。“

而且,他补充说,并非全部。

“另一方面,容器以两种方式引入新的攻击面。短暂性是一个因素。因为容器经常出入,所以可以采取严厉的安全措施,例如在容器“行为不当”的情况下杀死容器。但这种短暂性也意味着攻击者可以更轻松地掩盖他们的踪迹,并通过发动攻击,拉动数据,然后在完成后杀死容器来阻止取证。更广泛的攻击面的第二个元素来自生态系统的其他元素 - 最着名的是协调者。Orchestrators为组织提供了扩展容器的创建,部署和管理的方法,但业界已经看到多种攻击和漏洞与协调者联系在一起。特斯拉看到其Kubernetes基础设施遭到破坏,允许攻击者挖掘加密货币,并且一份报告详述了攻击者如何破坏Shopify的Kubernetes集群。

在Bartow的案例中,实际的第三方安全审计证实,较小的容器攻击面是ConDati的一个优势。

“我们刚刚完成了第三方渗透测试 ......我们已经完成了第一次测试,他们逐字告诉我们,我们有'小型攻击面',”巴托说。“Kubernetes是其中很重要的原因。”

所有这些都表明明天的商业IT世界中容器的巨大潜力。想想这些基本优势可以应用于任何尖端商业模式的所有方式。

免责声明:本文由用户上传,如有侵权请联系删除!