2019年8月,VMware在当年的全球技术大会VMworld上宣布了一项攸关VMware未来发展的重大计划,这就是Project Pacific,对应的产品就是今天大名鼎鼎的VMware Tanzu系列。在这个项目中,VMware重构了vSphere,改写了ESXi的核心层,将Kubernetes嵌入vSphere的控制平面,从而可以原生地支持容器,并用以Kubernetes为代表的云原生技术来统一管理容器和虚拟机。
此举对于VMware意义重大,它让VMware摆脱了虚拟机的束缚,顺利进入云原生世界,从此不用再面对到底是要支持容器还是要支持虚拟机的“灵魂”拷问。
Project Pacific的发布让易捷行云EasyStack很兴奋,证明自己的“冒险”做对了。当时易捷行云EasyStack也在做类似的事情:对自己的云平台架构进行重构,将开源生态云原生技术能力深入融合至云平台的架构与服务中,这个基于云原生架构的新一代私有云早于VMware Tanzu发布。
实际上,时至今天易捷行云EasyStack仍然受益于当年的这一大胆举措。当年对云平台的全面重构让易捷行云EasyStack率先拥抱云原生,其一体化的架构、平台与服务分离、软件与硬件解耦的体系设计,为后来打造可进化的云平台奠定了基础,也让易捷行云EasyStack的云可以从容应对今天的多元算力需求和更多新的未知需求。
01 多样化的应用需求挑战云底座
在企业IT环境中通常都是各种IT架构并存,企业历史越久,这种多种IT架构并存的现象就越严重。
以金融机构为例。由于历史原因,在这类企业一般部署有大型机/小型机,其上部署了企业很多关键的业务(如银行核心业务系统)。后来,随着虚拟化技术的普及,x86服务器逐渐多起来,x86服务器+虚拟化成为大多数应用的主流部署环境。同时也有大量的裸金属、未上云服务器的应用场景(如数据库)存在,因为核心业务所运行的大型机/小型机没法被虚拟化架构所完全替代。
而随着云原生时代的到来,分布式应用架构、容器化部署成为新一代应用的首选。在一些激进一些的企业内,甚至还出现了FaaS、Serverless等技术的应用案例。另外,可能还存在混合部署的情况,即一个应用有很多组件组成,有些组件运行在容器中,有些组件运行在虚拟机中,有时需要访问遗留系统,甚至有些需要访问FaaS。
类似的状况在很多企业都或多或少的存在,结果往往都一样:不同时代的应用同时并存,最终形成了一个个孤岛。作为数字底座,云必须能满足所有这些业务需求,这就是云平台供应商不得不面对的客观现实。
“我们不能批评说某种技术选择不对。因为每一个决定都是在当时的那个时间点、当时的需求下、在当时的技术判断等约束条件下做出的,都有充足的理由。”易捷行云EasyStack COO王瑞琳表示。
实际上,最困扰云平台供应商的还不是满足当下这些已知的需求,而是更多未知的需求。因为早期的云平台都是定制化,有什么需求就会开发出一个新模块加上。比如,在容器化部署需求出来后,为了支持容器和虚拟机共存的应用,常见做法是在虚拟机集群外搭建一套新的容器集群。
显然,这并不是一个可持续的解决办法,其中的风险在于,每次有了新的需求都要开发一个新的模块,然后让用户把平台升级一次,升级期间业务暂停。升级顺利就算了,如果不顺利,停机三五天,这谁都受不了?
易捷行云EasyStack就接到过这样的用户需求,服务某央企多年的某大厂云前后部署8个版本,新技术和能力没法提供给客户不说,厂商自己维护这些版本成本也很高。由于产品本身不是可进化和产品化的设计,虽然做了几个月的准备最终在客户现场升级依然失败了,造成客户全国业务中断数小时。后来,客户换成易捷行云EasyStack的大规模生产云,升级非常顺利,其中最复杂的19台控制节点的升级只用了22个小时即完成平滑升级,给了客户极大的信心。
云平台外加模块的做法带来的挑战在面对多元算力需求时候变得尤为明显。近年来随着人工智能技术的逐步成熟,异构计算需求旺盛,变化也很快,特别是今年ChatGPT大火带来的AIGC热更是加速了AI芯片的普及。在CPU之外,企业对GPU、DPU、FPGA的需求越来越强烈,企业需要能够根据具体的业务需求选择不同的算力来运行不同应用负载,而作为云平台,对这些异构算力进行统一纳管和交付成为一个基本需求。
另一方面,这几年ARM架构的芯片在数据中心普及也很快。根据研究机构的统计,数据中心ARM服务器的占比已接近10%。在中国市场由于信创等原因,服务器的选择更为多元化,海光、兆芯、鲲鹏、飞腾都进入信创名单。面对如此多样化的算力需求,作为底座的云平台都要能驱动、能对外交付,而且最好能以一种用户无感的方式交付。这是一个不小的挑战。
02 打造可进化的云平台
“很明显,我总不能每次都对这个平台重新写一次,平台如果重写应用要重新适配;也不能Case by Case,来一个需求就加个模块堆上去,这是不可持续的。”王瑞琳说,而要改变这一切就得从云平台的底层架构入手,因为采用什么样的底层架构也决定了该云平台未来的升级方式和对新业务、新技术的适应能力。
实际上,王瑞琳所不认可的这种升级方式也是传统私有云,也就是云计算1.0的通病。一般而言,在云计算1.0阶段,大多以云管为核心,将计算、存储、网络等不同模块进行组合或集成交付而已,不仅交付周期长,而且交付的结果并不能真正体现云应该具备的简单、弹性、灵活等特质,修改、升级非常麻烦。
而云计算2.0所代表的新一代私有云摆脱了“定制化”,基于一体化的架构设计,能够从最小规模起步,并可按需扩展至成千上万个节点;实现了平台与服务的彻底分离,软件定义和硬件的完全解耦。
与云计算1.0相比,新一代私有云还是可进化的,这也被视为云计算2.0的一个主要特征。所谓“可进化”是指,不仅仅是软件功能、模块能升级,内核也要能升级,而且要自动化地完成,在这个过程中,系统不能停机,数据不用迁移,业务不会中断。
易捷行云EasyStack很早就意识到了定制化云平台的弊端,一直致力于打造“可进化”的云。王瑞琳介绍,除了顺应技术发展趋势外,易捷行云EasyStack推进可进化架构主要是想解决自己面临的三个挑战:
1.支持硬件的迭代。易捷行云EasyStack云平台的内核经历过多次升级,过去几乎每次英特尔、AMD芯片的升级后,平台内核就要进行一次大的升级。后来又有信创的需求,升级需求就更为频繁了。而过于频繁的硬件迭代带来的云平台重建对用户并不友好。
2.满足应用对算力的多样化需求。企业应用开发和部署的时代不同,不同时代有着不同的技术选择和算力需求,对云平台而言,所有这些算力需求都要能支持,而无论用户需要的是虚拟化、裸金属还是容器或者安全容器、Serverless、FaaS等。同样,对GPU、FPGA等加速器也不例外。
3.吸纳开源生态的能力。易捷行云EasyStack的云平台基于开源生态打造,需要能把开源生态里的能力持续集成到自己的基础设施里去。而在此之前自己要先有这个基础,才能承接这些能力。比如,就云原生而言,需要平台能把云原生的能力有机地加到原来提供虚拟化的这个平台上。
王瑞琳强调说,“可进化”与其说是一种技术,还不如说是一种设计思想与架构原则。其本质是随需应变,无论硬件基础设施如何快速迭代,也不管应用如何改造创新,可进化的云平台都能如影随行,平滑无感地适应这些变化。
而传统私有云之所以不是可进化的,是因为它在最核心的架构设计上就没有将持续可进化作为首要目标,导致其后来不得已推倒重来,最终传统私有云平台只能采用“割接式”升级,而无法进行用户无感的、平滑的升级。
03 数字原生引擎EOS是关键
其实,“可进化”并不是易捷行云EasyStack的一家之言,正如云终将从“云计算1.0”迈入“云计算2.0”阶段一样,这是私有云自然演进的结果。实际上,可进化、能平滑升级已经得到越来越多云平台提供商的认可。比如,今天公有云基本都已经实现了用户无感的平滑升级,而VMware等私有云厂商也都在通过云原生技术来打造能自我进化的私有云平台。
尽管“可进化”在市场上的认可度越来越高,但能真正让这个概念落地的云厂商并不算多。原因在于“可进化”的架构对厂商的能力要求很高。一方面,厂商的能力要全,计算、网络、存储、操作系统、容器等能力都要有,而且没有短板。这就决定了单一能力的小厂商做不到。比如,如果厂商没有网络SDN的能力,一旦有新的算力服务加进来,或者应用本身升级,就可能需要人工对网络设置进行重新配置。同样,厂商只有能力全面,才能根据用户场景实现能力的自由组合。
另一方面,大厂商不一定愿意。出于商业上面的考虑,大厂更为重视全栈方案的交付,而全栈的背后往往是绑定,这与“可进化”背后蕴含的“开放、分布式、松耦合”等理念并不一致,会影响云产品的最终实现。
王瑞琳介绍,易捷行云EasyStack可进化云平台的实现关键在于其数字原生引擎EOS,它是易捷行云EasyStack云平台的基石。
易捷行云数字原生引擎EOS是构建在Kubernetes上的稳定、可靠、安全的数据中心操作系统。数字原生引擎EOS采用微内核架构,兼容异构指令集架构,通过内核与用户态分离,对于硬件资源进行统一抽象,向上支持统一的设备与资源管理。正是由于数字原生引擎EOS采用了先进的微服务架构,实现了平台和云服务的分离,使得其不仅实现了功能按场景灵活组合,也最终解决了平台持续进化的问题。比如,今天,易捷行云EasyStack云平台新能力的交付就能通过OTA进行,用户也能享受到类似公有云的平滑升级体验。
在应对多元算力需求上,数字原生引擎EOS提供了很好的支持。实际上,数字原生引擎EOS的目标就是能够为云提供包括一云多芯、全栈全平面的升级进化,不同指令集不同形态的算力统一编排与调度,全平面高可用以及更高性能的基础设施能力,从而提供满足不同应用场景和需求的算力能力,包括基础的云主机、裸金属、容器、GPU计算、以及 Serverless 计算能力,为微服务、分布式、高性能、AI 软件和应用提供适合的算力基础。
2022年,易捷行云EasyStack基于数字原生基础引擎EOS,发布了包括云基础设施解决方案ECF、云原生基础设施解决方案ECNF、数字全云能力解决方案ECS在内的三大数字原生基础设施解决方案,这也标志易捷行云可进化的云成功落地,“可进化”也被验证不仅“可用”,而且“好用”。
04 结束语
云平台未来一定会走向开放、分布式、松耦合,这是大趋势。对于云平台的提供商而言,唯有顺应这一趋势才能走得长远。而“可进化”就是易捷行云EasyStack结合这一趋势和自己实践提出的设计理念,并将其贯彻到产品设计中。
多年来,易捷行云EasyStack始终坚持一体化的产品设计,在这一个产品上持续演进,致力于提供一个统一的界面、统一的应用体验,实现统一的升级和演进。这条产品化的道路虽然起步艰难,但好处也是显而易见,比如在面对多元算力这类新兴需求时,其先进性更是展露无遗,不仅满足了客户需求并兼容长远。实践证明,这是一条能走得更远的私有云平台持续演进之路。