采用容器技术的关键策略

日期:2015-10-21作者:Chris Riley

【TechTarget中国原创】本文中,我将研讨利用强有力的策略和工具,如何帮助你确保容器技术采用的可持续和在开发组织中的延伸——而不是分裂成不同的部分。我会指出其中的功能差异,及处理的方式。此外,我还会建议把容器应用到测试与开发环境(test/dev)以外以及进入应用发布流程的方式。
在对开发伙伴进行了30次访谈之后,我意识到很显然有一些大的拦路石需要搬走才能让容器技术步入正轨。这30人里面,只有4人提过有可能是产品级的用例,剩下的只是在test/dev环境下玩玩而已。在被问到为什么不做生产中使用容器时,典型的回答往往不是技术本身,而是与它如何稳定地融入到范围更广的交付链当中有关。
在没有明确战略的情况下采用容器技术会引起应用质量的下降以及治理风险的增高。产品质量下降是因为非法容器引入的隐藏变量最终会以bug或中断的形式浮出水面。治理也受到威胁,因为对容器缺乏清晰的监视,你不知道哪些遵循了策略,哪些没有遵循。还有变更管理的问题,对于任何开发团队来说这都是一个可怕的词,在专家离开团队之后会成为一个问题。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

技术手册>更多

  • 智能BPM与业务流程工具

    Gartner认为iBPM要比运营型智能平台更优秀,表现在以下几个方面:iBPM套件提供更好的工作流,适配性案例管理以及结构化流程协调能力。

  • 云BPM新常态解析

    云端业务流程管理已经不再是什么新鲜事,更不再是什么可怕的方法来管理重要的业务流程。现在,它已经普遍被认为是一种新常态。组织已经从这一技术中获益,使它来更有效地访问和管理企业信息。

  • 企业IT集成指南

    随着云技术的不断采用,现代企业都面临着重大的集成问题。现在已经不再是把企业内部的数据和应用简单地缝合在一起,企业IT现在面临着整合着外部与内部信息的难题。

  • API开发与管理大作战

    2014将会是API管理方法新旧PK的一年,据Delyn Simons说,她领导了Mashery开发者的外展团队。应用编程接口(API)的主流化和私有化在新的一年也将掀起波澜,她在波士顿“Future Insights Ultimate Developer Event 2013”大会上预测说。

【TechTarget中国原创】

本文中,我将研讨利用强有力的策略和工具,如何帮助你确保容器技术采用的可持续和在开发组织中的延伸——而不是分裂成不同的部分。我会指出其中的功能差异,及处理的方式。此外,我还会建议把容器应用到测试与开发环境(test/dev)以外以及进入应用发布流程的方式。

在对开发伙伴进行了30次访谈之后,我意识到很显然有一些大的拦路石需要搬走才能让容器技术步入正轨。这30人里面,只有4人提过有可能是产品级的用例,剩下的只是在test/dev环境下玩玩而已。在被问到为什么不做生产中使用容器时,典型的回答往往不是技术本身,而是与它如何稳定地融入到范围更广的交付链当中有关。

在没有明确战略的情况下采用容器技术会引起应用质量的下降以及治理风险的增高。产品质量下降是因为非法容器引入的隐藏变量最终会以bug或中断的形式浮出水面。治理也受到威胁,因为对容器缺乏清晰的监视,你不知道哪些遵循了策略,哪些没有遵循。还有变更管理的问题,对于任何开发团队来说这都是一个可怕的词,在专家离开团队之后会成为一个问题。

以下是目前容器技术需要帮助以便缓和风险的关键差距:

网络限制:容器网络(Docker Network )让你可以方便地在同一主机下对容器进行网络连接。加上一些其他的工作,你就可以跨主机使用叠加网络功能。然而,也就到此为止了。网络配置操作是受限的,而且到目前为止可以说这些手段都是人工的。尽管容器脚本化可以规模化,因为你必须给网络定义增加预分配实例,每次提供容器时还需要额外步骤,这容易引起错误。

库控制受限:库已经成为任何容器会话的中心议题。公共库是最有价值的,因为他贡献了大量的预置容器,节省了许多的配置时间。然而,在沙盒里使用它是有风险的。在不知道谁以及如何创建镜像的情况下,可能会存在任意数量的有意或无意的稳定性和安全性风险。对于企业来说,有必要建立和维护一个私有库,这个库的建立挑战不大,但管理是个问题。Docker为大型库的镜像管理提供了一个有限的元数据模型,确保未来实例如预期的能力受限,也没有叠加功能。

没有清晰的审计跟踪:提供容器是很简单的,但知道提供容器的时间、原因、方式以及提供方却不容易。因此,在提供之后,你并不掌握多少出于审计目的的历史。

运行实例的低可见性:如果没有经过深思熟虑的行动,实例提供后很难接触到运行容器的对象,也很难知道哪些应该出现在那里,哪些不应该出现在那里。这个就是我所谓的容器蔓生问题—这个问题严重起来会导致:

这些挑战并非不可克服的。同时,尽管Docker并未将其列入开发路线图,该公司现在还在积极地处理着。比方说,在DockerCon15发布的Notary可以让组织设置策略,策略可以针对所有新的容器进行检查。而第三方市场甚至还有更强的产品。

以下是应对这些挑战的关键办法:

最大的抑制因素也许是新的工具和功能来得太快。组织往往会按下暂停键等等看有一个关键功能能够一揽子解决。或者进一步限制容器的使用,直到能确保更新不会导致大规模的中断。

总有一天我们会把应用比作容器而不是代码,要为这一天做好准备。同时,什么地方围绕着基础设施的考虑最小,要找到这个点,并且应该在应用生命周期的早期去考虑。未来几年容器技术的面目将会焕然一新,也因此会改变应用的本质。