“容器技术将一个应用程序及环境依赖(如库、配置文件)封装在一个轻便的容器镜像文件中。” Gartner首席研究分析师Anna Belak说。“容器技术将应用程序及其依赖关系从底层基础架构中分离出来。因此,不同的操作系统发行版之间的差异导致的可能导致的异常问题被最大化的避免和消除,从而使软件在从一个计算环境移动到另一个计算环境时确保其环境一致性并可靠高效的部署和运行。”
因此,容器化的应用能够相对容易地实现将其工作负载从企业私有云环境迁移到公有云或在不同的云提供商环境中。
此外,容器的轻量级配置及其快速启动能力使其能够加速传统的持续集成和交付(CI/CD)效率,并借助容器的标准化能力实现CI/CD的全流程自动化,从而实现软件的快速开发和发布。
Gartner认为:
企业要实现向容器化的转型,至少需要完成四个步骤
第1步:调整IT部门的组织文化,并快速填补不同团队间的技能差距
“企业应用容器化涉及的不仅仅是开发部门,而是多团队的协作。” Belak解释说。“由于向容器化项目迁移的过程往往比较耗时且需要投入大量人力,所有团队的协作支持至关重要,例如安全部门,基础设施和应用运维,网络管理和开发部门等之间的互相配合。”
对于企业来说,容器作为一项新技术的认知、推广也需要大量工作,因此必须促进各团队之间的积极协作,尤其是应用程序开发、基础架构和运维的团队。“我们认识到具有DevOps意识的组织能够更好地适应容器化的挑战,因为容器提供的技术框架与DevOps方法论是一致的,”Belak说。虽然,在企业实际生产环境中,企业往往会采购具备企业级支持的商业容器云产品,但这与您直接使用社区开源软件一样,您的团队都需要采用新的运营模式(DevOps)。
另外,在IT部门决定实施容器化战略前,适当的培训是很有必要的,这能够确保在管理这些新的和复杂的容器解决方案时,团队成员都能够快速掌握,并保持长期一致性。
第2步:提高您的基础设施自动化能力
由于容器生命周期的高度短暂性,手动管理容器是不现实的;因此,部署容器应用,往往都是通过CLI(命令行)或API(应用程序编程接口)进行的,以实现应用的自动化部署和管理。虽然目前市面上有很多容器云产品已经提供了相关的可见性的仪表板,但实际上,大多数的容器部署和操作任务仍必须通过CLI或API执行。Belak说: “通过仪表板提供可见性的容器管理工具非常重要,但同时他们需要通过CLI或API以实现更加专业的部署交互,而不仅仅是单纯的图形用户界面(GUI)” 。
第3步:明确实施容器化战略的主要和次要目标
容器本身仅是一项技术,要成功从应用容器化的过程中实现企业商业业务的价值,企业必须设定切合实际的目标,包括主要和次要目标,避免将任何项目都集中在低影响力的计划上。
“主要目标是您希望通过容器化实现的直接结。”Belak说。它们具有很强的影响力,如:
解决现有业务的主要痛点
创造可量化的成本节约机会
使团队能够切实改善向内部或外部的客户所交付的产品和服务质量
通常的低影响目标指的是如何节省底层基础设施的许可费用和资源消耗(如节省虚拟化消耗以降低“虚拟化税”的额外成本消耗)。虽然,容器技术可以在某些情况下实现这种节省,但以这种目标去做容器化的投资是不值得的。
如果是为了提高业务敏捷性、运营效率和客户满意度,而为此做出的应用程序重构计划则具有较大投入意义,由此,容器化随之带来的诸如“降低基础架构成本”这种额外的积极影响则是积极的。
第4步:选择适合的应用程序
最后一步包括仔细选择哪些应用程序更加适合进行重构和容器化。确定后,先从简单的项目开始,培养您的团队成员技能,为他们提供新的知识和工具,使开发和运维人员逐步认识到未来项目中的潜在挑战,这将为团队后续更加精准的选择合适的应用程序进行重构和容器化提供了必要的知识与技能储备,从而加速后续的业务重构与容器化进程。