上云已成为行业共识,但是,随着上云进程的加快及用云程度的加深,以及近两年增效降本成为很多公司的主要诉求,如何提升技术投入性价比?如何通过云助力核心竞争力建设?如何用云才能更好地实现业务增长?这些问题成为了行业关注的焦点。
带着上述问题,InfoQ 专访了阿里巴巴集团研究员、集团技术风险与效能部负责人张瓅玶,希望通过了解阿里多年磨一剑的深度用云实践,以及增效降本探索和思考,为行业带来全面的、可复制的用云及增效降本思路。
“业界普遍认为阿里启动全面上云的时间点是 2019 年,但很少有人知道,自 2009 年阿里云创立之初,就曾构想过将阿里搜索、推荐业务搬到云上。”张瓅玶表示,由于搜索推荐业务对性能的要求极高,再加上当时还处在上云的起步期,便暂时停止了尝试。但在技术层面,阿里对上云的探索从未停止。
在核心系统上云之前,阿里巴巴先是经历了自建基础设施的阶段,而后在2015 - 2018年,开始在双 11 期间采取弹性上云策略,直到 2019 年阿里再次启动上云,并在当年完成电商交易导购核心系统 100% 上云,也扛住了双 11 峰值的考验。
张瓅玶将阿里上云路划分为了两个阶段:第一阶段主要关注稳定性,在当时,淘宝和天猫便有千亿级的 GMV,在如此庞大的技术架构之上做迁移和升级,稳定性是首先需要考虑的要素;到了第二阶段,也就是这两年,业务主体实现全面上云之后,阿里开始更多地关注增效降本。据 2022 年的财报显示,如今阿里用云的规模达到了 200 多亿,如何让这笔钱发挥更大的价值,成为了另一个亟需解决的挑战。
关于为何要上云?上云能为阿里业务带来哪些核心价值?阿里有着深度且全面的考量:
首先,相比于传统 IT,云计算在开发运维、性能稳定、成本控制等方面都更具优势,通过更好地用云,阿里可以实现自身的增效降本以及用户和商家体验创新,打开更大的技术和业务空间。
其次,阿里自身作为阿里云的真实客户,可以通过实际需求和系统演进,协助打磨提升阿里云的核心能力,实现自研技术能力的提升,更好地服务外部客户。“简单来说,阿里云的技术需要满足每一个超越当下产品能力的要求,而这个过程,也使得阿里云的技术不断成长,帮助内部节省成本,也给行业、客户提供了重要的价值。”张瓅玶补充道。
此外,阿里巴巴首席技术官程立曾公开表示,云计算开启了开源新时代——云是数字世界的基座,云也为开源软件提供了最佳运行环境,云 + 开源共同成为数字世界的根。云与开源的结合,将激发基础软件和技术的进一步创新。
以云计算发展历程来看,用云形态主要包括 IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)三类。企业在数字化转型初期,主要借助云计算能力构建 IaaS 资源平台,统一云上云下资源以提升效率。随着大数据、AI 产业发展,带来了算力需求的变化,用云形态也发生改变,PaaS 层产品更多是促进业务创新,意味着走向深度用云阶段 。据 IDC 报告显示,2021 年中国公有云(IaaS+PaaS)市场 PaaS 支出占比为 16.8%。相比之下,“经过持续多年上云用云,今年阿里巴巴集团在 PaaS(包括大数据、机器学习平台、数据库中间件等)支持的业务形态中支出占用云总成本达 43%,阿里业务已进入全面云原生深度用云阶段,超出业内平均水平。”张瓅玶表示。
目前,阿里有数千万核的 CPU,从成本效能角度来讲,CPU 利用率的提升对阿里的成本效能能否绿色、高效地运转是非常关键的。全面上云后全球机房峰值 buffer 预留逐步下降,闲置率下降;通过神龙虚拟化卸载带来混部集群 CPU 利用率提升,以及存储、网络弹性成本下降,以及全面 FinOps 管理实践,最终带来业务整体单位算力成本下降。今年,阿里整体单位算力成本下降 8%。整个过程中,双 11 可以用更少资源的消耗,更加绿色的方式去支撑。
全面上云之后,通过云原生深度用云,不仅带来了明显的成本优化,也带来了阿里业务的敏捷创新。云的弹性能力为业务“敏捷创新”带来更多的可能。今年双 11 首次实现三峰叠加,即现货下单、预售尾款支付、退款功能都在 11 月 10 日晚 20 点全面开启,通过云的使用顺利应对高并发带来的流量峰值。通过调用云数据库 Tair 进行云上优化,双 11 实现了淘宝购物车从 120 个到 300 个的扩容,以轻量化连接、异步支持等技术支撑起超大连接数,使单集群访问流量达到 100GB/s。通过用云产品灵骏智能计算快速实现超大规模机器学习模型训练交付,在大规模稀疏场景中,训练万亿样本数据时间从两周缩短到半周,提效四倍,训练集群成本下降 50%。
经过多年的实践,阿里的深度用云取得了比较可观的成果,同时,作为业务形态、业务规模及复杂度在行业内具有代表性的企业,阿里的经验也令人好奇:上云和实现增效降本之间,距离还有多远?如何理清 200 多亿的用云成本?
张瓅玶认为,成本优化要做好,本质上是在全面上云之后,要具备更好的精细化管理能力,也就是“看得清,管得住”。例如,企业购买了一些服务器,虽然了解服务器和用电的价格,但是可能并不了解真正的算力 TCO 成本,或者不了解服务器是谁在用、用得好不好、用它在做什么等本质问题,这就是没有“看清”,也自然谈不上管得住。而“看不清”也是目前很多公司面临的问题。
而“管得住”则需要有真正懂行的专业人才、体系化的平台来进行精细化管理,而平台也应具备完善的企业 IT 管理能力。精细化管理和企业 IT 管理能力,对于计算资源本身提出了很高的要求,是全面的企业级能力要求。这些能力,正是云平台的强项,而且是平时不容易关注到的方面。企业内部自研的平台,很少去花力气建设精细化管理和 IT 治理能力,带来的问题就是无法看清成本,也管不住。
对于阿里来说,若想要梳理清楚阿里 200 多亿的资源成本,张瓅玶总结其复杂体现在三个维度:
第一,从资源种类的维度。现在行业都在讲容器调度结合,但这只是资源里的一部分,归属于容器成本,这种说法的产生是由组织部门的特点决定的。在大多数情况下,部门是按技术领域划分,所以他们关注的成本不一样,但是每个技术合并到一起并不是总体的优化结果。因此,组织还需要全局的视角,通过云开放平台整合多种类的云资源,整体管理好。
第二,从账号使用的主体的维度。企业云资源管理另一个复杂度在于账号管理,企业内部账号和云资源账号的对应,业财一体以及分账能力建设等。这些依赖云的开放平台,阿里也做到了账号和资源的精细化管理。
第三,从运营的维度。成本需要分解到真正用的人,在小公司中,一个人可以代表公司管理和使用,但是阿里庞大的生态决定了无法由一个人来运营,从不同的技术部门或者账号主体的管理来看,必须能够统一由一个中台来管理,从而看清楚资源的消费主体、类型、用量等关联关系,让数字化管理的责权利清晰一致。
要“复刻”阿里深度用云之路,“看得清,管得住”只是一方面,还有一方面是认知的转变和提升,张瓅玶认为会有两个门槛:
第一个门槛是明确指导思想,也就是要想清楚业务的核心竞争力。企业在成长的不同阶段,会面临大量的没有创新性业务价值的 “降本陷阱”。
如果将大量战略性的资源投入到“重复造轮子”、“自建数据中心”等“伪战略”方向上,不但造成了人力成本、时间成本、试错成本的大幅增加,同时还放弃了自身原有的边际成本逐步降低的“核心竞争优势”。
对于大多数公司而言,是自研还是使用云产品,是一个非常关键的决策,这个矛盾也始终贯穿在阿里上云的过程中。据张瓅玶介绍,阿里自研的某日志系统,曾是领域内非常有竞争力的产品,但是在两三年前,产品由于人员流失无法继续维护,如今要迁移到另外一款产品上,还需要原产品团队支持,到现在还没有完成迁移,这对业务来说也是非常痛苦的事情。而另一个例子是,作为今年阿里的核心业务之一,生意参谋试用了实时计算平台 Flink Vvp,在实际使用中发现,数据的实时计算性能提升了约 35%,同时成本下降约 30%。因此,生意参谋板块用了两个月的时间,快速将数据迁移到 Flink Vvp 上,抛下集群遇到的问题,把团队的精力放在更重要的事情上。
以上案例只是阿里成百上千个决策的缩影。在张瓅玶看来,常说的 vendor lock-in(供应商锁定)在今天云技术高度依赖开源事实标准的时代是典型的伪命题。企业选择自研或云产品时,真正有意义的命题是关注 IAAS / PAAS 产品和业务迭代的耦合是否紧密(如紧密耦合、与业务竞争力密切相关、适合自研),以及自研产品迭代和发展时是否有能力保证业务持续享受技术红利。我们看到了太多的“自研”因为不标准而带来的锁定和技术红利的错失。从本质上看,不是企业核心竞争力的自研投入,可能出现从整体上对效率不利的局面。
第二个门槛是有存量架构转化的决心,以游戏行业为例,其对迭代速度的要求非常高,因此在行业激烈竞争中他们普遍走向了非常轻量的架构,通过深度用云支撑快速开服快速迭代。那么对于其他的企业来说,如果有一个改造升级的路线,它的存在不仅为了使用云产品,也是为了让应用更轻量、更敏捷,企业是否会选择新的路线?这也是个重要的问题。
虽然云原生已是趋势,但也存在对上云持观望态度的中小企业,对此,张瓅玶表示,企业很难看清所有的成本以及业务的趋势。行业和技术趋势瞬息万变,以庞大的阿里技术体系为例,非常需要的是 AI、大数据等 PaaS 能力,而每年需要的算力规模都不相同。每个云产品能力背后,都有成百上千工程师在研发,对于组织来说,最关键的是这些 PaaS 技术红利能不断释放给业务。尤其是 PaaS 层的能力,其本身已经走向了标准化,同时也在快速向前演进,而它们不会和企业自身业务紧密耦合。因此,云原生架构是企业基于技术红利和效能提升的理性选择。
经过近几年的探索,阿里在增效降本方面积累了不少的经验。但如果从研发效率的角度来看,阿里还面临着一些挑战,这也是未来技术架构需要攻克的方向。第一个挑战来自阿里业务自身的复杂性以及多元化的形态。多元化所需要的灵活性,包括灵活部署本身,如今依然是挑战,这也是阿里长期以来需要解决的难题。
第二大挑战集中在技术层面。在阿里架构中,应用间的依赖关系非常复杂,可能有上百个服务的依赖,加上十几个甚至几十个标准产品的依赖,比如数据库、消息、中间件等。同时单个应用可能随着时间的积累变得越来越臃肿,启动速度慢、调试开发困难,效率低下。为了解决这个问题,阿里意识到需要将研发模式和应用架构做全面升级,其中有些工作已经在演进中完成。
为了让应用更轻量,阿里正在尝试让应用走向 Serverless 化。而正如前文所述,阿里的每个应用都存在依赖,如果依赖不标准,当业务链路都需要新建一个单元,如海外业务在新的国家新开一个站点,复杂度就会非常高。为了解决这些问题,就需要将后端的服务依赖标准化,让应用本身的架构更轻量,应用自身的开发和运维更简单,可以不用过多地感知底层资源和依赖云产品的复杂度。在这样的基础之上,才能真正地走向云上的高效研发、运维、部署和建站。
张瓅玶进一步提到,今年,阿里巴巴内部确立了以“云原生”作为集团整体技术架构的战略,向 Serverless 化迈进,以实现更加弹性和敏捷的系统架构。今年,阿里在这方面做了一些努力,看到了初步成效。今年双 11,阿里完成了淘宝首页 100%Serverless 化,通过更轻量灵活规范地用云,实现了应用轻量化和运维效率的显著提升,应用部署时长缩短一半。“未来我们会持续推进应用全面走向 Serverless 化,实现研发模式和应用架构的全面升级,让应用架构极致轻量具备弹性,可以随时充分利用云的弹性能力,同时让应用依赖标准化云服务,让应用可以随时在云上环境弹性部署、随申随用云资源,更好地实现业务的敏捷创新。”
云计算行业历经多年发展,已经进入深水区。云原生架构能力,将为企业的增效降本带来非常多的区别空间。通过阿里集团的实践我们看到,云原生深度用云,正在为企业释放更多的生产力,也将为未来的技术与业务突破带来更多可能。