本文来自微信公众号“开源云中文社区(ID:openstackcn)”。
许多组织现在正在利用容器而不是虚拟机(VM)来实施数字化转型。现代软件开发已经从更新单体应用程序转向重构或创建新的应用程序,并将模块化、松耦合的微服务作为容器运行。为了让这些容器化应用程序架构在生产中成功运行,它们通常由Kubernetes(K8s)编排。
选择在何处使用K8s运行这些容器化应用程序取决于不同的因素,并且可能会显著影响特定计划的商业价值。成本、实现价值的时间、安全性和最终用户体验都会影响解决方案的业务价值。考虑在以下每个环境中运行容器化,并了解为什么混合云平台是企业容器化的最佳选择:
——公共云
——裸金属
——混合云
公共云中的容器化
在公共云环境中运行容器化应用程序提供了一种简单的入门方法,无需对基础设施进行任何前期投资。运行应用程序的底层技术和计算能力可以按月订阅,必要时可以按需使用。无论是裸金属还是虚拟化技术,你都不用担心如何管理必须部署、管理和保护的基础设施。
公共云部署可能有风险。需求激增或订阅额外的存储或负载均衡服务很容易让账单高得出人意料。在公共云中构建的应用程序根据开发人员决定的任何方法运行。随着组织的发展,DevOps团队和开发人员将开始采用不同的方式部署同一应用程序,除非设计的流程在整个组织中更加标准化。任何人都可以访问应用程序的开源发行版,并在他们认为合适的时候开始使用它。
计划外支出和中央IT部门缺乏控制将导致IT领导者重新思考他们希望如何通过新的数字计划进入市场。“遣返”或甚至开发新的数字服务的场景如果回到内部将得到更好的服务。还将考虑裸金属替代品,因为认为容器可以更高效地运行。
裸金属容器化
运行容器的裸金属系统没有附加的虚拟机监控程序技术层。起初,这可能会被认为更有效。裸金属意味着容器化平台绑定到物理服务器主机操作系统,而不是位于裸金属基础设施之上的虚拟机监控程序操作系统。
裸金属可在内部、服务提供商或公共云中使用。它们通常运行需要超低延迟和更多分配内存的专用工作负载。K8s发行版可以是“自带的”,因为公共云原生K8s解决方案或任何可用的发行版都不一定最适合此环境中手动配置的裸金属设置。需要联网的容器化,以及裸金属环境之外的持久存储,也可能带来特定的挑战。
资本支出或运营支出要求也会影响在裸金属上进行容器化的决定。在内部投资解决方案将需要更多的规划和规模考虑,因此在生产中获得容器化的最终数字价值的速度很可能需要更长的时间。
混合云容器化平台
取代公共云或裸金属,考虑混合云平台,其具有内部组件以及根据需要访问一个或多个公共云。生产中的容器化必须扩展,以满足新的性能需求,同时不暴露停机、可用性和安全性等不必要的风险。有什么比从自己的数据中心管理所有这些更好的方法吗?
云原生容器化的发展也是一个因素。起初,容器化的应用程序被设想为无状态的,而不需要考虑持久存储的规模和成本。目标是在必要时在许多不同的环境中共享可重用代码。随着企业将其任务关键型应用程序转向容器化架构,这种需求变得不那么重要。相反,有状态的容器化应用程序必须从专用数据源访问大量数据服务。容器的可移植性使有状态应用程序在生产中访问特定数据源的关键需求退居次要地位。
通过一个可根据需要跨越私有数据中心存储和公共云的容器化平台,可以为可扩展的有状态容器化应用程序提供统一的数据。混合云容器化平台的功能包括:
——中心化IT易于管理和管理,但开发人员和DevOps团队可以轻松访问并使用API和命令行访问。
——在整个组织内访问标准化的DevOps工具和资源。
——与基础设施和虚拟化技术的现有投资集成。
——提供企业备份和灾难恢复功能。
在采用公共云或“自己动手”裸金属的方法之前,请考虑在现代超融合基础设施(HCI)上运行的混合云容器化平台——它既提供了两者的好处,也提供了其他企业级功能。
原文链接:
https://thenewstack.io/containerization-in-public-clouds-or-on-bare-metal-think-again/