容器在企业IT规划中迅速扮演重要角色是有原因的:它们能帮助企业获得快速发展。对于数字化业务来说,速度就是金钱。同行们如何使用容器?自己公司的最佳采用方式是什么?应该躲开哪些减速带?

在数字化转型的今天,搞清楚为什么企业渴望速度是有必要的。当对手使用技术做出意想不到的举动,或者做出大型的收购时,你必须做出反应。 例如,亚马逊最近收购Whole Foods就要求超市领域的竞争对手快速采取行动。为了实现这种业务速度,IT负责人希望翻转80/20范式,即IT传统上将其80%的预算用于维护,20%用于创新。CIO在寻求分配更多的预算来帮助业务更加灵活和敏捷。

 

容器、DevOps和微服务的配合可以帮助CIO实现敏捷的目标。简而言之,容器把应用集中在一个整洁的包里,与它们运行的主机系统隔离。开发人员可以在试验过程中轻松移动它们——这是DevOps的基本要求。从开发到生产环境的快速转变中,容器也被证明是有用的。

 

当然,技术本身并不能解决问题。在开始在多个跨职能的DevOps小组工作重新思考边界和流程时,CIO还必须管理所面临的文化挑战。

但CIO可以从同行们的文化和技术方面学到很多东西。在技术方面,当与采用容器的公司一起工作时,你会看到许多相同的目标和障碍。

 

来看看公司采用容器的四种典型方式,你应该了解每种方式。

 

如何利用容器

首先,要明白没有完美的容器采用路径。你可以先在一个路径上开始使用容器,然后跳到另一个路径上去。另外,公司内部的不同群体通常以不同的方式使用容器,因此不妨了解多种模式。

 

模式1:容器平台

许多公司先开始使用容器,然后意识到需要一个平台。通常是DevOps小组努力推动变革。这个团队需要一个敏捷的技术平台,以便快速试验和部署,所以他们开始使用容器。他们说服IT领导者使用容器。关键问题是,采用什么平台部署和管理容器?虽然有大量开源的容器工具用来试验,但企业级容器平台通常包含几十个开源项目,包括Kubernetes编排、安全、网络、管理、构建自动化以及开箱即用的持续集成和部署功能。总而言之,一个平台包含管理、治理和安全问题。

注意:

确定容易实现的目标—— Web服务器和应用服务器通常是最容易部署为容器化工作负载以获得快速的胜利的。然后可以转到数据库和有状态系统。密切关注与现有构建和部署工具和流程的集成,以展示相对于现状的进步。

 

    优先容器的安全性——由于容器包含系统特定的库和依赖关系,因此更容易受到新发现的安全漏洞的影响。可信的注册表、镜像扫描和管理工具可以帮助自动识别和修补容器镜像。

 

模式2:云原生应用

一些公司主要寻求用容器来容纳应用开发团队所创建的云原生应用程序,包括新工作和现有应用程序的更新。这些应用程序通常是基于微服务的。目标是将应用程序分解为其底层服务,因此团队可以独立更新应用程序。灵活的API通常也适用于这种情况。你想要可以与其他应用、系统和数据(自己的、客户和和合作伙伴的)进行互动的、使用一组安全且易于理解API的应用 。你还需要与现有系统集成。

容器与微服务和API协同工作,使开发团队更容易开发、协作和部署云原生应用程序。

注意:

考虑新的运行时——随着事件驱动、反应式和无服务器技术的出现,你过去部署的单片应用服务器无法运行下一代应用。容器平台需要支持更广泛的现有和云原生运行时和框架。

 

    不要忘记开发者工具 ——运行时正在发展,新的、基于云的开发者工具有望消除创建和管理不同工作环境的复杂性,使用自学习技术和自动化工作流程来帮助开发者更快地构建更高质量的代码

模式3:混合云

在这种常用的模式中,管理大量应用的运营团队或其他团队,已经看到了公有云的优势。其弹性、速度和性能都有很强的吸引力。但是,也许是出于历史,法规或安全原因,该团队需要在现有的内部环境中运行某些应用程序。该团队还通常会使用现有的裸机服务器或虚拟化环境,也可能是一些现有的私有云。他们也可能想要更灵活的存储选项。对于一个思考这一切的IT团队来说,云管理变得至关重要。

关键问题:如何获得抽象级,即一个在所有这些环境中都运行良好的平台,并且让运营团队无缝管理应用程序?如何让开发人员能部署到一个可以隐藏各种基础架构的地方这种便利对提高速度很重要。

注意:

对文化改变的反对——最近一个带领重要变革的银行CIO表示,除非人们改变心态和行为,否则这些都不起作用。促进文化变革的IT领导者需要来自CXO和小团队头头的支持。

 

    惯性——最简单的做法是什么都不做。一些IT领导者会说:“周围发生的变化太多了,我先等等看。”你当然可以一直在犹豫和担忧,但业务对速度的需求不会消失。

模式4:业务创新

在这种模式下,公司启动了一个小团队来解决一个具体的业务问题 ,比如用一个移动应用来改善用户体验。这给大家的感觉是,“我们一直用于工作的方式,现在不够快了。”我们需要更多现代化的做法,需要人们做出改变。公司需要团队快速创建、迭代并确保IT可以随后扩展解决方案。这些团队通常会获得新的、有用的技术和许可,以适用不同的规则。

注意:

技能的争论——期待听到这样的问题:“我们的IT团队成员有能力跟上新技术吗?我们需要一批新员工吗?我们对现有技能的投资如何?“可能新员工和交叉培训都需要。考虑让外部专家评估情况,并制定一个计划。

 

    允许快速实验和失败,把人才留住——当公司不让IT团队快速地试验和失败时,就很难吸引人才。以澳大利亚的Macquarie Bank为例,其CIO需要招聘人才来构建充满吸引力的用户体验。一个策略是:在银行工作的第一周内,每个新开发人员都直接推动一个改变。Facebook的招聘信息是“来数百万用户使用的功能上工作”。Macquarie Ban CIO通过对试验和速度的承诺吸引人才。

 

一点建议

没有两个数字化转型看起来是一样的,也没有两个DevOps旅程是一样的。正如这四种容器采用模式显示的,你不必像其他公司或对手以一样的方法使用容器。但你可以从中学习。考虑一下这些IT领导者使用容器提高速度的经验和教训:

成熟公司将比云原生公司面临更大的挑战。Netflix在建立快速行动的开发团队方面是先行者,但Netflix并没有抛弃现有的基础设施。一些CIO仍然有COBOL应用支持。比较新旧技术,做出折衷是正常的。确保CXO了解这一点,并且不要在这方面不断与Netflix进行比较。

 

    不要让规模问题阻止你前进。Facebook那么规模化的公司全世界也没有几家。你并不需要Facebook的所有资源或技能才能使业务发生重大变化。从小的团队试验开始。随着取得成功和更加适应,在技术和人才方面进行扩展。

    让IT团队知道他们并不孤单。鼓励团队中的人员与公司外的同行接触,讨论技术和文化挑战。

 

 

 

编译:Jonathan Zhang

作者Ashesh Badani  

来源:https://enterprisersproject.com/article/2017/8/4-container-adoption-patterns-what-you-need-know

投稿邮箱:openstackcn@sina.cn