我们如何实现“业务 100% 云原生化,让阿里中间件全面升级到公共云架构”?

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 在今年的天猫双 11 中,中间件支撑了 5403 亿的交易量,并全面升级到了公共云架构。此次的架构升级,是以开源为内核、以公共云为基础、以 OpenAPI 进行解偶扩展,在架构上,对开源、自研、商业化进行统一。通过采用和反哺开源、推动社区建设,通过阿里巴巴丰富的业务场景、打磨技术的性能和可用性,通过云上商业化服务更多企业、打造更好的用户体验,全方位锤炼云上产品的竞争力。

作者 | 中间件支持集团上云技术小组


2019 年,阿里巴巴核心系统 100% 运行在阿里云上。2021年,阿里巴巴业务 100% 云原生化。阿里巴巴已经成为全球首家,将所有业务都放在自家公共云上的大型科技公司。


举全集团之力,将业务全部迁移至公共云,不仅是对云的笃定,也证明了阿里云有能力应对高难度、超复杂环境下的技术挑战,为客户享受云上技术红利提供了更坚实的实践保障。


01 架构一致性,开源、自研、商业化三位一体


在今年的天猫双 11 中,中间件支撑了 5403 亿的交易量,并全面升级到了公共云架构。


此次的架构升级,是以开源为内核、以公共云为基础、以 OpenAPI 进行解偶扩展,在架构上,对开源、自研、商业化进行统一。通过采用和反哺开源、推动社区建设,通过阿里巴巴丰富的业务场景、打磨技术的性能和可用性,通过云上商业化服务更多企业、打造更好的用户体验,全方位锤炼云上产品的竞争力。


这个过程中,阿里巴巴业务的研发效率提升了 20%,CPU 资源利用率提升了 30%,应用 100%云原生化,在线业务容器可达百万规模,计算效率大幅提升,双 11 计算成本下降 30%。


接下去,我们将全方位揭秘业务 100%云化过程中,后端 BaaS 化,运行时 Mesh 化,业务侧 Serverless 化的全过程。
image.gif1.png


02 中间件后端 BaaS 化,有状态应用也可分钟级交付

以往的双 11 建站交付都是线性的。先交付 IaaS 资源,然后再交付中间件,最后再交付业务。


今年,中间件升级到公共云架构后,IaaS 资源和中间件同步交付,节省了两者串行交付的时间。中间件公共云架构运维底座全部切到 K8s 上,让有状态的中间件也能做到极致弹性,使得中间件的交付效率从天级别,降低到了分钟级,极大地提升了交付效率,降低了资源保有时间和资源成本。


后端的支撑系统也全面升级,如通过对接阿里云账号权限体系,来解决安全问题;通过对接计量计费体系,来解决 IT 资产数字化问题,为集团各个技术团队的经营者可以通过账单形式,可视化的进行成本优化。


在用户界面上,也升级支持了 IPv6,为阿里巴巴生产网全面向 IPv6 架构演进做好了准备。
image.gif

2.png


03 海外业务 Mesh 化,异地多活可下沉 Sidecar


阿里巴巴海外有 AE&Lazada 等多种业务形态,异地多活体系侵入性大,技术架构不统一,从而影响了全局高可用和研发协同效率。


随着服务网格架构的演进和成熟,我们逐步将服务路由标准化,路由功能层次化,通过插件模式让业务进行扩展,让异地多活体系下沉到 Sidecar,和业务逻辑解偶,探索异地多活通用、无侵入、低成本的解决方案。今年,这套体系在海外业务得到了充分验证,为未来商业化积累了实践经验。


随着 Mesh 化服务架构的深度应用,除了异地多活功能下沉 Sidecar,阿里巴巴还基于 Mesh 化架构,统一了流量调度技术与产品架构,降低了流量调度实施和治理成本,提升服务容灾能力和线上服务治理效率,实现了更加灵活和稳定的调度规则下发及单元间切流。
image.gif

3.png


04 业务侧 Serverless 化,实现研发提效 38%,弹性提升 200%


Serverless 是阿里巴巴降本提效的首选技术方案。


今年双 11,Serverless 不仅成功承载了 3 倍的峰值流量 ,支撑应用场景数量也提升了 2 倍,整体研发运维体系提升 38%,主要表现在以下两个关键点上。


1、夯实三位一体技术体系,使用阿里云函数计算 FC 支撑大促全面 Serverless 化


函数计算 FC 与阿里内部的运维体系,实现全面标准化对接,打通研发的最后一公里。首次实现了业务全链路“ FaaS + BaaS ”的 Serverless 全流程研发体系。


在函数计算进入集团之前,云上的 Serverless 技术体系一直无法融入到开发者生态,虽然功能丰富、强大,但是无法被业务使用,甚至出现了使用 Serverless 技术后,研发成本反而增高的情况。所以,在 2021 年,我们发力 Serverless-Devs 工具链,基于标准的接口与集团内部的技术社区,共同打造了专属于 Serverless 的研发体系,把云上的技术巧妙的融入到了集团。


通过双 11 大促场景作为“磨刀石”,把关键的核心技术进行进一步打磨,然后反哺给云上的商业化产品和工具链,夯实三位一体的技术体系,今年交出了满意的答卷,全面支撑 2021 天猫 双 11 各类业务场景,覆盖淘特、淘系、阿里妈妈、1688、高德和飞猪等多类业务场景,数量提升 2 倍,峰值流量总数同比增加 3 倍,实现了 50w QPS 的突破,整体研发提效达到 38%
image.gif4.png

02

2、加大 Serverless 硬核技术投入,阿里内部通过天猫双 11 场景打磨,外部通过公共云输出、服务千万家企业

在 Serverless 的场景下,冷启动的速度是客户选型的关键,也是云上产品的核心竞争力,。


今年,我们加大了硬核技术研发的投入,从“弹性策略”、“镜像分发”、“容器启动” 等全方位对冷启动进行了性能提升,冷启动时间进一步缩减 60%,刚性交付能力提升 200%。在年初,函数计算刚应用于集团内部时,Runtime 层的冷启动时间在秒级别,并且需要初始化中间件,整体的冷启动时间要大于 2s,这严重制约了 Serverless 的使用场景。


所以,我们在镜像分发上,创新性发明了 Serverless Caching 。根据不同的存储服务特点,构建数据驱动、智能高效的缓存体系,实现软硬件协同优化;即便在 GB 级别镜像冷启动的场景下,函数计算也能提秒级别的交付能力。


在调度上,相比去年,增加了定时/CPU 等更多指标的弹性策略,并且基于集团内资源统一调度的能力,支撑了天猫双 11 业务的 10w 级别的实例弹性。在容器层,使用了自研的安全容器池化技术,在容器启动上,时间进一步缩小到 50ms 以内。


这些技术,都已经在双 11 场景下得到验证,也在公共云上全面输出,已经帮助我们的合作伙伴轻松应对业务高峰。


5.png


05 从 Ops 到 Dev,云原生的技术改造正进入下半场


第一时间让客户使用跟阿里巴巴一样的技术,是中间件开源、自研、商业化三位一体的初衷。这些源自三位一体的产品正帮助云上客户更好的提升 Ops 的效率。


三位一体的商业化输出包括:


  • 微服务引擎 MSE:注册&配置中心全(原生支持 Nacos/ZooKeeper/Eureka)、网关(原生支持 Ingress/Envoy)和无侵入的开源增强服务治理(原生支持 Spring Cloud/Dubbo);
  • 消息队列 MQ:原生支持 Apache RocketMQ、Apache Kafka;
  • 应用实时监控服务 ARMS:原生支持 Prometheus,提供基于开源的 Tracing 能力;
  • 应用高可用服务 AHAS:原生支持 Sentinel、ChaosBlade;
  • 函数计算 FC:支持开发者工具开源 Serverless Devs、开源可观测工具等。


6.png

云计算和云原生技术上半场更多的是解决的是 Ops 的问题,我们相信下半场更多是关注 Dev 的问题。


围绕着开发者效率的提升,中间件已经完成了 Serverless、应用运行时、低代码、云边一体,在线 IDE 等关键领域的技术布局,通过服务网格和应用运行时等技术,将非业务逻辑下沉,并且通过插件模式,形成新的研发分工,让中间件研发屏蔽底层复杂技术,让安全研发在应用运行时这层建立可信的安全防线,让高可用研发在底层通用的构建熔断、限流、降级、异地多活等能力,让业务更轻量,更聚焦业务本身开发,更高效的构建业务竞争力。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
24 5
|
5天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
19 5
|
5天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
5天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
18 3
|
6天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
5天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
19 3
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
6月前
|
消息中间件 存储 负载均衡
消息中间件的选择:RabbitMQ是一个明智的选择
消息中间件的选择:RabbitMQ是一个明智的选择
110 0
|
5月前
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
1390 0
|
4月前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
275 3