2019 双11,订单创新峰值达到 54.4 万笔/秒,单日数据处理量达到 970PB,面对世界级的流量洪峰,今年的阿里交出了一份亮眼的云原生技术成绩单,并实现了100% 核心应用以云原生的方式上云:
这些数据背后是对一个个技术问题的反复尝试与实践。这一次,我们对云原生技术在 双11 的实践细节进行深挖,将 22 篇代表性的文章进行编排,整理成书《不一样的 双11 技术:阿里巴巴经济体云原生实践》旨在为行走在云原生路上的开发者打开新思路、提供一些有益的参考。
许多经过精心设计的架构,平时运行稳定,但在 双11 的演练中都暴露出了大量的细节问题,双11 这个独一无二的场景是阿里技术的试金石。今年 双11,我们把“最要命”的系统全都放到了云上,实现了核心系统 100% 上云,撑住了 双11 的世界级流量洪峰。
这离不开云原生技术的创新,希望本书能对开发者和企业客户产生借鉴意义,共享云计算技术红利。—— 小邪
在 All in Cloud 的时代企业 IT 架构正在被重塑,而云原生已经成为释放云计算价值的最短路径。2019 年阿里 双 11 核心系统 100% 以云原生的方式上云,基于神龙服务器、轻量级容器和兼容 K8s 的调度、集群管理技术,通过云原生开放应用模型 OAM,构建高效和自动化的应用交付体系,大大加快了上云速度;通过升级微服务和服务网格,将服务治理与应用解耦并下沉到基础设施层,提升治理能力和迭代速度,整体向 Serverless 极致弹性、按用计费、无需运维的架构演进,全面实现核心系统上云,让双 11 更稳定让业务创新更敏捷。
希望通过将阿里的上云和云原生技术落地最佳实践通过电子书的形式输出,对开发者和企业客户产生借鉴意义,加速技术演进共享云计算技术红利。——叔同
我们采访了上云总架构师毕玄,以下是他们对于 双11 核心系统 100% 上云背后云原生的技术思考。
王坚院士曾在很多场合都和阿里的技术人员讲到:阿里云作为一家输出技术的公司,我们需要做到和我们的客户在同一架“飞机”上,而不仅仅是“造飞机”或看着“飞机”在空中飞,阿里经济体云化最重要的就是要做到让我们和客户在同一架“飞机”上。
早在几年前,阿里巴巴经济体就开始借助阿里云的机器资源来支撑 双11 零点的高峰,云的弹性资源优势使得 双11 的机器资源投入成本下降超过 50% 以上,但在这些机器资源上部署的却是我们自己的技术体系,例如容器、中间件、数据库、缓存等,也就意味着我们和客户其实是在不同类型的“飞机”上,而且阿里巴巴经济体在的“飞机”是专为阿里巴巴定制打造的,外部客户是买不到的,这是一个典型的从 Hosting 演进到 Cloud Hosting 的阶段。为了切实做到和客户在同一架“飞机”上,在今年 3 月份,阿里云智能事业群 CTO 张建锋(花名:行癫)正式对外宣布未来一到两年,阿里巴巴百分之百的业务要跑在公共云上,成为“云上的阿里巴巴”。
阿里巴巴经济体云化是阿里技术发展史上继之前的分布式架构、异地多活后的又一轮巨大的架构升级,这次架构升级需要把我们从 Cloud Hosting 演进到 Cloud Native,Cloud Native 作为技术圈最火热的名词,不同的人的眼中有不同的定义,我们认为 CloudNative 带来的是一次系统构建方式的巨大变革,Cloud Native 是指业务系统的构建从基于自有、封闭的技术体系,走向基于开放、公共的 Cloud 的技术体系。
在 Cloud Native 时代之前,多数公司随着业务的发展,或多或少都会打造出自有、封闭的技术体系,这一方面造成了巨大的投入,使得公司的技术人才力量没有完全专注的投入在业务上,另一方面也造成了这个行业人才流动的困难,因为知识体系的不同,每到一家新的公司几乎都是全新的一套,这个一定程度上影响了业务创新的速度,尽管很多的开源产品在一定程度上有助于解决这个问题,但还不足以体系化,而在 Cloud Native 时代,我们认为会有两个典型的特征:
按照这样的思路,阿里巴巴经济体云化在走向 Cloud Native 的道路上,我们的原则是:
按照这样的原则,随着阿里经济体云化项目的进展,阿里的业务系统就必将完成从基于自有、封闭的自有体系构建,进化到和阿里云的客户一样,基于阿里云上公共的技术产品的体系来构建,从而实现和客户在同一架“飞机”上。
在这个双11,我们在以下几个方面有了一些不错的进展:
超大规模 Kubernetes 实践
2017 年下半年,阿里集团开始尝试使用 Kubernetes API 来改造内部自研平台,并开始了对应用交付链路的改造,以适配 Kubernetes。2018 年下半年,阿里集团和蚂蚁金服共同投入 Kubernetes 技术生态的研发,力求通过 Kubernetes 替换内部自研平台,实现了小规模的验证,支撑了当年部分 双11 的流量。
2019 年初,阿里经济体开始进行全面上云改造,阿里集团通过重新设计 Kubernetes 落地方案,适配云化环境,改造落后运维习惯,在 618 前完成了云化机房的小规模验证。2019 年 618 之后,阿里集团内部开始全面推动 Kubernetes 落地,在大促之前完成了全部核心应用运行在 Kubernetes 的目标,并完美支撑了 双11 大考。
阿里巴巴超大规模 Kubernetes 落地,经受了双11大促真实场景的考验, 单集群能支撑万级别 Node、十万级别 POD 的规模。我们推进了三个方面改造:面向终态的改造;自愈能力改造;不可变基础设施改造。相比原有传统的运维链路,扩容效率提升了 50%,集群节点在线率达到了99.9%以上。
阿里巴巴云原生化的最佳组合:Kubernetes+容器+神龙
今年 双11,我们通过 K8s+容器+神龙的最佳组合实现了阿里核心系统 100%以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。基于 0 虚拟化开销的神龙裸金属,通过使用行业标准的容器与调度、编排、管理技术,推动经济体云原生技术全面升级。容器性能提升 10%、神龙节点可调度率达到 99% 以上、容器稳定性与在线率全面提升。
Service Mesh 超大规模落地
阿里巴巴在 双11 的部分电商核心应用上落地了完整的 Service Mesh 解决方案,借助 双11 的严苛业务场景完成了规模化落地前的初步技术验证;蚂蚁金服也实现了 Service Mesh 的大规模落地。Service Mesh 所带来的变化体现于:服务治理手段从过去的框架思维向平台思维转变;技术平台的建设从面向单一编程语言向面向多编程语言转变。
Service Mesh 创造了一次以开发者为中心去打造面向未来的分布式应用开发平台的机会,给其他技术产品创造了重新思考在云原生时代发展的机会,给技术基础设施如何与业务基础技术更好地协同提供了一次探索机会,并为探索面向未来的异地多活、应用永远在线的整体技术解决方案打开了一扇大门。
点击下载
原文链接
本文为云栖社区原创内容,未经允许不得转载。