The Cloud-native Architecture White Paper by Alibaba Cloud 白皮书 生于云 长于云 爆发于云 企业数字化转型最短路径 编写说明 编写单位:阿里云计算有限公司 顾问组成员 阿里云 蒋江伟 贾扬清 丁宇 蚂蚁集团 何征宇 编写组成员(按目录排序) 阿里云 李小平 易立 司徒放 杨浩然 李响 罗毅 张磊 李艳林 张瓅玶 赵燕标 赵林 谢纯良 邱戈川 员海滨 崔飞飞 张勇 付宇轩 许晓斌 雷卷 特步 王海能 定义贡献者(征集活动优选) 陈启涛、莫哈韦、郑富林、王炜、杨树宇、李皓伟 CONTENT The Cloud-native Architecture White Paper by Alibaba Cloud 云原生架构 3 1 2 3 4 序 5 为什么需要云原生架构? 云原生架构的定义 5 云原生架构定义 7 云原生架构原则 9 主要架构模式 13 典型的云原生架构反模式 6 主要云原生技术 15 容器技术 18 云原生微服务 23 Serverless 27 开放应用模型 (OAM) 31 Service Mesh 技术 33 DevOps 38 云原生中间件 45 云原生产品家族 45 容器产品家族 46 微服务产品家族 47 Serverless 产品家族 47 Service Mesh 产品家族 48 消息产品家族 48 云原生数据库产品家族 49 云原生数仓产品家族 云原生架构实践案例 50 案例一: 申通快递核心业务系统云原生化上云 案例 53 案例二: 完美日记电商业务案例 55 案例三: 特步业务中台案例 (零售、公共云) 57 案例四: 中国联通号卡业务云化案例 (传统业 务,专有云) 60 7 阿里巴巴云原生架构设计 40 阿里云云原生产品介绍 ACNA(Alibaba Cloud Native 案例五:Timing App 的 Serverless 实践案例 云原生架构未来发展趋势 63 容器技术发展趋势 Architecting)架构设计方法 67 基于云原生的新一代应用编程界面 41 企业战略视角 68 Serverless 发展趋势 41 业务发展视角 42 组织能力视角 42 云原生技术架构视角 43 架构持续演进闭环 44 云原生架构成熟度模型 3 序 The Cloud-native Architecture White Paper by Alibaba Cloud 回顾过去十年,数字化转型将科技创新与 商业元素不断融合、重构,重新定义了新业态 下的增长极。商业正在从大工业时代的固化范 式进化成面向创新型商业组织与新商业物种的 崭新模式。随着数字化转型在中国各行业广泛 深入,不管是行业巨头,还是中小微企业都不 得不面对数字化变革带来的未知机遇与挑战。 对云计算服务方式与互联网架构进行整体性升 级,深刻改变着整个商业世界的 IT 根基。 虽然云原生概念的产生由来已久,但对于 云原生的定义、云原生架构的理解却众说纷纭。 到底什么是云原生?容器就代表云原生吗?云 原生时代互联网分布式架构如何发展?云原生 与开源、云计算有什么关系?开发者和企业为 数字化转型的十年,也是云计算高速发展 什么一定要选择云原生架构?面对这些问题, 的十年,这期间新技术不断演进、优秀开源项 每个人都有着不同回答。鉴于此,阿里云结合 目大量涌现,云原生领域进入“火箭式”发展 自身云原生开源、云原生技术、云原生产品、 阶段。通过树立技术标准与构建开发者生态, 云原生架构以及企业客户上云实践经验,给出 开源将云计算实施逐渐标准化,大幅降低了开 了自己的答案,并通过这本白皮书与社会分享 发者对于云平台的学习成本与接入成本。这都 自己的思考与总结,旨在帮助越来越多的企业 让开发者更加聚焦于业务本身并借助云原生技 顺利找到数字化转型最短路径。 术与产品实现更多业务创新,有效提升企业增 长效率,爆发出前所未有的生产力与创造力。 可以说,当云计算重构整个 IT 产业的同时, 未来十年,云计算将无处不在,像水电煤 一样成为数字经济时代的基础设施,云原生让 云计算变得标准、开放、简单高效、触手可及。 也赋予了企业崭新的增长机遇。正如集装箱的 如何更好地拥抱云计算、拥抱云原生架构、用 出现加速了贸易全球化进程,以容器为代表的 技术加速创新,将成为企业数字化转型升级成 云原生技术作为云计算的服务新界面加速云计 功的关键。 算普及的同时,也在推动着整个商业世界飞速 演进。上云成为企业持续发展的必然选择,全 面使用开源技术、云服务构建软件服务的时代 已经到来。作为云时代释放技术红利的新方式, 云原生技术在通过方法论、工具集和最佳实践 重塑整个软件技术栈和生命周期,云原生架构 云计算的下一站,就是云原生; IT 架构的下一站,就是云原生架构 ; 希望所有的开发者、架构师和技术决策者 们,共同定义、共同迎接云原生时代。 1 为什么需要云原生架构? 发展背景 计算机软件技术架构进化有两大主要驱动因素,一个是底层硬件升级,另一个是顶层业务发展诉求。 正如伴随着 x86 硬件体系的成熟,很多应用不再使用昂贵、臃肿的大中型机,转而选择价格更为低廉的 以 x86 为主的硬件体系,也由此诞生了包括 CORBA、EJB、RPC 在内的各类分布式架构;后由于互 联网业务飞速发展,人们发现传统 IOE 架构已经不能满足海量业务规模的并发要求,于是又诞生了阿里 巴巴 Dubbo & RocketMQ、Spring Cloud 这样的互联网架构体系。 云计算从工业化应用到如今,已走过十五个年头,然而大量应用使用云的方式仍停滞在传统 IDC 时代: 虚拟机代替了原来的物理机:使用文件保存应用数据,大量自带的三方技术组件,没有经过架构改造(如 微服务改造)的应用上云,传统的应用打包与发布方式等等。对于如何使用这些技术,没有绝对的对与错, 只是在云的时代不能充分利用云的强大能力,不能从云技术中获得更高的可用性与可扩展能力,也不能 利用云提升发布和运维的效率,是一件非常遗憾的事情。 回顾近年来商业世界的发展趋势,数字化转型的出现使得企业中越来越多的业务演变成数字化业务, 数字化对于业务渠道、竞争格局、用户体验等诸多方面都带来更加严苛的要求,这就要求技术具备更快 的迭代速度,业务推出速度从按周提升到按小时,每月上线业务量从“几十 / 月”提升到“几百 / 天”。 大量数字化业务重构了企业的业务流水线,企业要求这些业务不能有不可接受的业务中断,否则会对客 户体验以及营收可能造成巨大影响。 对于企业的 CIO 或者 IT 主管而言,原来企业内部 IT 建设以“烟筒”模式比较多,每个部门甚至每 个应用都相对独立,如何管理与分配资源成了难题。大家都基于最底层 IDC 设施独自向上构建,都需要 单独分配硬件资源,这就造成资源被大量占用且难以被共享。但是上云之后,由于云厂商提供了统一的 IaaS 能力和云服务,大幅提升了企业 IaaS 层的复用程度,CIO 或者 IT 主管自然而然想到 IaaS 以上层 的系统也需要被统一,使资源、产品可被不断复用,从而能够进一步降低企业运营成本。 所有这些问题都指向一个共同点,那就是云的时代需要新的技术架构,来帮助企业应用能够更好地利 用云计算优势,充分释放云计算的技术红利,让业务更敏捷、成本更低的同时又可伸缩性更灵活,而这 些正好就是云原生架构专注解决的技术点。 5 2 云原生架构的定义 今天云原生的定义有众多版本,云原生架构的理解也不尽相同,阿里将根据自身的云原生技术、产品 和上云实践,给出自己的理解。 1 云原生架构定义 从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的 非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、 可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。 传统架构 云原生架构 代码 开发人员 非功能性能力 业务代码编写 运维人员 基础设施运维 业务运维 代码 三方软件使用 非功能性能力 业务代码编写 三方软件调用 IaaS 业务运维 PaaS 云原生架构与传统架构的对比 上图展示了在代码中通常包括三部分:业务代码、三方软件、处理非功能特性的代码。其中“业务代 码”指实现业务逻辑的代码;“三方软件”是业务代码中依赖的所有三方库,包括业务库和基础库;“处 理非功能性的代码”指实现高可用、安全、可观测性等非功能性能力的代码。 三部分中只有业务代码是核心,是对业务真正带来价值的,另外两个部分都只算附属物,但随着软件 规模的增大、业务模块规模变大、部署环境增多、分布式复杂性增强,使得今天的软件构建变得越来越复杂, 6 对开发人员的技能要求也越来越高。云原生架构相比较传统架构进了一大步,从业务代码中剥离了大量 非功能性特性(不会是所有,比如易用性还不能剥离)到 IaaS 和 PaaS 中,从而减少业务代码开发人 员的技术关注范围,通过云厂商的专业性提升应用的非功能性能力。 此外,具备云原生架构的应用可以最大程度利用云服务和提升软件交付能力,进一步加快软件开发: 1 代码结构发生巨大变化 云原生架构产生的最大影响就是让开发人员的编程模型发生了巨大变化。今天大部分的编程语言中, 都有文件、网络、线程等元素,这些元素为充分利用单机资源带来好处的同时,也提升了分布式编程的 复杂性;因此大量框架、产品涌现,来解决分布式环境中的网络调用问题、高可用问题、CPU 争用问题、 分布式存储问题 …… 在云的环境中,比如“如何获取存储”变成了若干服务,包括对象存储服务、块存储服务和没有随机 访问的文件存储服务。云不仅改变了开发人员获得这些存储能力的界面,还在于云产品在这些 OpenAPI 或者开源 SDK 背后把分布式场景中的高可用挑战、自动扩缩容挑战、安全挑战、运维升级挑战等都处理 了,应用的开发人员就不用在其代码中处理节点宕机前如何把本地保存的内容同步到远端的问题,也不 用处理当业务峰值到来时如何对存储节点进行扩容的问题,而应用的运维人员不用在发现 zero day 安全 问题时紧急对三方存储软件进行升级 …… 云把三方软硬件的能力升级成了服务,开发人员的开发复杂度和运维人员的运维工作量都得到极大降 低。显然,如果这样的云服务用得越多,那么开发和运维人员的负担就越少,企业在非核心业务实现上 从必须

pdf文档 阿里云 云原生架构白皮书

文档预览
中文文档 70 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共70页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
阿里云 云原生架构白皮书 第 1 页 阿里云 云原生架构白皮书 第 2 页 阿里云 云原生架构白皮书 第 3 页
下载文档到电脑,方便使用
本文档由 SC2022-10-20 13:22:32上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言