在传统的IT架构中,操作系统扮演着管理计算机硬件与软件资源的重要角色;而随着IT架构进入云计算时代,其所需要的也是对应的“云操作系统”。以虚拟化及容器为代表的云基础软件负责对数据中心存算资源进行高效的调配管理,并合理分配给上层应用,实现“软件定义数据中心”,成为云计算时代重要的基础设施。
在全球云基础软件的发展历程中,诞生了VMWare、RedHat等一众云基础软件巨头,也孕育出了OpenStack、Kubernetes等行业标准级别的全球开源项目。而随着中国政企上云趋势的推进,我们认为云端国产化将快速进展,云基础软件在中国将迎来新时代的新机遇。
摘要
从服务器虚拟化到容器虚拟化,云基础软件持续演进。虚拟化与容器是两个典型的云基础软件,虚拟化是利用软件重新定义划分底层硬件资源的技术,面向资源层,优化资源供给模式;容器是操作系统层级的虚拟化,面向应用层,变革应用及业务架构,而当前的技术趋势仍是虚拟化与容器技术的结合发展。OpenStack与VMWare是服务器虚拟化时代的两大“云操作系统”,而Kubernetes则随着容器应用的兴起逐渐开始扮演更为重要的角色,我们认为其将是云原生时代的“操作系统”有力的竞争者。
软件信息技术国产化正在加速进入云时代。随着软件上云成为大的趋势,政企机关、金融机构和各行业企业也在主动提出“云端国产化”的诉求,希望以国产化和云化并行的方式进行新一轮的数字化升级。在云端国产化的推动下,国内云基础软件厂商的空间进一步打开,从互联网行业进一步拓展到了政府、金融等传统领域。结合现有的落地案例,我们总结出“云端国产化”在“单机国产化”的基础上新增的5大重要方向:私有/混合云、虚拟化软件、容器管理软件、桌面云、云管平台。
风险
政企上云进度不及预期;全球云基础软件技术路线进展不及预期。
正文
云基础软件——软件定义数据中心
何为软件定义数据中心?软件定义数据中心即是在底层硬件架构之上新搭载了一层虚拟的基础设施,目标是将数据中心所有的物理硬件资源进行虚拟化与软件化,将底层硬件与上层硬件完全解耦,一劳永逸地解决资源性能弹性与架构可伸缩性的问题,其内涵包括软件定义计算(计算虚拟化)、软件定义存储(存储虚拟化)、软件定义网络(网络虚拟化)三大层级。
云基础软件是云时代的“操作系统”,实现软件定义数据中心。在传统的IT架构中,操作系统扮演者管理计算机硬件与软件资源的角色;而随着IT架构进入云计算时代,其所需要的也是对应的“操作系统”,通过对计算、存储、网络的虚拟化,对数据中心存算资源进行高效的调配管理,并合理分配给上层应用,实现资源利用效率的最大化。为了实现软件定义数据中心,以虚拟化与容器技术为代表的云基础软件应运而生,成为云计算时代重要的基础设施。
图表:软件定义数据中心的基本模型
资料来源:Dell官网,中金公司研究部
虚拟化:面向底层基础设施,实现计算资源的弹性分配
虚拟化是利用软件重新定义划分底层硬件资源的技术。虚拟化技术主要应用在服务器层面,由于x86服务器的设计存在局限性,单次仅能运行一个操作系统和应用,因此对底层硬件资源的利用率较低。虚拟化技术实际上将一台基础物理服务器的CPU、内存、硬件、网卡等资源“池化”,并分配给多台虚拟机(VM),虚拟机之间彼此独立但又共享底层物理资源,实现基于单一物理设备运行多个OS及应用。
虚拟化技术是云计算的基础。我们一般所说的“云化”,就是将硬件资源虚拟化,并将虚拟资源集中成中央资源池,最后增加支撑系统后实现资源的调度与共享的过程。在中央资源池之上增加一层管理软件之后,用户就可以管控在云中需要使用的基础架构、平台工具及应用。而虚拟化技术在其中的作用就是将硬件资源“池化”,以便于用户灵活弹性地按需进行计算资源调用。
图表:虚拟化的基本架构
资料来源:IDC,中金公司研究部
Hypervisor是虚拟化技术的核心软件。Hypervisor(虚拟化监视机,也可以称为VMM)运行于基础物理服务器和操作系统之间的中间软件层,允许多个操作系统和应用共享硬件资源,可以将其看作是在虚拟环境中的“元”操作系统。Hypervisor负责管理协调服务器上包括磁盘和内存在内的所有物理设备以及硬件资源的访问,并且在各个虚拟机之间加以隔离防护;Hypervisor在运行时会自动加载所有虚拟机客户端的操作系统,同时灵活分配给每一台虚拟机适量的内存、CPU、网络和硬盘。
典型的虚拟化的底层技术——KVM-QEMU
KVM-QEMU是典型的虚拟化底层技术。KVM是Linux内核中的一个模块,将Linux内核转变为可实现虚拟化的Hypervisor;QEMU是一套开源的模拟处理器,可以独立模拟出包括CPU、IO设备在内的整台计算机。由于KVM位于内核空间,用户无法直接控制内核,因此开发者选择了相对成熟的QEMU技术,借助用户空间的管理工具与其进行交互。
KVM和QEMU是相辅相成的关系。QEMU本身并不依赖于KVM,但仅靠QEMU自身的虚拟化效率较低。QEMU通过KVM达到了硬件虚拟化的速度,而KVM则通过QEMU来模拟设备,KVM+QEMU才能实现完整意义上的服务器虚拟化。在一个完整的Hypervisor中,KVM的功能是提供内核接口以实现对CPU、内存的虚拟支持虚拟机的运行;QEMU提供对IO设备虚拟、对各种虚拟设备的创建、调用进行管理。
图表:典型虚拟化的底层技术实现——KVM-QEMU
资料来源:腾讯云,中金公司研究部
虚拟化的多种技术路线
全虚拟化、半虚拟化是两种典型技术路线。虚拟化是使得多个客户操作系统(Guest OS)共享原始底层硬件资源的过程,其核心是如何解决Guest OS发出的特权指令执行和对宿主机硬件资源的调用问题。从X86服务器的架构来看,其CPU细分了Ring 0-3四种执行状态,其中Ring 0是操作系统内核的执行状态——内核态(Kernel Mode),Ring 3为用户态(User Mode),而不同虚拟化技术之间的核心区别就是Guest OS运行在宿主机CPU的何种执行状态之上。
全虚拟化 vs。 半虚拟化:两者之间的核心区别在于是否要对Guest OS的内核进行修改。全虚拟化无需对Guest OS的内核进行特殊配置,部署灵活便利且具有较好的兼容性好,但缺点在于Guest OS无法直接管理底层硬件,通过hypervisor管理底层硬件需要有转换开销,性能落后于半虚拟化。半虚拟化过事先经过修改的客户机操作系统内核共享宿主底层硬件来实现的,优点在于性能但同时也损失了部署的灵活性和兼容性(无法支持Windows等闭源操作系统)。
硬件辅助的虚拟化:通过硬件技术的辅助使得虚机性能接近物理机。在硬件辅助的虚拟化中,CPU本身就为Hypervisor提供了便利,可以识别指令,从而避免异常,可以简化指令的处理过程而提升性能。硬件辅助虚拟化拟化技术常用于优化全虚拟化和半虚拟化产品,目前主要的硬件辅助虚拟化技术有Intel的VT-x和AMD的AMD-V两种,同时市面上的主流全虚拟化和半虚拟化产品基本都支持硬件辅助虚拟化,包括KVM,VMware vSphere、Xen、Oracle VirtualBox等。
图表:三种虚拟化技术对比
资料来源:VMWare官网,中金公司研究部
容器:面向应用与进程,操作系统层级的虚拟化
容器是操作系统虚拟化的一种实现途径,负责为应用程序的运行提供环境。容器的目的是为进程集合提供一个独立的运行环境,容器包含应用和其所有的依赖包(类/库),不同容器之间共享宿主机的硬件资源及操作系统。通过使用容器,开发者可以便利地打包应用程序的代码、配置和依赖关系,从而实现应用程序快速、可靠、一致性部署。
容器的本质是一个视图被隔离,资源受限的进程。容器与虚拟机的相同之处在于都是帮助用户创造了隔离环境,但虚拟机与容器的隔离级别不同。虚拟机在操作系统层面实现隔离,而容器在进程级进行资源隔离;同时容器的大小相比虚拟机更小,这也赋予了其更为轻量、灵活的特征。
图表:基于Hypervisor的虚拟化过程与容器架构的对比
资料来源:腾讯云,中金公司研究部
容器的底层技术:容器运行时、容器镜像、容器引擎
容器 = Cgroup(资源控制)+Namespace(访问隔离)+rootfs(文件系统隔离)+容器引擎(用户态工具)。Cgroups与Namespace是容器技术所应用到的两个Linux内核的关键特性,Namespace的主要使用是实现进程的隔离,而Crgourps则负责限制分配给进程的硬件资源,由Namespace+Cgroups 构成的隔离环境也被称为“容器运行时”;rootfs作为Linux根文件管理系统,主要负责为容器进程提供隔离后执行环境的文件系统,也就是所谓的“容器镜像”。
容器引擎负责准备运行容器所需要的资源,对容器生命周期进行管理。容器负责与内核Namespace和CGroup等功能直接交互,并提供相应API使得外部能够与之进行集成。容器引擎的功能是对容器生命周期进行管理,包括镜像管理(Image service)、运行管理(runtime service)、容器网络(CNI)等;而上层的容器编排管理系统(如知名的Kubernetes项目“k8s”)则会通过CRI接口对容器引擎进行调用。目前行业中较为活跃的容器引擎主要包括Docker、rkt、Pouch、Containerd和Cri-o等。
Docker:应用最为广泛的容器引擎。Docker 项目发布于2013年,主要包括三大核心组件:镜像、容器与仓库,其中镜像是一个独立的文件系统,包含运行容器所需要的数据,可以用来创建新的容器;容器则是通过镜像来创建,生成的容器是一个独立于宿主机的隔离进程;而仓库则负责对镜像进行集中存储。简而言之,Docker利用容器来运行应用,而容器是由镜像创建的运行实例。
rkt:更为强调安全性的容器引擎。rkt项目诞生于2014年,其是为了解决Docker日益臃肿的问题而由CoreOS主导的中立开放容器引擎项目。rkt在底层技术上与Docker类似,并在其基础上更为强调安全性,支持SELinux、TPM和在硬件隔离的虚拟机中运行。
Containerd:Docker演化而成,目前的行业主流。Containerd是从Docker中抽离出来的容器管理的核心功能,也是在开源社区影响下Docker模块化的结果,目前已经成为全球最为活跃的容器引擎。与Docker相比,Container在被容器编排管理系统调用时调用链更短,组件更少,具有更高的稳定性且占用更少的节点资源。
Cri-o:为k8s CRI接口而专门设计的容器引擎。Cri-o专注于对于k8s CRI接口的支持,因此其架构上相较Containerd更为简洁。但在实际使用中,Cri-o在成熟度、可扩展性方面相较Containerd仍有一定差距。
图表:目前行业中主要活跃的容器引擎
资料来源:CNCF,中金公司研究部
容器的上层建筑:容器编排管理系统
容器编排是从容器向容器云跨越的关键。在实际应用的过程中,通常会由大量容器构建成容器集群,以支撑复杂的应用程序体系结构,此时便需要相应的系统对容器集群进行统一的编排、管理、调度。以k8s为代表的容器编排管理系统在容器引擎的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。从一个开发者和单一的容器镜像,到无数开发者和庞大的容器集群,容器技术实现了从“容器”到“容器云”的飞跃。
Kubernetes是容器编排领域的事实标准。Kubernetes(简称k8s)是由Google在2014年发起的开源项目,具有轻量级、高便携、可扩展、自修复等优势,在2015年开始迅速拉开与Meso、Docker Swarm等竞争对手之间的差距。目前k8s已经基本成为了容器编排领域的行业标准,AWS、Azure、Google、阿里云、腾讯云等公有云厂商均提供基于 k8s的容器服务;Red Hat、Rancher、IBM、Mirantis等厂商也在大力推广基于 Kubernetes 的容器产品,Docker/Containerd+k8s成为全球主流的容器产品路线。
图表:Kubernetes是容器编排领域的事实标准
资料来源:各公司官网,中金公司研究部
Kubernetes是云原生时代新的“操作系统”。k8s集群由Master节点和Node节点构成:Master节点主要负责管理和控制,包括API Server(对外接口)、Scheduler(资管调度)、Controller Manager(管理控制器);Node节点主要是工作负载节点,包含Pod(基本操作单元,内部封装容器)、Docker(容器引擎)、Kubulet(负责Pod的监视)。在应用容器化部署的云原生时代,k8s可以实现对容器集群的自动化部署、自动扩缩容以及高效灵活的管理,我们认为其已经成为了新一代的云操作系统以及云原生时代的基石。
CNCF围绕Kubernetes建立起繁荣的云原生生态。2015年,Google与RedHat牵头成立了以 Kubernetes 项目为基础CNCF社区,之后数年中CNCF逐渐发展壮大,而Docker由于现实问题也逐步放弃开源社区,在2017年将Containerd捐赠给CNCF,并在Docker企业版中内置k8s,CNCF自此成为全球容器生态的核心。截至2020年,CNCF已经囊括了全球1,381个项目,按功能分为29个模块,分属与9中不同类别(应用定义与开发、编排与管理、运行时、配置、平台、可观察性与分析、Serverless、会员和其它),这1,381个项目共同构建起了恢宏的“云原生世界”。
虚拟机与容器:当前趋势仍是结合应用下的共同发展
容器和虚拟机相比各有优劣
容器的优势在于敏捷和高性能:Hypervisor架构下,在虚拟服务器上运行单个应用程序意味着需要运行完整操作系统(Guest OS)及依赖环境,这为主机增加了大量的系统资源消耗。而容器相比之下占用空间更小,其在底层资源和上层应用之前具有更少的抽象层级,且多个应用程序可通过容器技术共享操作系统内核,进一步提高了资源利用率;同时容器在应用迁移、快速拓展以及持续集成和持续部署(CI/CD)实施等方面也更为灵活便捷。
虚拟机的优势在于更强的隔离性和运维的简单性:基于Hypervisor的虚拟机可以实现系统层面的资源隔离,虚拟机之间完全独立,安全性高,可用于备份、容灾;而容器实际上仅实现了应用层面的隔离,安全和稳定性相对较低。尤其是在多租户的环节下,由于不同容器共享主机的内核,如果某个容器应用需要配置内核参数,则会导致“牵一发而动全身”。此外,虚拟化技术经过多年应用,已经是企业运维人员较为熟悉的一种技术,同时双层架构也具备运维上更加简单的优势。
图表:容器和虚拟机的对比
资料来源:CSDN,中金公司研究部
用户可根据自身的偏好来选择适合的云资源管理方案。在实际应用的过程中,注重于安全性、稳定性的用户往往仍会以Hypervisor作为主要的“云操作系统”以实现对底层计算资源的管理,比如金融、运营商等传统行业在大量使用传统的VMWare或者OpenStack(基于KVM);而对于那些追求云原生,要求更高的资源利用率,以及更加灵活便捷架构的客户,Docker/Containerd+k8s的容器方案是更优解,事实上目前容器在互联网行业已经得到了广泛的应用,传统行业的应用厂商也在积极的对新一代引用进行容器化改造,我们相信容器的普及和渗透只是时间问题。
容器与虚拟机的结合应用仍是当前主流
容器与虚拟机在公有云多租户场景中通常是结合应用的。从云计算的概念提出开始,虚拟机一直是云平台的基础,平台的本身服务以及用户的使用基本都是从通用虚拟机的创建开始。因此目前大部分的容器应用均是基于虚拟机而运行的,通常的做法是建一批虚拟机作为运行容器的节点,然后再在基于虚拟机Guest OS创建容器应用,如图表18左侧就是常见的公有云容器服务的提供形式。
安全容器进一步将虚拟机级别的隔离直接引入容器应用。在公有云多租户场景中,上述方案面临的问题是相同主机需要运行不同租户的应用,而容器的隔离级别依然采用了共内核的机制,导致了其存在着广泛的攻击面。而所谓的安全容器,则是通过硬件虚拟化等技术实现对各个容器内核层面的隔离,每一个容器都是基于一个独立的内核实例来,形成一个轻量级的虚拟机(Micro-VM)。
安全容器在容器的高效便捷与虚拟机的稳定安全之前取得平衡。安全容器的定位位于容器和虚拟机之间(The speed of containers, the security of VMs):安全容器兼容容器的操作方法,在启动速度、内存开销等性能指标上也高度接近容器;同时安全容器通过引入虚拟机级别的隔离,显著提升了容器的隔离层级和安全性。目前行业中常见的安全容器实现方式包括Kata-containers、Google gVisor、AWS Firecracker-containerd、IBM Nabla、VMware CRX等,其中Kata-containers是目前具有较佳兼容性,得到了较为广泛的应用。
图表:当前主流的安全容器技术对比
资料来源:华为云,中金公司研究部
云基础软件的演变——历史变迁与未来趋势
云基础软件的市场现状:虚拟化进入成熟阶段,容器应用蓬勃发展
虚拟化技术渗透率已接近饱和,市场规模趋于稳定。根据Statista数据,全球虚拟化市场规模将从2018年的57亿美元增长至2025年的90亿美元,2018-2025年CAGR为7%。Spicework的调查显示,2020年已有92%的企业使用服务器虚拟化技术,虚拟化技术在企业的运用已基本达到饱和,市场增长放缓。
容器应用快速普及,市场规模持续增长。根据Gartner预测,全球容器编排系统市场国模将从2020年的4.7亿美元的增长到2024年的9.4亿美元,2020-2024年CAGR可达20%。全球企业对容器技术的需求也在快速增长,Gartner预计2022年超过75%的全球企业将在运营中使用容器化应用程序,而2020年使用容器的企业占比不到30%;到 2024年,高达15%的企业应用程序将在容器环境中运行,这一比例在2020年小于5%。
图表:全球服务器虚拟化市场规模及增速
资料来源:Statista,中金公司研究部
图表:全球容器编排软件市场规模及增速
资料来源:Gartner,中金公司研究部
全球云基础软件的主要玩家
虚拟化:全球虚拟化市场的主要参与者可以被划分为两派——开源和闭源。其中VMWare及微软是闭源虚拟化软件厂商中的代表,而剩下大部分的厂商的产品则是基于开源的KVM或者Xen技术,
闭源虚拟化的代表是VMWare的ESXi及微软的Hyper-V:ESXi是使用全虚拟化技术的Type I Hypervisor,是VMware虚拟化套件vSphere中的重要组件。由于VMware是首个基于x86服务器提供服务器虚拟化解决方案的公司,ESXi得到了广泛运用。Hyper-V是半虚拟化Hypervisor,可内嵌于Windows系统中,用户可选择免费发布版或付费企业版。
开源虚拟化的代表是KVM和Xen:KVM是内嵌于Linux内核中的开源虚拟化技术,可将Linux操作系统转为Type I Hypervisor.RedHat、Oracle等厂商是基于KVM虚拟化领域的领导者,同时AWS、阿里云、华为云等云厂商也主要是提供基于KVM的虚拟化服务。Xen是一种由剑桥大学研发的半虚拟化技术,2005年,经过Intel修改后的Xen 3.0变为全虚拟化,可支持Intel硬件辅助虚拟化。Citrix于2007年收购XenSource,但选择将服务器虚拟化产品XenServer继续开源。
图表:各大厂商虚拟化产品在不同类型企业中的渗透率情况,2020
资料来源:Spiceworks,中金公司研究部
VMWare仍是企业级应用的首选,KVM在云厂商中应用广泛。Spicework的调查显示,目前闭源的Hyper-V和vSphere仍然在企业级市场占据主导地位,VMWare在商用虚拟化软件市场的龙头地位依然稳固;但近年来,随着OpenStack作为开源的云计算管理项目到行业越来越广泛的应用,KVM作为OpenStack主流的Hypervisor选择,其市场影响力正在快速提升,除了RedHat、Oracle等厂商之外,AWS、阿里云、华为云等云厂商目前主要也是提供基于KVM的虚拟化服务。
图表:目前主流虚拟化技术及产品的应用情况
资料来源:各公司官网,中金公司研究部
OpenStack是全球领先的开源云计算管理项目。OpenStack是由Rackspace和NASA成立的开源项目,目前已经是是仅次于Linux的全球第二大开源社区,OpenStack提供了一个部署云的操作平台或工具集,覆盖了计算、存储等10个核心组件和众多附加组件。用户可以基于OpenStack对物理集群上的所有虚拟机进行管理,实现公有、私有云的搭建与运维,且OpenStack现已实现对容器的支持。
图表:OpenStack铂金及黄金会员
资料来源:OpenStack,中金公司研究部
OpenStack本身并不具备虚拟化的能力,KVM是其主流的Hypervisor选择。作为云管理平台,OpenStack本身不提供虚拟化功能,真正的虚拟化能力是由底层的Hypervisor提供,其支持包括开源的KVM、Xen,也包括厂商的Hyper-V等。但由于最初版本OpenStack的虚拟化技术即是基于KVM的,两者都使用相同的开放源理念与开发方法,因此KVM目前仍是OpenStack主流的Hypervisor选择。2020年的OpenStack用户调查显示94%的用户选择KVM作为Hypervisor。
OpenStack与KVM彼此成就,相互辉映。OpenStack目前已经发展成为全球最大的开源云计算管理项目之一,截至2020年其生态系统已囊扩了超过850家企业及机构,我们认为OpenStack与VMWare实际上的服务器虚拟化时代的两大主流“云操作系统”。而OpenStack的兴起也带动了KVM的快速发展,目前KVM已经成为全球开源虚拟化技术中的主流,2020年AWS、华为云宣布将物理服务器的Hypervisor从Xen转为KVM,我们认为未来KVM甚至会进一步挑战VMWare等厂商在企业级市场的地位。
容器:正如我们在上一章节中的讨论,目前Docker/Containerd+k8s已经成为了全球容器技术的事实标准,由于开源的容器引擎基本不进行商业化变现,因此我们对于容器市场的规模和市场份额讨论集中于容器编排管理软件市场层面,根据艾瑞咨询发布的数据显示,k8s占据了2019年全球Docker容器编排管理工具份额的77%,市场上大部分的容器编排软件均是基于k8s的商业发行版。
图表:OpenStack用户容器引擎使用分布,2020
资料来源:OpenStack,中金公司研究部
图表:全球Docker容器编排管理工具使用分布,2019
资料来源:艾瑞咨询,中金公司研究部
随着全球容器市场的快速发展,各厂商积极推动收购及合作。目前全球容器基础软件市场份额Top 5分别是Red Hat(于2019年被IBM收购),Mirantis(于2019年收购Docker),VMware,Rancher(于2020年被SUSE收购)和Canonical。其中Red Hat推出的OpenShift目前是全球应用最为广泛的企业级k8s版本。
图表:全球主要容器厂商发展历程
资料来源:各公司官网,中金公司研究部
图表:全球容器软件市场份额,2020年
资料来源:Omdia,中金公司研究部
传统虚拟化厂商也在积极拥抱容器技术。全球容器编排管理软件收入Top3的红帽、Mirantis和VMware,目前也推出了具有代表性的虚拟化产品,如VMware的vSphere,Mirantis将原有的OpenStack平台与K8S融合形成新的云平台。全球领先的云厂商等也在积极推出容器产品:如华为云的虚拟化套件Fusion Sphere中包含了支持K8S的Fusion Container容器模块。云厂商们正致力于将容器技术与虚拟化技术结合以提供系统化的解决方案。
图表:全球主要虚拟化及云厂商的部分虚拟化及容器产品
资料来源:各公司官网,中金公司研究部
云操作系统的历史变迁:从服务器虚拟化到容器虚拟化
云基础软件的发展历程实际上是云操作系统的变迁。传统操作系统的定义是管理计算机硬件和软件资源的计算机程序。在计算资源虚拟化的云计算时代,担任这一角色的是管理虚拟化硬件资源的Hypervisor、OpenStack或是Kubernetes。回看历史,我们认为在虚拟化时代,VMWare和OpenStack实际上扮演的就是“云操作系统”的角色;而在未来的云原生时代,Kubernetes有望成为新一代的“云操作系统”。
VMWare与OpenStack是服务器虚拟化时代主要的两大“云操作系统”。VMWare在产品成熟度和稳定性上领先,目前在企业级市场依旧占据主导地位,是数据中心虚拟化领域的“王者”;但其封闭的软件系统架构也决定了其并不具有开放性,软件的发展路线是完全遵循VMware自身的发展目标。OpenStack作为开源的系统,其天生的优势在于其多远化的发展路线以及广阔的发展潜力,背靠众多云计算产业巨头的支持,其在功能完整性、稳定性、易用性上近年来也在快速提升,其作为开源项目的中立性也使其成为AWS、阿里云等众多公有云厂商的首选。
Kubernetes是容器虚拟化时代新的“云操作系统”。随着应用进程容器化部署的普及,负责容器调度、编排、监控的Kubernetes自然成为了容器应用时代重要的“云操作系统”。而从Kubernetes而OpenStack的关系上看,我们认为目前两者之间仍是互补大于竞争。Kubernetes面向应用层,实现应用及业务架构的变革;OpenStack 面向资源层,实现资源供给模式的优化。短期来看,我们认为OpenStack仍将是构建云基础设施的一个重要工具,与k8s在企业云及数据中心应用中互补共存。
图表:全球容器应用发展史
资料来源:IDC,中金公司研究部
云操作系统的未来展望:Kubernetes迈入云原生时代
Kubernetes是云原生时代的“操作系统”有力的竞争者。虚拟化技术是云计算的基础,而容器应用也将是云原生时代的基石。在云原生时代,我们认为容器将是最为基本的进程单位,而负责容器调度、编排、监控的容器编排管理系统(k8s),实质上扮演就是服务器时代操作系统(Linux)的角色,向上调度编排应用进程,向下调配管理底层资源。未来如果Kubernetes能够进一步发展成熟,解决其现有在多租户设计方面存在的一些问题,我们认为其将可能进一步发展成为云原生时代唯一的“操作系统”。
基于Kubernetes的云基础软件架构目前看主要有三条路线:
基于虚拟机(VM)的Kubernetes:这种方式是目前较为常见的k8s部署方案,虚拟机作为运行容器的节点,然后再在基于虚拟机Guest OS创建容器应用,我们在第一章节中已做过介绍。安全性、稳定性是这种方案最大的问题,我们认为这种方案从趋势上看会逐步被安全容器所取代。
基于微虚机(Micro-VM)的Kubernetes:这也即是我们在上一章节末所提到的“安全容器”,其是容器与虚拟机之间的折衷之选,在性能和安全性上取得了一定的平衡。目前来看,以VMWare为代表的传统虚拟化厂商正在积极推广这类安全容器方案,我们认为在中期维度安全容器或将逐步成为行业的主流。
基于裸金融的Kubernetes:区别于前两种“虚拟化+容器”的方案,目前部分厂商也在开始尝试在裸金属上直接架设k8s以部署容器应用,不再依赖于服务器虚拟化。这种方案最为突出的优势在于资源的最大化利用,用户只需在硬件资源上架设k8s这一层抽象层级,即可实现私有云/混合云架构的搭建。该技术路线下k8s彻底摆脱了对虚拟化的依赖,成为了架构中唯一的“云操作系统”,虽然目前该种技术路线仍处于探索发展阶段,但我们认为这是未来值得密切关注的方向。
图表:基于Kubernetes云基础软件架构的三条主要技术路线
资料来源:VMWare官网,CNCF,中金公司研究部
云基础软件在中国——新时代的新机遇
软件信息技术国产化正在加速进入云时代
单机国产化已取得阶段性成果。近年来在新的国际局势下,我国软件信息技术领域的国产化进程提速,在政企机关、金融机构、运营商等领域的国产化工作逐步推进。而目前上一阶段的国产化主要仍是在“单机国产化”层面,主要包括CPU、操作系统、数据库、中间件、办公软件等内容。
国产化并不会停留在单机层面,走向云端是必然方向。随着软件上云成为大的趋势,政企机关、金融机构也在主动提出“云端国产化”的诉求,希望以国产化和云化并行的方式进行新一轮的数字化升级。在云端国产化的推动下,国内云基础软件厂商的空间进一步打开,从互联网行业进一步拓展到了政府、金融等传统领域。结合现有的落地案例,我们总结出“云端国产化”在“单机国产化”的基础上新增了5个维度的新内容:私有/混合云、虚拟化软件、容器管理软件、桌面云、云管平台。
区别于上一轮自上而下的单机国产化,云端国产化更多的是自下而上的需求。先前单机国产化需求主要2020-2022年集中释放,且是在国家政策的指导支持下在政府等领域先行落地,在政策指导下具有明确的落地进程和规划。而云端国产化则更多的是由下游政府、金融领域用户出于自身数字化升级的需求而推进的,其整体的推进周期较长、各个单位实施进度各异;且也不仅局限于政府领域,是与金融、运营商等各大行业的国产化共同演进的。
图表:“云端国产化”在“单机国产化”的基础上新增五大维度的新内容
资料来源:各公司官网,中金公司研究部
云端国产化的工作已逐步启动,未来或将与行业国产化并行。我们从去年开始就逐渐注意到政府、金融、运营商等部分领域开启了云端国产化的进程,其在推广路径上也与行业国产化的路线基本一致,其中银行、证券行业近年来随着金融国产化的推进,其对于云基础软件国产化需求持续提升,逐步进行对VMWare、RedHat等海外云基础软件的国产化替代。同时国内的云基础软件厂商也在广泛参与和底层国产硬件的兼容适配工作,积极投身国产信息技术创新的行业浪潮。
国产云基础软件的五条主干赛道
私有/混合云:2020年中国私有云市场规模已经超过700亿元,政府、金融是两大重点下游行业。由于政府、金融等领域客户对于数据安全及存算资源自主的考量,私有云仍是政府、金融上云的首要选择;部分客户会选择将某些模块进行公有云部署以提高灵活性与对外交互性,因此混合云也是较为普遍的“折衷”之选。目前在政企、金融领域活跃的云厂商仍是以华为云、阿里云等巨头为主。
阿里云、华为云等巨头是私有云/混合云方案的主要提供者。其实大多数情况下我们更为熟悉的都是“私有云”解决方案,包括了云计算/存储资源,以及虚拟化软件、容器管理平台等一揽子的产品,而阿里云、华为云这些大厂则是这类整体解决方案的主要提供商。但近年来我们也注意到一些专攻虚拟化、容器领域的创业公司切分进入更为细分的云基础软件市场。
图表:中国私有云市场持续高速增长
资料来源:赛迪智库,中金公司研究部
图表:中国私有云市场下游行业拆分,2019
资料来源:赛迪智库,中金公司研究部
华为、新华三、深信服是超融合市场前三强。超融合是基于虚拟化或者容器技术的存储与计算的一体化方案,帮助用户在本地简单快捷地部署云式基础架构,可用于建立私有云并可延展至公有云,实现混合云架构。2020年中国超融合市场规模已经突破100亿元,华为、新华三、深信服三家公司位于市占率前三,创业公司SmartX近年来快速发展,目前已占据近4%的市场份额。
图表:中国超融合市场规模,2017-2022E
资料来源:CCW Research,中金公司研究部
图表:中国超融合市场竞争格局,2020
资料来源:赛迪智库,中金公司研究部
虚拟化/容器:虚拟化与容器均属于细分云基础软件的范畴(IDC的定义为“软件定义计算”),而目前市场中较为常见的产品主要包括虚拟化软件(VMWare、Hyper-V,以及众多基于KVM的商业发行版),容器软件(容器引擎:Docker、Container;容器编排管理系统:k8s,以及OpenShift为代表的众多k8s商业发行版),以及云系统软件(以OpenStack、CloudStack为代表的私有云、混合云资源管理平台)。
图表:中国云基础软件(“软件定义计算”)市场规模,2020-2025E
资料来源:IDC,中金公司研究部
图表:中国云基础软件(“软件定义计算”)市场竞争格局,2020
资料来源:IDC,中金公司研究部
近年来在细分云基础软件市场也涌现出一批优秀的创业公司。由于阿里云、华为云等巨头在解决方案中也包含了虚拟化、容器相关的软件,因此从市场份额的层面来看巨头依然处于领先位置。但近年来国内一批新生的云基础软件创业公司在技术层面则是走在了行业的前沿,包括虚拟化领域的云宏、ZStack云轴,容器领域的DaoCloud道客云、BoCloud博云等。同时阿里云等巨头也会在这些领域与创业公司合作,结合多方能力共同向客户提供解决方案。
桌面云:桌面云是一种基于虚拟化技术的终端操作系统交付与管理方案,为用户提供安全数据保护、高效桌面管理及灵活用户访问服务。目前行业中的主流桌面云方案是以VDI(虚拟桌面基础架构)、IDV(智能桌面虚拟化)架构为主,教育、医疗、金融、能源、政府等行业需求旺盛,这部分客户主要还是以私有化部署方式为主,会自主采购VDI硬件(瘦客户机)以及软件设施。2019年中国桌面云软件市场已超过30亿元,其中华为、深信服等公司占据行业龙头地位。
图表:中国桌面云软件市场规模,2014-2019
资料来源:IDC,中金公司研究部
图表:中国桌面云行业竞争格局,2019
资料来源:IDC,中金公司研究部
云管平台:云管理平台(CMP)为数据中心资源的统一管理平台,可以管理多个开源或者异构的云计算资源及产品,比如同时管理华为云、阿里云、AWS等公有云/私有云资源,管理OpenStack、VMware、Docker等等云基础软件,同时由于云管平台往往需要对接管理多个厂商的产品,因此第三方中立性对于云管平台而言尤为重要。
由于目前国内政企仍在大量采用混合云架构、多云部署,近年来国内第三方云管平台市场维持高速增长,2019年国内第三方云管平台市场规模已经达到27.3亿元,且行业整体增速高达40%。神州数码(云角)、IBM、中软国际等公司在国内的云管平台市场居于领先位置。
图表:中国云管平台市场规模,2018-2023E
资料来源:CCW Research,中金公司研究部
图表:中国云管平台竞争格局,2019
资料来源:IDC,中金公司研究部
注:神州数码云管业务由旗下子公司云角Yungoal开展
国产云基础软件的三股主要力量
云基础设施巨头:以华为云、阿里云为代表的公有云IaaS巨头近年来在政企市场加速布局,其向客户提供的是整体化的私有云/混合云解决方案,涵盖底层计算资源,虚拟化、容器等云基础软件,甚至延伸至更上层的数据库、PaaS平台及部分政企级SaaS应用。而深信服聚焦与私有云超融合领域,基于超融合一体机的形式为客户提供私有云/混合云/托管云等存算资源融合解决方案。
传统国产IT基础设施厂商:国资背景厂商在国产云基础软件市场也颇为活跃,新华三、浪潮具有从底层基础设施、云基础软件(虚拟化、容器)、云管理平台到智慧应用的全栈式私有云/混合云构建能力;而中国电子云、中国电科云也在政府以及央企国企市场占据一定的份额。
云基础软件创业公司:在更为细分的虚拟化、容器、云管平台等云基础软件领域,近年来也成长出一批优质的创业公司,这些企业和前两类厂商相比在技术路线上具有更强的创新性;部分公司创始团队也具有IBM、RedHat等海外公司的背景,在创业历程中也坚持追赶国际技术前沿,成为国内云基础软件市场快速崛起的“新势力”。
图表:“云端国产化”目前的主要参与者
资料来源:各公司官网,中金公司研究部
国内目前还未诞生出纯粹的云基础软件巨头。从市场格局的角度看,华为云、阿里云等公有云IaaS巨头以及浪潮、新华三等传统国产IT基础设施厂商仍在中国云基础软件市场中占据较高的份额,而从安全起家的深信服近年来在超融合领域也快速突破。但从本质上看,虚拟化、容器等相关技术产品仍只是其产品矩阵中的一角,国内目前还并没有诞生出类似于海外的VMWare、RedHat这样专注于云基础软件以及云操作系统领域的领军企业。
国内云基础软件厂商目前是以开源技术路线为主流。无论是阿里云、华为云这些云巨头还是细分云基础软件领域的创业公司,基于开源技术框架的自主开发仍是目前主流的技术路线(虚拟化基于KVM,容器基于Docker引擎及K8S编排管理平台)。近年来,我们也注意到中国大陆地区的本土开发团队在全球开源社区中开始扮演更为重要的角色,尤其是一批新锐云基础软件创业公司,正在开源路线上快速追赶国际技术前沿。
图表:开源贡献者的地理分布,中国大陆的本土开发团队正愈加活跃在全球开源社区中
资料来源:GitHub,中金公司研究部
注:颜色深浅代表该地区开发者在GitHub开源社区上的活跃度,其中GitHub将中国大陆地区及中国港澳台地区的开发者分开统计
(文章来源:中金点睛)
文章来源:中金点睛