容器走进生产环境,哪些相关技术值得关注?解读 Gartner 容器技术成熟度曲线

文章导览

  • 本文详细解读 Gartner 容器技术成熟度曲线(2023)中评估的 9 项重要技术,包括云原生架构、Kubernetes、容器管理、容器原生存储、KubeVirt、云原生基础设施等。干货满满,建议收藏!
  • 文末附赠容器管理与 Kubernetes 持久化存储技术评估与产品选型电子书,欢迎下载阅读!

随着越来越多的企业用户开展 IT 基础设施现代化转型,容器技术正逐渐从“实验室”走向生产环境。根据 Gartner 的预测*,到 2027 年,全球超过 90% 的企业用户将在生产环境中运行容器化应用,25% 的企业应用将在容器上运行。

现阶段,有哪些容器相关技术已达到成熟,可以在生产环境中部署使用?又有哪些新兴容器技术正在加速发展,值得用户关注?本文,我们将重点解读 Gartner 容器技术成熟度曲线(2023)中评估的 9 项重要技术,包括云原生架构、Kubernetes、容器管理、Kubernetes 网络、容器原生存储、容器-虚拟机融合、Kubernetes 多集群管理、KubeVirt 和云原生基础设施,帮助用户了解这些技术的发展情况、市场现状与实践建议。

Gartner 技术成熟度曲线报告旨在分析不同技术领域中最受关注的技术与创新,定义技术所处的生命周期、企业价值、采纳水平与未来增长速度。欲深入了解 Gartner 技术成熟度曲线,可阅读往期分享详细了解。

容器走进生产环境,哪些相关技术值得关注?解读 Gartner 容器技术成熟度曲线_第1张图片

标蓝技术为本文重点解读技术

图片来源:Hype Cycle for Container Technology, 2023

云原生架构

技术早期成熟(Early Mainstream),预计 2-5 年达到市场成熟,覆盖 20%-50% 目标用户群体

云原生架构是一组应用程序架构原则和设计模式,能够让应用程序充分利用云计算提供的敏捷性、弹性扩展能力、可恢复性、灵活性等优势,同时具备延迟感知、仪表化、故障感知、事件驱动、安全性、并行处理、自动化和资源消耗感知(LIFESPAR)等能力。正因如此,许多企业在进行应用现代化转型与 IT 基础设施云化转型时都会采用云原生架构,尤其是使用云、容器和无服务器基础设施的用户,云原生是一项必须遵从的原则,能够确保应用程序能够在动态环境下良好运行、高效利用资源,并优雅地处理故障。

除了充分发挥云平台的优势,云原生架构对 DevOps 非常友好,开发人员能更高效地利用云的自服务与自动化能力,实现新产品的持续交付(CI/CD)。作为一种现代化原则,云原生架构还能提升系统性能与业务连续性,并通过提高资源利用率降低成本。

不过,一些既有应用若想实现云原生转型,需要进行较大的改动,同时云原生架构也要求企业架构工程师与开发人员投入一定的学习成本来掌握新技术与模式。

用户建议

  • 在构建云原生应用程序时应遵循 LIFESPAR 架构原则和 twelve-factor-app 规则(见参考文章),确保应用程序满足基本的 DevOps 实践要求。
  • 对于新上线的应用程序,无论是否部署在云端,都基于云原生架构的基本原则进行设计,保证能够安全地在云平台运行。
  • 对传统应用程序进行现代化改造时,应采用云原生架构原则,保证其对动态变化基础设施的适应能力。
  • 根据您云原生架构的成熟度与侧重点选择合适的应用程序平台。例如,低代码构建的平台可支持云化应用程序的快速开发,但不完全符合 LIFESPAR 和 twelve-factor 原则;容器平台需要云原生友好的架构;无服务器平台则要求严格遵循 LIFESPAR 原则。

Kubernetes

技术早期成熟(Early Mainstream),预计 2 年内达到市场成熟,覆盖 20%-50% 目标用户群体

Kubernetes 是一个开源的容器化工作负载编排和调度工具,由云原生计算基金会(CNCF)进行管理。作为目前容器编排与调度的既定标准,很多主流的容器管理供应商都提供基于 Kubernetes 的产品(90+ 经 CNCF 认证),很多开源与云原生技术生态也围绕 Kubernetes 构建,这也是这项技术重要的原因。

得益于 Kubernetes 敏捷与数字创新能力,企业用户可以基于 Kubernetes 部署云原生或现代化应用, 从而更快地应对变化、提升用户与员工体验,同时避免厂商锁定风险。具体而言,Kubernetes 可以帮助企业更好地管理多种基础设施与服务器上的多个容器,具备多样的技术生态(如基于容器的网络与存储、DevOps 工具链、可视化工具、安全工具等)以及由 CNCF 认证的产品、服务供应商与工程师。同时,由于主流云基础设施与平台服务商均提供基于 Kubernetes 的容器服务,用户也可基于不同平台与混合环境部署 Kubernetes,并利用多集群管理工具进行管理。同时,Kubernetes 对 AI/ML、无服务器服务、边缘场景等新型用例的支持能力也越来越好。

不过同样地,Kubernetes 要求用户具备相关的知识与实践经验,从开发者的角度看,Kubernetes 提供的功能较为原始和基础,工具本身并不能直接用作云原生平台。Kubernetes 的安全管理依旧比较复杂,用户不仅需要确保容器运行时的安全,也需要保护容器镜像与 CI/CD 流水线的安全。

用户建议

  • 基于 Kubernetes 开发新的云原生应用,并对传统应用进行现代化改造,充分利用 Kubernetes 开放的生态系统和新的创新技术。
  • 确保基于 Kubernetes 构建的平台可以在混合环境或多云环境中实现统一管理,从而高效满足不同应用团队的不同需求。
  • 通过增加在“自服务”能力上的投入,鼓励开发人员采用 Kubernetes 技术。
  • 确定企业是否需要招募与发展 Kubernetes 专业人员。评估基础架构与运维团队在 Kubernetes 运维管理上的现有能力与技术差距。

推荐阅读:接管 K8s 部署运维,基础架构团队是否做好准备?| SmartX 趋势分享

容器管理

技术早期成熟(Early Mainstream),预计 2-5 年达到市场成熟,覆盖 20%-50% 目标用户群体

根据 Gartner 的定义,容器管理是能够支持容器化工作负载的解决方案,交付方式包括云端、托管服务以及运行在本地、公共云和/或边缘的容器软件。相关技术包括编排和调度、服务发现和注册、镜像注册表、路由和网络、服务目录、管理用户界面以及 API。

容器管理工具能够使得大规模容器镜像的配置、运维和生命周期管理以自动化的方式进行,并通过集中式的管理和安全策略来管理容器实例和相关资源。因此,容器管理可为现代应用需求,包括平台工程、云管理以及 CI/CD 流程,提供高敏捷性、弹性和创新支持。

根据 Gartner 的业内调查,由于越来越多的开发团队大规模部署容器进行应用开发,容器管理的需求也水涨船高。另外,对于需要近距离获取算力和数据的边缘应用(如数据通信服务、制造工厂等),以及 AI/ML 等需要灵活扩展能力的应用,基于容器环境进行部署的用例越来越多,也增加了容器管理的使用需求。

目前,容器管理市场正蓬勃发展,很多厂商的服务可提供混合环境或多云环境的支持能力。不过由于市场的多样化,用户需要甄别不同产品与服务,可能需要避免一些过于抽象的、无服务器的产品与服务。

用户建议

  • 判断企业是否需要采用容器管理软件,评估方面包括企业预计的软件开发速度与不可变基础设施建设目标、混合云需求,以及运营第三方容器管理软件所需的工作量。
  • 利用集成在云基础设施即服务(IaaS)和平台即服务(PaaS)提供商服务中的容器管理功能,来尝试、适应容器环境的工作流程变化。
  • 除非企业内部具备足够的专业人员与技术支持,否则应避免直接使用底层开源容器平台(如 Kubernetes)。

推荐阅读:选型 K8s 管理平台需关注哪些核心能力?ChatGPT 和 Gartner 分别这样说

Kubernetes 网络

技术早期成熟(Early Mainstream),预计 2-5 年达到市场成熟,覆盖 5%-20% 目标用户群体

Kubernetes 网络软件主要解决三个需求:容器之间的通信、外部实体与服务间的通信(通常称为南北向流量)以及 Pod 到服务间的通信(通常称为东西向流量)。容器网络接口(CNI)插件负责容器间的网络通信和 Pod 到服务间的通信;Ingress 控制器/网关 API 处理南北向流量;而服务网格主要提供强化的东西向流量控制和安全能力。

Kubernetes 自身提供的网络能力,难以满足企业大规模部署的生产级工作负载需求,这就需要 CNI 和 Ingress 控制器提供安全、可扩展、支持大规模管理的网络能力。一些 CNI 软件还支持设置网络策略,可高效地为整个 Kubernetes 集群提供分布式防火墙与多租户支持。

对于部署在本地的 Kubernetes 集群,采用第三方 CNI 与 Ingress 控制产品是非常有必要的,不过一些商业平台也会提供默认的 CNI 插件。另外值得注意的是,一些厂商难以随 Kubernetes 版本更新而同步进行产品升级,同时使用 Kubernetes 网络产品可能会导致 Pod 不再拥有固定的 IP 地址,打乱已有的网络安全流程。

用户建议

  • 判断企业是否需要网络策略或容器间的加密网络能力,如果需要,建议采用一款先进的 CNI 产品。
  • 考虑 Kubernetes 网络时,应避免独立地做出决策,在采购、设计和部署容器网络解决方案时,应确保网络、云和开发团队均参与到项目中。
  • 避免在 Kubernetes 环境中手动进行网络配置,应采用自动化或自服务方式配置网络资源。
  • 在部署过程中,优先考虑将已部署的网络虚拟化或数据中心网络方案扩展到 Kubernetes 环境。
  • 优先选择扩展现有负载均衡或 API 网关供应商的入口控制器。将即插即用的 Kubernetes 网络集成需求纳入网络 RFP。

容器原生存储

技术成长期(Adolescent),预计 2-5 年达到市场成熟,覆盖 5%-20% 目标用户群体

根据 Gartner 给出的定义,容器原生存储(CNS)专为支持容器业务而设计,侧重于满足独特的云原生架构、存储颗粒度和性能方面的需求,并提供与容器管理系统的深度整合。CNS 符合微服务架构原则并遵循容器原生数据服务的要求,即不受硬件限制、API 导向性和基于分布式软件架构。

容器原生存储专为云原生应用提供持久化存储能力,通常基于分布式的、软件定义的、统一的存储资源池,提供容器级别的数据服务与数据管理功能。同时,容器原生存储的整个堆栈能够与 Kubernetes 进行编排,以管理容器生命周期整合,并为开发人员提供自服务能力。

容器原生存储不仅可以支持有状态的云原生应用程序,还能增强基础架构的灵活性和可用性。对 Kubernetes 等容器编排技术的广泛采用,也使得容器原生存储的需求大幅增长,用户需要可以与 Kubernetes 深度整合的存储方案来支持有状态应用。

然而, 并非所有企业都会采用 CNS 解决方案,因为它主要适用于全新部署的云原生应用程序,或需要进行重构的应用程序;且对于传统企业来说,容器原生解决方案可能会在短期内增加操作复杂性。另外,容器原生存储方案也存在技术孤岛的风险,一些用户不敢在现阶段大规模采用。

用户建议

  • 选择符合微服务架构原则并遵守容器原生数据服务要求的存储解决方案,例如不受硬件限制、API 驱动、基于分布式架构,并能够支持边缘云、核心云或公有云部署。
  • 存储解决方案应与企业云战略保持一致,确保 CNS 在所选择的公有云和混合云场景中的适用性。
  • 检验供应商在持续创新交付、高质量客户支持方面的能力,并确认供应商能提供一致的定价模式。
  • 确保 CNS 解决方案已通过测试并适用于特定的 Kubernetes 平台。

推荐阅读:

  • 一文看懂 K8s 持久化存储、云原生存储、容器原生存储、K8s 原生存储有何区别
  • 干货分享|K8s 持久化存储怎么做?这本电子书带你从入门到选型

容器-虚拟机融合

技术萌芽期(Emerging),预计 5-10 年达到市场成熟,覆盖 5%-20% 目标用户群体

容器与虚拟机(Container-VM)融合指的是虚拟化技术中的 hypervisor 和基于操作系统(OS)的虚拟化技术的融合。通过整合和优化容器和虚拟机的最佳特性,容器-虚拟机融合提供了更好的工作负载隔离和更高的基础设施利用率。底层技术包括与容器运行时集成的经过优化的 hypervisor。

容器满足了现代基础设施的敏捷需求,而虚拟机是数据中心基础设施的基本要素,因此容器-虚拟机融合将带来“两全其美”的效果,为未来基础设施建设提供了新的选择。具体而言,容器-虚拟机融合使得用户可以在增强基础设施敏捷能力的同时提供安全保障。同时,对虚拟化环境的利用可降低未来 IT 基础设施转型压力与成本投入,并帮助传统应用快速实现现代化转型。

不过,容器-虚拟机融合技术在目前的企业环境中并没有被广泛认可和使用,对于一些对安全和合规性要求严格的企业,容器-虚拟机融合会带来潜在的合规风险。而且已有的容器-虚拟机融合方案,大部分基于 Linux 系统,会带来一定的限制。

用户建议

  • 建议企业为容器-虚拟机融合做好计划和准备,该技术可为企业提供可满足开发人员需求的现代化、云化基础设施,同时保证生产环境的安全和运维管理。
  • 企业需要就虚拟化基础设施在数据中心、分布式云、公有云和边缘的作用达成共识,并认识到不少场景依旧可能需要使用各种虚拟化技术。
  • 以渐进的方式实现容器-虚拟机融合,在支持未来的需求下,确保转型不会妨碍或复杂化现有的服务级别的需求。

Kubernetes 多集群管理(Cluster Fleet Management)

技术萌芽期(Emerging),预计 2-5 年达到市场成熟,覆盖 5%-20% 目标用户群体

Kubernetes 多集群管理(Cluster Fleet Management)是一组新兴的工具和流程,用于管理多个Kubernetes 集群的生命周期和状态。Kubernetes 多集群管理的关键能力包括部署和升级编排软件,以及在集群之间分发容器化应用和操作策略。这些解决方案可以支持单一和/或不同的 Kubernetes 发行版。

随着 Kubernetes 使用场景的增长,基础设施和运营团队渐渐发现,他们需要同时部署和管理位于不同区域(包括本地、云端和跨区域)的多个 Kubernetes 集群,甚至是对基于不同 Kubernetes 发行版的多个集群进行统一管理。Kubernetes 多集群管理工具可以更好地帮助用户进行 Kubernetes 集群管理,尤其是针对混合环境、多租户环境、灾备场景和边缘场景,这些工具可以减轻运维和管理的负担。

目前一些公有云厂商会针对每个 Kubernetes 集群管理平面收取单独的费用,并不利于多集群的管理;而使用商用 Kubernetes 多集群管理工具,可能会引入厂商锁定的问题。另外,统一管理不同的 Kubernetes 发行版也比较复杂,这些都为 Kubernetes 多集群管理带来障碍。

用户建议

  • 选择一个管理平台来控制多个 Kubernetes 集群的生命周期和运行,实现多个集群间自动化分发 Kubernetes 资源定义、策略与身份。
  • 确定是基于单一发行版部署 Kubernetes 集群,还是采用平台工程方式,基于不同的 Kubernetes 发行版进行部署,并规范操作和应用部署工作流程。
  • 尽可能地自动化集群生命周期管理,采用不可变方法定义抽象的集群类,以便按需启动特定的集群实例。避免使用专用集群,目标是在需求出现时能够在任何集群上部署应用程序。

KubeVirt

技术孵化期(Embryonic),预计 5-10 年达到市场成熟,覆盖目标用户群体少于 1%

KubeVirt 是一个开源项目,允许企业在 Kubernetes 集群内创建和操作虚拟机,让虚拟化和容器化应用程序能够在同一个 Kubernetes 集群中并行运行。

企业的开发与运维团队可以使用容器的管理 API 以同样的方式管理虚拟机,通过虚拟化与容器环境的融合,既能满足现代化应用的开发需求,也可保留虚拟化环境,逐渐向现代化基础设施过渡。此外,对于需要在裸金属架构上部署 Kubernetes 的边缘场景,以及对于寻求 VMware 虚拟化替代方案的用户,KubeVirt 也提供了一种基础架构部署思路。

不过,作为一项新兴技术,KubeVirt 在 2023 年夏天刚发布 1.0 版本,仍缺少一些企业生产环境的实践验证。另外,运维管理工具的缺失也为采用 KubeVirt 技术带来了一些障碍。

用户建议

  • 基于机会成本评估 KubeVirt 的使用价值。在资源有限的情况下,企业应评估传统基础设施现代化转型 vs. 新建现代化基础设施的投资收益。
  • 对于难以基于容器部署,但是可以通过 Kubernetes 云原生编排提高效益的工作负载,利用 KubeVirt 提供支持是个不错的选择。
  • 与提供 KubeVirt 解决方案的供应商沟通,了解他们在该技术方面的发展计划和路线图,以及相关客户成功案例。
  • 确保您的战略技术合作伙伴支持 KubeVirt。这包括独立软件供应商(ISV)对生产环境中运行的虚拟工作负载的认证和支持,以及支持 KubeVirt 工作负载的硬件和操作系统的兼容性和认证。

推荐阅读:利用 IOMesh 为 KubeVirt 提供高效稳定的存储支持(附用户实践)
 

云原生基础设施

技术成长期(Adolescent),预计 2-5 年达到市场成熟,覆盖 1%-5% 目标用户群体

云原生基础设施是一种专为开发和/或交付基于云原生架构的应用程序而优化的基础设施,具有可编程、弹性、不可变、模块化、声明式管理等特性,支持自服务。虽然云原生基础设施有很多实现方式,但在实践中,大规模的云原生基础设施通常基于容器和 Kubernetes 部署。

相比传统 IT 基础设施,云原生基础设施具备更现代化的服务能力,包括服务发现、可编程、自动化、可观测性、强大的网络通信和安全性等,能更好地满足现代化应用对运行速度、敏捷性、可扩展性的要求。同时,云原生基础设施可以将云计算的成本优势扩展到本地部署的基础设施,包括本地计算和存储的按需交付(CBMs),以及在本地运行的公有云 Kubernetes 服务。此外,云原生基础设施可以进一步实现应用与底层基础设施的解耦,避免厂商锁定的情况。

不过,云原生基础设施还在发展阶段,主流企业也处于早期技术采纳阶段,在企业管理(如 DevOps 实践)、运维工具、平台工程与 DevOps 技术能力等方面,仍需企业进行投入、增强实力。

用户建议

  • 全面规划和实施云原生基础设施,并优先考虑新的运营和采购模型,来支持云原生架构和技术。
  • 根据开发人员的反馈,持续提升基础设施云原生能力,并建设拥有专业技能的平台工程团队。
  • 实现云原生基础设施的自动化运维,最大限度地为上层应用提供敏捷能力。
  • 评估新兴的云原生基础设施解决方案(包括无服务器计算和裸金属环境),量化潜在的成本、性能和生产力优势。

为了充分满足用户对容器技术的使用需求,SmartX 也为用户提供了容器管理、网络与存储产品,包括生产级容器管理与服务产品 SMTX Kubernetes 服务(简称 SKS)、软件定义的网络与安全产品组件 Everoute,和国内首款 Kubernetes 原生持久化存储 IOMesh。三种产品均可为 Kubernetes 环境提供原生支持,同时具备 Gartner Hype Cycle 中提到的新兴技术优势:

容器走进生产环境,哪些相关技术值得关注?解读 Gartner 容器技术成熟度曲线_第2张图片

针对 Kubernetes 运维管理与持久化存储,我们还结合权威机构分析报告与技术解读文章,整理了两本电子书《IT 基础架构团队的 Kubernetes 管理:从入门到评估》和《Kubernetes 持久化存储方案选择:从入门到评估》,欢迎读者下载阅读!

阅读原文:《一文解读 Gartner 容器技术成熟度曲线中的 9 项重点技术 》

你可能感兴趣的:(云计算,容器)