文章导览
随着越来越多的企业用户开展 IT 基础设施现代化转型,容器技术正逐渐从“实验室”走向生产环境。根据 Gartner 的预测*,到 2027 年,全球超过 90% 的企业用户将在生产环境中运行容器化应用,25% 的企业应用将在容器上运行。
现阶段,有哪些容器相关技术已达到成熟,可以在生产环境中部署使用?又有哪些新兴容器技术正在加速发展,值得用户关注?本文,我们将重点解读 Gartner 容器技术成熟度曲线(2023)中评估的 9 项重要技术,包括云原生架构、Kubernetes、容器管理、Kubernetes 网络、容器原生存储、容器-虚拟机融合、Kubernetes 多集群管理、KubeVirt 和云原生基础设施,帮助用户了解这些技术的发展情况、市场现状与实践建议。
Gartner 技术成熟度曲线报告旨在分析不同技术领域中最受关注的技术与创新,定义技术所处的生命周期、企业价值、采纳水平与未来增长速度。欲深入了解 Gartner 技术成熟度曲线,可阅读往期分享详细了解。
标蓝技术为本文重点解读技术
图片来源:Hype Cycle for Container Technology, 2023
技术早期成熟(Early Mainstream),预计 2-5 年达到市场成熟,覆盖 20%-50% 目标用户群体
云原生架构是一组应用程序架构原则和设计模式,能够让应用程序充分利用云计算提供的敏捷性、弹性扩展能力、可恢复性、灵活性等优势,同时具备延迟感知、仪表化、故障感知、事件驱动、安全性、并行处理、自动化和资源消耗感知(LIFESPAR)等能力。正因如此,许多企业在进行应用现代化转型与 IT 基础设施云化转型时都会采用云原生架构,尤其是使用云、容器和无服务器基础设施的用户,云原生是一项必须遵从的原则,能够确保应用程序能够在动态环境下良好运行、高效利用资源,并优雅地处理故障。
除了充分发挥云平台的优势,云原生架构对 DevOps 非常友好,开发人员能更高效地利用云的自服务与自动化能力,实现新产品的持续交付(CI/CD)。作为一种现代化原则,云原生架构还能提升系统性能与业务连续性,并通过提高资源利用率降低成本。
不过,一些既有应用若想实现云原生转型,需要进行较大的改动,同时云原生架构也要求企业架构工程师与开发人员投入一定的学习成本来掌握新技术与模式。
技术早期成熟(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 流水线的安全。
推荐阅读:接管 K8s 部署运维,基础架构团队是否做好准备?| SmartX 趋势分享
技术早期成熟(Early Mainstream),预计 2-5 年达到市场成熟,覆盖 20%-50% 目标用户群体
根据 Gartner 的定义,容器管理是能够支持容器化工作负载的解决方案,交付方式包括云端、托管服务以及运行在本地、公共云和/或边缘的容器软件。相关技术包括编排和调度、服务发现和注册、镜像注册表、路由和网络、服务目录、管理用户界面以及 API。
容器管理工具能够使得大规模容器镜像的配置、运维和生命周期管理以自动化的方式进行,并通过集中式的管理和安全策略来管理容器实例和相关资源。因此,容器管理可为现代应用需求,包括平台工程、云管理以及 CI/CD 流程,提供高敏捷性、弹性和创新支持。
根据 Gartner 的业内调查,由于越来越多的开发团队大规模部署容器进行应用开发,容器管理的需求也水涨船高。另外,对于需要近距离获取算力和数据的边缘应用(如数据通信服务、制造工厂等),以及 AI/ML 等需要灵活扩展能力的应用,基于容器环境进行部署的用例越来越多,也增加了容器管理的使用需求。
目前,容器管理市场正蓬勃发展,很多厂商的服务可提供混合环境或多云环境的支持能力。不过由于市场的多样化,用户需要甄别不同产品与服务,可能需要避免一些过于抽象的、无服务器的产品与服务。
推荐阅读:选型 K8s 管理平台需关注哪些核心能力?ChatGPT 和 Gartner 分别这样说
技术早期成熟(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 地址,打乱已有的网络安全流程。
技术成长期(Adolescent),预计 2-5 年达到市场成熟,覆盖 5%-20% 目标用户群体
根据 Gartner 给出的定义,容器原生存储(CNS)专为支持容器业务而设计,侧重于满足独特的云原生架构、存储颗粒度和性能方面的需求,并提供与容器管理系统的深度整合。CNS 符合微服务架构原则并遵循容器原生数据服务的要求,即不受硬件限制、API 导向性和基于分布式软件架构。
容器原生存储专为云原生应用提供持久化存储能力,通常基于分布式的、软件定义的、统一的存储资源池,提供容器级别的数据服务与数据管理功能。同时,容器原生存储的整个堆栈能够与 Kubernetes 进行编排,以管理容器生命周期整合,并为开发人员提供自服务能力。
容器原生存储不仅可以支持有状态的云原生应用程序,还能增强基础架构的灵活性和可用性。对 Kubernetes 等容器编排技术的广泛采用,也使得容器原生存储的需求大幅增长,用户需要可以与 Kubernetes 深度整合的存储方案来支持有状态应用。
然而, 并非所有企业都会采用 CNS 解决方案,因为它主要适用于全新部署的云原生应用程序,或需要进行重构的应用程序;且对于传统企业来说,容器原生解决方案可能会在短期内增加操作复杂性。另外,容器原生存储方案也存在技术孤岛的风险,一些用户不敢在现阶段大规模采用。
推荐阅读:
技术萌芽期(Emerging),预计 5-10 年达到市场成熟,覆盖 5%-20% 目标用户群体
容器与虚拟机(Container-VM)融合指的是虚拟化技术中的 hypervisor 和基于操作系统(OS)的虚拟化技术的融合。通过整合和优化容器和虚拟机的最佳特性,容器-虚拟机融合提供了更好的工作负载隔离和更高的基础设施利用率。底层技术包括与容器运行时集成的经过优化的 hypervisor。
容器满足了现代基础设施的敏捷需求,而虚拟机是数据中心基础设施的基本要素,因此容器-虚拟机融合将带来“两全其美”的效果,为未来基础设施建设提供了新的选择。具体而言,容器-虚拟机融合使得用户可以在增强基础设施敏捷能力的同时提供安全保障。同时,对虚拟化环境的利用可降低未来 IT 基础设施转型压力与成本投入,并帮助传统应用快速实现现代化转型。
不过,容器-虚拟机融合技术在目前的企业环境中并没有被广泛认可和使用,对于一些对安全和合规性要求严格的企业,容器-虚拟机融合会带来潜在的合规风险。而且已有的容器-虚拟机融合方案,大部分基于 Linux 系统,会带来一定的限制。
技术萌芽期(Emerging),预计 2-5 年达到市场成熟,覆盖 5%-20% 目标用户群体
Kubernetes 多集群管理(Cluster Fleet Management)是一组新兴的工具和流程,用于管理多个Kubernetes 集群的生命周期和状态。Kubernetes 多集群管理的关键能力包括部署和升级编排软件,以及在集群之间分发容器化应用和操作策略。这些解决方案可以支持单一和/或不同的 Kubernetes 发行版。
随着 Kubernetes 使用场景的增长,基础设施和运营团队渐渐发现,他们需要同时部署和管理位于不同区域(包括本地、云端和跨区域)的多个 Kubernetes 集群,甚至是对基于不同 Kubernetes 发行版的多个集群进行统一管理。Kubernetes 多集群管理工具可以更好地帮助用户进行 Kubernetes 集群管理,尤其是针对混合环境、多租户环境、灾备场景和边缘场景,这些工具可以减轻运维和管理的负担。
目前一些公有云厂商会针对每个 Kubernetes 集群管理平面收取单独的费用,并不利于多集群的管理;而使用商用 Kubernetes 多集群管理工具,可能会引入厂商锁定的问题。另外,统一管理不同的 Kubernetes 发行版也比较复杂,这些都为 Kubernetes 多集群管理带来障碍。
技术孵化期(Embryonic),预计 5-10 年达到市场成熟,覆盖目标用户群体少于 1%
KubeVirt 是一个开源项目,允许企业在 Kubernetes 集群内创建和操作虚拟机,让虚拟化和容器化应用程序能够在同一个 Kubernetes 集群中并行运行。
企业的开发与运维团队可以使用容器的管理 API 以同样的方式管理虚拟机,通过虚拟化与容器环境的融合,既能满足现代化应用的开发需求,也可保留虚拟化环境,逐渐向现代化基础设施过渡。此外,对于需要在裸金属架构上部署 Kubernetes 的边缘场景,以及对于寻求 VMware 虚拟化替代方案的用户,KubeVirt 也提供了一种基础架构部署思路。
不过,作为一项新兴技术,KubeVirt 在 2023 年夏天刚发布 1.0 版本,仍缺少一些企业生产环境的实践验证。另外,运维管理工具的缺失也为采用 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 中提到的新兴技术优势:
针对 Kubernetes 运维管理与持久化存储,我们还结合权威机构分析报告与技术解读文章,整理了两本电子书《IT 基础架构团队的 Kubernetes 管理:从入门到评估》和《Kubernetes 持久化存储方案选择:从入门到评估》,欢迎读者下载阅读!
阅读原文:《一文解读 Gartner 容器技术成熟度曲线中的 9 项重点技术 》