云计算发展趋势分析(二)-OpenStack+KVM是否已经过时,K8S+Docker+微服务才能弯道超车?

一、背景介绍

讨论问题的基础是要定义好讨论的前提,针对私有云和公有云两种云形态,私有云主要面向企业IT管理和运维人员,其核心诉求是实现资源的管理,即以资源(计算、存储、网络和安全等)为主体设计,甚至固化管理流程,而这些资源又以计算资源(虚拟机)为主体,所有管理功能都围绕虚拟机而设计;公有云主要面向最终用户,其核心诉求是高效便捷的运行其应用或业务系统,所有管理都是围绕应用运行而设计。

从国际市场来看,公有云市场已经是私有云市场的2倍;从国内市场来看,公有云和私有云市场目前基本持平,且预计在2021年,公有云市场将会超过私有云市场。所以公有云才是云计算市场的未来,但其本质是反映了云计算核心理念的变化:云计算正在从以资源编排(分配)为主体向以应用编排(调度)为主体转变

1、以资源编排(分配)为主体的云计算时代

主要解决资源分配和管理的问题,以私有云为代表,面向IT管理员的管理诉求,实现以资源为中心的管理功能,简化点就是大家理解的围绕虚拟机生命周期管理构建的IaaS资源管理系统,这完美地匹配了私有云用户的需求,所以这个时代各种IaaS管理软件百花齐放(OpenStack、OpenNebula、CloudStack、Eucalyptus),但最后只有OpenStack在这个时代达到了空前的繁荣,VMWare在这个时代取得了巨大的成功,推出了资源管理系列产品(vSphere、vSan、NSX等),把资源的管理做到了极致,当然此时也在尝试去解决更高级的用户的需求,但是理念还是以虚拟机为主体,比如早期基于虚拟机的PaaS平台Cloudfoundry,比如基于虚拟机的应用编排项目Murano等等。

2、以应用编排(调度)为主体的云计算时代

随着公有云的普及和私有云的极致发展,云计算的主要矛盾变成了日益增长的多元化用户(不仅仅是IT维护人员)需求与落后的以资源编排(分配)为主体理念之间的矛盾。公有云用户更想以应用为主体来构建IT运行环境和系统,希望以更加敏捷平台来适应应用的快速迭代,甚至私有云的管理员也希望资源编排更加的敏捷,此时,云计算的核心理念就很自然的进入到了以应用编排(调度)为主体的云计算时代。很显然,满足这个理念的Docker、K8S、微服务等技术,必将会在这个时代实现空前的繁荣。

二、云计算主流技术分析

前面讲述了云计算的两个时代:以资源编排(分配)为主体和以应用编排(调度)为主体两个云计算时代,技术的发展必然与设计理念相匹配,所以分别从两个时代来分析下主流的云计算技术。

  1. 资源编排为主体时代的云计算技术

这个时代最有名的两种IaaS管理体系分别是:开源的OpenStack+KVM体系和商业的VMWare体系

开源的OpenStack+KVM(+Ceph)体系,以虚拟化KVM为主体,围绕KVM通过OpenStack来实现管理。从业界来看,除了微软Azure使用自研的Hpyer-V虚拟化技术外,所有的云计算厂商都选择了KVM。从公有云来看,华为、金山云、百度云等都选择了OpenStack作为IaaS管理平台。从私有云来看,Redhat、华为、浪潮、华三、中兴、金山云、中国移动、中国电信、中国联通等都是以OpenStack为主体构建IaaS管理平台,但每家都已不再是社区版本,用其形而重塑其神,所以OpenStack的私有化已成为必然,华为的OpenStack和移动的OpenStack,都已经实现了架构上的重构和底层软件库上的定制各家KVM也大都进行了深度定制,尤其在性能和高级功能上,比如苏研的KVM支持不跨物理机虚拟机热迁移的功能,完美地解决了虚拟化软件升级不停服的问题,具体的KVM与VMWare的对比具体可见《VMware与KVM对比分析报告》。

OpenStack其核心价值提供了标准化的API和松耦合的架构,实现了异构IaaS资源的统一管理,基于其API和架构,进行深度定制开发,完全可以做到媲美vCenter的管理功能,是目前最好的开源IaaS管理平台没有之一

  1. 应用编排为主体时代的云计算技术

前面提到,在资源编排为主体的时代,就已经在思考如何从IaaS向PaaS延伸,基于IaaS实现应用的编排和管理,但是由于以资源为主体思想的限制,技术上选择了以虚拟机为粒度的应用编排设计,比如基于虚拟机粒度实现的软件镜像市场,基于虚拟机粒度实现的应用模板式自动化安装部署,基于虚拟机粒度实现的弹性伸缩等等,都是应用编排的设计思想在IaaS上的实现,但是此时,实质上还是以资源编排为核心的改良主义思想。容器(Docker)技术的出现终于使应用和资源解耦,应用的封装不再是通过资源的封装来实现。由于应用与资源分离,OpenStack这种以资源为核心的编排管理系统就不再符合以应用编排为核心的设计需求,于是就出现了以容器为载体的编排管理系统K8S。同时,微服务思想的出现,使得应用被切分成更小的单元,又完美的匹配了容器技术的特点,所以基于K8S的应用编排管理系统,不但匹配了以应用为中心的设计思想,更完美的匹配了以微服务为基础的云原生设计思想,这进而更匹配了公有云高效便捷的运行其业务系统的核心诉求,所以K8S+Docker+微服务体系必将代表着云计算的未来

三、云计算后续技术发展趋势分析

综上所述,可以得出三个结论:

  1. 云计算已经从以资源编排(分配)为主体时代进入以应用编排(调度)为主体时代。
  2. OpenStack+KVM体系是目前开源的最好的IaaS资源编排系统。
  3. K8S+Docker+微服务体系是未来云计算技术发展趋势。

很显然,这里引出了一个近来讨论非常激烈的论题:OpenStack+KVM是否已经过时,K8S+Docker+微服务才能弯道超车?在正式讨论这个问题之前,我们首先要清楚的认识到:软件架构分层原则,这是一条放之四海而皆准的原则,所以必须以分层架构的理念来看待这个论题,同时,我们也应该认识到:以资源编排(分配)为主体和以应用编排(调度)为主体两个云计算时代是继承的关系,不是取代的关系。按照这个原则,我们来讲讲OpenStack与K8S、Cloud Native之间的关系。

OpenStack的价值在于资源的编排(调度),假设抛弃OpenStack,那么K8S就必须要重新实现资源管理相关的功能,比如裸机(包括纯物理机)管理、虚拟机的管理(必然还会存在),存储的管理(集中式存储、各种分布式存储等),网络的管理(各种SDN的对接或者功能实现,underlay和overlay网络),安全组件的管理(安全设备、安全虚拟化设备)等等,此时,实现了资源管理功能的K8S还是在做以应用为主体的管理吗?K8S还是K8S吗?另外,即使实现了,K8S做的会比OpenStack更好吗?除非认为在以应用编排为主体的时代,不需要资源管理,很显然,这都是不对的。

按照分层架构的理念,OpenStack专注并解决资源编排的问题(IaaS资源管理),K8S专注并解决应用编排的问题(PaaS及云原生),但是与以前不同的是,此时已经不是以OpenStack(虚拟机)为中心的时代,OpenStack必然要交出整个平台的控制权,交给以应用为中心的K8S,但是,不以你为中心,并不代表不需要OpenStack,更不存在K8S替代OpenStack。总结起来:未来正确的云计算分层架构应该是以K8S为主体,成为平台控制核心,OpenStack专注资源编排并配合K8S做好应用编排,二者深度融合,相互补充,缺一不可

 VMWare是这个理念先行者,推出了虚拟机和容器完美的项目-Project Pacific,在这个项目中并没有用K8S替代vCenter、vSAN等,只是把控制权从vCenter转交给了K8S,具体架构如下图所示。

http://blogs.vmware.com/vsphere/files/2019/08/guest-clusters.png

VMWare与文中提到的思想还有点区别是:对用户来讲,K8S完全封装了vCenter的API,即用户可以通过K8S的API来申请vCenter的资源,也即使得K8S具有的资源编排的能力,但这也并不是K8S取代了vCenter,只是vCenter从前台转向了用户不可见但管理员可见的后台。

基于OpenStack+KVM+K8S+Docker的架构,完全没有必要让K8S封装OpenStack的API,使K8S具备资源管理的能力,因为这将使得K8S脱离社区的发展方向,不兼容社区版本,不利于K8S和OpenStack各自独立的发展,最好的做法是通过云管理平台CMP来统一封装OpenStack+K8S的能力,使得云管平台对最终用户呈现同时具备资源编排和应用编排的能力

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值