“目前,大众正处于数字化新纪元的开端。”比尔·盖茨曾在采访中说道,“回顾过往时,我们会把 2020 年 3 月作为一个时间拐点,从那时起,数字化发展进程开始加速。”
时至今日,数字化的重要性已经不需要再多做赘述,但究竟如何做、从哪里下手却是企业转型路上需要解决的首要问题。中国电子技术标准化研究院的数据显示,全国企业的数字化转型整体水平还处于初步探索阶段。虽然开始主动求变,但技术、成本等问题仍是悬在企业头上的达摩克利斯之剑,一不小心就可能做成无效转型。
全国数字化转型整体水平,图源:中国电子技术标准化研究院
在数字化转型技术栈中,有着更高效、更便捷、资源配置更弹性优势的云原生是怎么也绕不开的一个领域。云原生化实际上是云和应用在网上数据的结合,帮助企业将更多精力放在业务而非基础设施搭建上。
但是在数字化转型过程中,企业需要什么样的基础设施、云原生又需要达到什么样的能力呢?我们有幸采访了京东云团队的成员来为我们解答更多关于企业数字化转型中云基础设施的系列问题。
在京东云团队看来,云是被类比为“水电煤”提出来的,那意味着企业无论用的单云还是多云、混合云,使用方式都不能复杂。而云原生化作为数字化转型的重要技术领域,必须可以促进企业基于云原生进行创新,这意味着云要没有绑定、随取随用。同时,在数字化转型过程中,IT 组织需要完成从资源消耗型组织到运营组织,甚至是数字化能力管理组织的转变。
数字化转型,云原生需要解决什么问题
要回答企业数字化过程中对云的需求是什么,就要先明确当前业内对云的应用情况。
云计算发展至今已有十几年的时间。最初,企业由于弹性需求而选择使用单一的公有云或私有云,但由于业务扩展、云厂商绑定严重等原因,大都逐渐演进到多云、混合云阶段。
如今,公有云、私有云和边缘云等典型云都有了各自比较明确的使用场景,比如公有云的海量弹性资源可以加速获得 AI 能力,私有云对资源控制、数据合规等要求高的金融、政企等用户来说必不可少。企业更多是将不同的云配合使用。报告显示,高达 85% 的企业使用两个或多个云平台,有 25% 的企业至少使用五个云平台。
再看云计算依赖的通用服务器市场,有 X86、ARM、RISC-V、MIPS 等多种不同指令集类型的芯片共存的现状。起初云厂商为加强自研芯片的市场化进程提出了“一云多芯”,后来在数字化转型重点国产化领域中,“一云多芯”除了解决利旧问题外,还让不同的国产化产品都能在项目中发挥其特别作用,故而被广泛应用。
因此,数字化转型下的云原生建设,更多要面临“多态、多地、多芯、多栈”的情况。
混合多云下的基础设施需求
但在“多云”时代,企业的数字化首先需要云上操作更丝滑、协同更高效。这就要求数字基础设施要屏蔽底层各类差异,提供多云一致的操控,同时通过数据统一管理和有效共享来解决数据烟囱问题,还要横向打通各业务应用,实现应用跨平台的统一分发和运维管理。
其次,基础设施必须是开放兼容的。当前,单一技术已无法有效解决问题,技术与技术的融合创新更能满足产业的真实需求。基础设施要开放兼容,需要向下可兼容各类异构基础设施、屏蔽多云差异、实现应用一致运行;向上可广泛接入各类行业应用,以 PaaS 方式输出各类组件,从而实现对应用资源的便捷调用。
再者,根据边际效益递减规律,随着程度加深,数字化带来的效果会日益减退,但数字化建设本身在某种程度上已经成为企业的重大成本开支项。因此,通过技术降本真正带来极致性价比、向数字化要利润,已经成为产业的重要命题。
最后,数字化进程要提升安全合规水平,面向多云环境提供整套安全解决方案,需要利用公有云的安全能力,同时配合业务场景定制安全体系,形成一体化的安全能力。其中尤为重要的是保证稳定安全的国产化替代,渐进式完成国产化的真替、真用。
针对上述问题,企业如果有自己对应的基础设施团队也可以解决,但多数业务型公司的研发资源有限,需要更多地放在支持复杂业务上,建设基础设施能力对这些企业来说并非优势,反而是附加的成本。因此,很多企业选择使用厂商提供的混合多云方案。
理论上看,混合多云可以确保企业不丧失议价权、不绑定资源消耗量,同时避免自身技术栈与云厂商深度绑定,运维上也可以减少单个服务商响应速度慢、受重视程度低等带来的影响。
但实践起来还有一些麻烦,比如很多解决方案最大的问题就是只做了多个云之间的单云资源管理,云与云之间在数据层、应用管理、运维管理等方面都缺少联动,并不能满足企业要求。
有的企业用了不同的公有云产品,但相互之间没有联系,形成了“数据烟囱”;有的企业使用的多云平台间可能有联系,但也只是做了接口实现数据层面的共享。而理想的多云是可以让企业在多个云平台之间无缝协作的。
从以应用为中心的全生命周期管理视角看,要做好混合多云需要包括以下能力:
IaaS 层,即统一的 controller,多云的 IaaS 被抽象为统一的 IaaS;
云原生的技术栈,包括容器、Kubernetes、基于 Kubernetes 延伸出来的混部、GPU、HPA 等;
T-PaaS 层,即所谓的技术中台,包括数据库、消息队列中间件、微服务等;
应用层,也被称为 A-PaaS,主要帮助企业基于云基础设施做自己业务的代码。
另外,还需要具备其他常见的,如安全、控制台、账号权限、计量计费等功能。可以看出,混合多云是一个复杂、庞大的技术体系,想要实现真正的混合多云并不简单。面对这样的艰巨挑战,该如何解决呢?
混合多云能力的“养成”
毋庸置疑,混合多云能力需要大量的技术和实践积累。
从 2006 年 IBM 和谷歌联合推出云计算概念至今,云技术已经发生了多次重大演进。此前已在内部大规模使用像 Cgroups 这样容器技术的谷歌,在 2008 年将 Cgroups 合并到了 Linux 内核主干。2013 年,Docker 项目正式发布;2014 年,Kubernetes 项目也正式发布,并迅速发展成为业内的事实标准。
谷歌提出的“容器设计模式”思想也在影响国内企业在解决业务问题时的技术选型。2014 年前,京东的应用直接部署在物理机上,APP 上线准备时间过长、缺乏隔离机制、资源利用率不足、调度机制也不够灵活,物理机失效后需要花费数小时迁移应用。为解决这些问题,京东在 2013 年正式布局虚拟化技术方向并在 2014 年打造了第一代容器引擎平台 JDOS 1.0。
实际上,京东内部每一步的云原生发展,都与其本身的业务发展需求息息相关。2015 年京东 618 时,容器第一次扛大旗,业务与流量 100% 弹性计算,之后京东逐渐开始将所有业务容器化,并启动自研 JDOS 2.0。
2016 年,京东所有的核心业务均已迁至弹性云上,内部也对云资源做了统一整合,打造了京东公有云和同源同栈的私有云 JD Stack。
在譬如大促时候,京东需要快速将业务从私有云拓展到公有云。但是,私有云和京东公有的底层架构是不一样的:私有云更多地是在裸金属或者物理机裸金属上,而京东公有云大部分是虚机里面,两者在网络、存储,甚至包括某些性能都不一样。为此,京东用了半年的时间来屏蔽私有云和京东公有云间差异,这也成为后来京东混合多云操作系统云舰的雏形。
与此同时,京东业务在飞速发展。根据财报,京东 2017 年全年 GMV(网站成交额)突破万亿大关,接近 1.3 万亿元人民币;年度活跃用户数达 2.925 亿,较上年同期增长 29.1%。对应到技术层,底层需要拥有处理更加复杂资源调度的能力。另外,此前大促前各个业务主要靠新增机器来应对高峰瞬时流量,由此造成的大量服务器资源浪费也引发了内部关注。
于是,京东在 2017 年引入 Kubernetes 来重构相关技术栈,对技术进行了全面升级,同时用了大半年的时间构建了阿基米德调度系统,来负责整个京东数据中心的资源调度与驱逐。阿基米德用批处理任务进行统一填充式调度,以达到资源碎片的充分利用和资源的时空复用效果。阿基米德调度系统后来也成为云舰的核心调度系统。
当时,京东也开始了海外扩张,由于自建 IDC 成本较高,部分业务就要在一些海外云平台如谷歌云和国内友商的云平台如华为云等上面布局。各公有云在大部分情况下计算能力相差无几,但底层资源的调度却不太一样,京东业务从私有云搬到其他公有云上的改造量非常大。
京东云认为此刻已经到了适配多云的时候了。为了不被一朵云绑定,京东云便与其他主流云平台做了适配,无论业务扩展到什么地方,都可以在各个云之间迁移。该能力后来也放到了云舰上。
事实上,此前京东内部也有“好几朵”公有云、私有云,但底座不统一给业务带来了许多麻烦,于是内部开始逐渐统一云原生底座,这为云舰的诞生打下了基础,后续京东云做了更多标准化工作,并把各种混合多云能力都放到了云舰上。
国内外很多混合多云只是做资源的统一,京东云起初也是这样,但发现这没有彻底实现多云的联动性,因此思考应该在架构层面对上层应用做统一。按照这个思路,京东云在 2021 年正式推出了混合多云操作系统云舰。
在服务京东内部业务中,借助全面容器化带来的标准化以及阿基米德智能调度,云舰 2.0 能够完成超千万核资源秒级调度,实现超大规模异构基础设施资源的敏捷调度,CPU 平均使用率提升 2 倍,每年节省 IT 成本数亿元。
对外开放
2016 年,京东云正式开始对外开放商用。如前文所述,在内部混合多云已经被广泛应用后,京东云将积累了十多年的云原生技术融合到了云舰上。
一定程度上,京东云的混合多云服务集合了全集团的研发能力。京东内部有统一的底层基础设施团队,在抽象出各种标准后再由数据库、中间件等 PaaS 团队改造适配,整个过程大概涉及了两千多研发人员。那么,经过多年积累,京东云的混合多云能力究竟如何呢?
在京东云看来,现在需要给混合多云做“减法”,即企业使用混合多云时,不必关心资源到底来自哪里,当成“一朵云”来用。在内部,京东云将这一概念称为“统一云”。要做“统一云”,混合多云的开放性就非常重要,这也是数字化基础设施的要求之一。
因此,京东云基于各个平台开放出来的 OpenAPI 做了更多的风险管理和调度抽象,在 OpenCloud 层做了各家 IaaS 的统一纳管和兼容。现在,云舰可以兼容亚马逊云科技、谷歌云、腾讯云、华为云等国内外众多云厂商。
在多云之间的数据联动方面,业务应用可以在公有云、专有云、边缘云,甚至线下 IDC 的基础设施之间统一流转。虽然各家底层数据库基本是标准格式,但不同厂商的应用平台千差万别。京东云从各应用管理平台统一抽象出了应用标准,最核心的是基于 OAM(Open Application Model)标准封装统一的应用标准,并在各种基础设施场景做了适配,另外加上应用迁移、数据同步等能力,实现了用一套标准进行多云间的数据流转。
多活是云舰的重要优势。在京东云的设计里,多活承载了保障业务连续性、负载均衡、优化云成本、弹性扩展等多个功能。
多活最核心的应用场景之一就是提供业务连续性保障。京东云以用户应用为中心构建云原生容灾架构,可以帮助用户在同城或异地机房建立一套与本地生产系统相对应的应用多活系统,保障系统的高可用性。当灾难发生时,RPO 基本可以做到数据零丢失、RTO 时间则保证在两分钟以内。
云舰可以利用多活能力,将流量按照百分比或来源等分配到不同的云平台。流量入口的负载均衡器可以做基础的流量均分,更加细粒度的配置策略则由多活系统完成。用户还可根据不同云厂商的价格和优惠措施,利用多活系统随时动态调整各机房的业务流量和相应的云资源,来有效控制总体成本。
应用多活提供了全生命周期的业务架构管理,支持用户业务的跨云发布,提供了业务容灾架构的上线、演练、发布、切换等流程,并集成了数据同步、流水线编排、监控大盘等管控运维能力。另外,在京东云应用多活系统中,所有机房内的应用可同时对外提供服务。
成本是企业在数字化过程中面临的重要问题。在这个方面,京东云主要从以下三个方面进行优化:
资源成本,使用云基础设施付出的资源费用。除了用多活方式,京东云还在 IaaS 层进行资源池化、进行资源超卖,做针对离在线不同业务类型的混部等;
运营成本,这是一种隐形成本,主要取决于企业是否有高效、统一的运营运维管理平台,如果没有则会增加运营、运维成本。比如没有及时解决故障带来的品牌信誉损失等。京东云为此提供了针对混合多云场景的、标准统一的运维运营平台,支持问题的快速定位、快速修复等;
使用成本,即使用设施所耗费的成本,主要是在数据库、中间件这一层提供一致的产品能力及调用接口,减少开发人员适配学习成本。
在备受重视的安全方面,京东云有统一数据访问权限管理认证平台,针对不同的租户做细致的、粒度不同的权限管理,同时有全平台的审计功能,可以查找到底整个平台进行了哪些具体操作、谁有对应权限等。数据传输上则是在云舰内部、多云之间进行了全链路加密,数据的每次读写也是基于 TDE 做了加密处理。
在对外服务后,京东内部的技术能力仍然在源源不断地输出到混合多云产品上,比如 2018 年便开始做的离在线混部,到现在做 GPU 虚拟化等都会放到云舰上。与此同时,服务外部用户过程中,产品各方面的能力再次得到加强。
如何为业务带来效益
“用了你的混合多云,除了降本增效,还能在业务上给我带来什么价值?”现在用户越来越多地会提出这样的问题。
2020 年时候,企业的数字化更加关注技术转型。然而,如今企业增速放缓,开始更加关注降本增效、精细化管理。有些企业在数字化转型路上走了弯路,长时间的技术投入没有带来直接的产出,逐渐产生消极情绪。另外,鉴于部分企业研发能力有限,对产品不能有很好的理解,他们更加需要厂商的咨询团队、实施团队,与他们一起把路趟出来。
因此,技术转型看似性感,但如何支持业务转型变成如今企业更为看重的事情。
在京东云混合多云服务里,与业务支持紧密相关的就是 PaaS。京东云做了数据、智能等相关的 D-PaaS,低代码、研发等相关的 A—PaaS,云舰上承载更多的 T-PaaS 等。这为解决原有基础资源以及 PaaS 组件异构多样、管理复杂、无法高效利用异构资源、运维学习成本高等问题,提供了系列工具。
这里,更值得一提的是 B-PaaS。B-PaaS 是京东云在业务层面做的能力抽象。
比如,京东的业务中台藏经阁就是抽象出的数字化社会供应链体系。供应链首先是京东的优势,其次在大部分行业如农业、工业等有类似的体系,因此京东云从中抽象出共性能力,添加到了 B-PaaS 层,然后针对不同行业的差异再做个性化方案补充。而像应用架构这块需要业务和应用一起做,并长期演进。B-PaaS 的作用就是让企业的 PaaS 能力、IT 管理能力越来越丰富。
另一方面,京东云认为,企业不仅可以内部使用混合多云,更重要的是还可以借此完成 IT 能力转型,做对外的能力输出。
根据京东云的设想,这套体系未来可以变成企业自己的 PaaS 平台:用户按照需要随意在这个平台上集成各种组件,然后进一步沉淀到自己的平台上,最后自己做 IT 能力输出。
这其实也是企业的现实需要。现在已经五百多家国央企成立了自己的科技公司,这是他们技术转型的路径:一方面服务好集团内部,另一方面对外做商业化运营,逐渐变成经营中心甚至利润中心。在逐步演进到多云过程中,IT 组织也从资源消耗型组织转变成了运营组织。
目前,云舰已经融合了国内一百多家企业,这些企业可以根据业务需要灵活敏捷调配,一定程度上市场上所有的云厂商都可以是自己的资源,可以随取随用。可以看到,如今京东云的 PaaS 能力可以分为两类:一是京东自己从业务中锤炼出来的,或自研或是基于开源做增强;二是生态里融入的 PaaS,比如流程引擎既有京东云的也有生态里的。
此外,京东云也在整理 SaaS 体系的相关能力,通过与用户体系的结合来呈现京东云在服务用户数字化转型的价值。
渐进式的国产化替代
值得一提的是,在当前的国际背景下,国内企业正在加速从基础设施层、芯片层到软件层,进行全面的国产替代,尤其是国产化企业。
在之前国产化替代主要是从 OA 等管理系统入手,但现在的国产替代已经到了新的阶段,即从管理系统深入到了业务系统,开始影响到企业的日常运营。这种情况下,国产替代必须保持企业业务的延续性。所有的企业都是一边换轮子,一边还要保证业务高速运转。因此,渐进式国产化替用是大多数企业的选择。
整个混合多云是一个庞杂的体系,企业要允许这种复杂性的存在,允许过渡的存在。京东云看来,渐进式的国产化可以分两步走:第一步先上线混合多云操作系统;第二步是借助操作系统,对接各类国产化替代的解决方案,包括硬件、系统和应用,一旦证明方向可行,再持续增加国产化份额,逐渐完成从小规模试点验证向大规模真替真用的转变。
转型期间,企业会经历新老系统共存的阶段。比如国产化企业转型过程中就会有国产化和非国产化设备共存的时候,此时就非常需要应用多活的能力,一部分流量可以保留在原来的基础设施上,另外一部分新增流量则可以逐步切换到国产化基础设施上,以此逐步完成国产化基础设施的替换。
一般情况下,国产化企业的研发人员要更多聚焦到自己本身的业务和开发,基础设施方面可以直接迁移到适配改造后的产品上,而这些产品不只是“能用”,更要“好用”。
在京东云看来,在国产替换进程中,数字基础设施需要具备多云、多芯、多活的特征,即整个系统可以同时适配传统开发与国产化环境,全面兼容全球化基础设施,使用多朵云就像使用一朵云,应用在多朵云之间灵活调度。
为此,京东云从底层 CPU 架构、X86 及 ARM 架构,到国产化操作系统,再到各个云产品都做了适配改造,现在已经基本改造完成。京东还以全栈国产化云的方式,在京东集团零售、物流、金融、健康、工业等业务板块的上百个应用中进行试点,结果高达 80% 的应用在国产化基础设施上稳定运行。
目前,京东云已构建起全面适配国产化应用的全栈产品矩阵,包括混合多云操作系统云舰、云原生理念自主研发的新一代分布式存储系统云海、自研软硬一体虚拟化引擎京刚、旗舰级国产芯片双路机架式服务器天枢、国产分布式数据库 Star DB 等,并且已经被外部用户使用,切实解决了他们数字化过程中亟待解决的问题。
比如,我国五大国有独资发电集团之一、全球最大的光伏发电企业国家电力投资集团(简称“国电投”),由于规模庞大,存在管理复杂、迁徙困难、上线缓慢、安全薄弱等技术难点。比如随着越来越多的业务上云,汇集大量产业链信息和数据资源,亟需打通资源并进行统一管理,还要解决数据安全问题。
为解决上述问题,国电投选择借助云舰的统一底座能力,对当前异构环境和未来电投云的异构迁移做了屏蔽,通过统一 PaaS 组件和应用实现了更广泛兼容及高可用,极大降低后期的管理和运维成本的同时,也为后续迁移到电投云打下了基础。
此外,面对像爱回收这样面临微服务规模依赖关系复杂、用户基数大而对业务连续性和容灾要求高、跨云迁移要兼顾交易数据和业务数据一致等需求的客户,京东云可以帮助其完成公共基础服务多活部署、上层应用分批次完成平滑迁移等的实现。
需要明确的是,企业现在“用云”阶段还是存在差异的。企业决策部门首先要做好战略选择,明确混合多云是否符合当前的需求。如果战略不清晰,后续落地就会有很多问题。战略明确后,企业才好继续明确落地路径、解决具体问题。
结束语
现在,数字化已经从单个企业行为转变为成产业性、地域性的发展要求,在这个浪潮里没有人会愿意掉队。但这必定也是一次缓慢、长期的变革。
对于企业来说,经历一段时间的阵痛不可避免。比如,前期对混合多云的理解不到位,仅当作基础设施对待,而对此带来的云化理念、IT 转型等影响没有做好准备,后期必定会出现问题,而这种理念的改变需要更多的实践和时间。
另一方面,对于云厂商来说,数字化带来的巨量需求既是机遇也是挑战。虽然需求市场很大,但面对各色企业落地中多种多样且无法预设的需求,云厂商需要不断加速自身技术能力的迭代来快速满足企业需要。要知道,这并不容易。用户需要某一个能力的背后,云厂商无法直接做解耦轻量化输,必须考虑到周边几十个能力的联动。
但数字化不仅仅是技术变革,背后更是一整套组织文化、流程的大更迭。因此,云厂商还需要将各种服务经验形成系统性的解决方案,来缓解企业在转型中的焦虑,帮助企业用有限的成本获得更多的收益。
云厂商要用混合多云做好数字化助力,现在可能只是开始,未来还有很长的路要走。
采访嘉宾:
贺皓,京东云混合多云产品负责人
张金柱,京东云混合多云研发负责人
周光,京东云云原生总架构师
何小锋,京东云混合多云首席架构师
张志君,京东云通用解决方案负责人
评论