写点什么

别再空谈云原生,来看实战方法论

2021 年 1 月 07 日

别再空谈云原生,来看实战方法论

云原生,不仅需要行业标准,更需要一套行之有效的实战方法论。


云原生时代下的企业 IT 实战


技术的变迁史下,从来只有事实标准——比如赢得容器编排之战的 Kubernetes——而鲜有行业标准。


云原生自 2013 年由 Pivotal 首次提出至今已历 7 年,这 7 年间关于云原生的定义已经发生了多次变化,云原生概念本身也一直在不断地生长、扩张。企业、开发者各自有不同的解读,行业各方也有各异的理解。


云原生行业没有标准,云原生行业全是标准。


这是云原生行业最真实的写照。


在 InfoQ 看来,制约云原生技术更进一步落地的原因有很多,除了概念、标准的模糊不清,也包括企业数字化转型的浪潮中,传统行业对云原生价值认知的模糊、企业云原生技术能力参差不齐、云原生落地浮于表面、云原生化 IT 架构改造面临沉重历史包袱等现实问题。


企业缺少的并不是云原生概念的解释,也不是云原生架构的设计图,而是真正从场景出发,经过实践考验的云原生落地方法论。


近日,InfoQ 独家专访了阿里云云原生应用平台负责人丁宇、《云原生架构白皮书》主笔人李小平,期望从千行百业全面云原生化的特性中,找出云原生落地的真正共性,以帮助行业更好地落地云原生。

云原生技术面面观


15 年积累的云原生实战经验,既是阿里技术在探索、积累、创新的宝贵财富,也是行业云原生落地过程中可供参考的来自真实场景、复杂业务、海量并发下的最佳实践。



阿里云云原生应用平台负责人丁宇向记者表示:


疫情下的线上流量冲击,放大了生于云长于云的 IT 架构的优越性,加速了行业对云原生的接受度。云原生从最开始的互联网行业起步,已经逐渐扩散到金融、政务、物流等各行各业,形成了一种千行百业拥抱云原生的现象。


但在云原生的落地过程中,由于各行业的特性不同,各企业成长起来的时期不同,导致 IT 架构上仍旧存在比较大的历史包袱,如何更好地拥抱云原生要解决的不仅是迁移成本,还有时间周期、开发人员观念转变等多个难题。阿里云希望在行业数字化转型、拥抱云原生的进程中,将这 15 年云原生实战的经验带给行业,帮助大家真正落地云原生。


向技术要红利


云原生行业在千行百业落地的过程中遇到了千人千面的问题。概念的模糊不清,技术实力的参差不齐,反映出了企业在云原生落地时的窘境:知道云原生很重要,但不知道如何利用云原生的价值,实现业务的革新。


在丁宇看来,云原生落地的过程并不复杂,本质上就是要吃到技术发展的红利。


云计算行业这么多年的发展,核心价值就是来自于资源的池化与良好的弹性,对企业而言从采购成本变成了租赁成本,这是最本质的变化。在使用云的过程中,企业发现从底层的操作系统到上层的监控运维再到全套的部署开发都需要自己参与,由此又引来了容器化对弹性的最大释放,进而带来了由微服务、容器、Service Mesh 等标准化技术对企业带来的技术升级,解决了技术包袱、迁移成本的问题。


云原生的技术和产品把企业的基本服务先打通,然后提升技术效率,降低资源成本,提高研发效率,缩短业务上线时间。我们认为,云原生可以最大化释放云红利,是企业数字化转型的最短路径。


对于开发者而言,好处同样明显。从业务角度看,应用开发者对基础设施的关注会越来越少,更多只需要专注在业务逻辑本身。而随着云原生概念下各技术的逐渐标准化,未来应用开发者面对的开发和生产环境也会越来越标准化,省去复杂的环境搭建和管理等环节。


在阿里集团内部,丁宇提到了两个云原生红利的具体案例:


一个是考拉的云原生实践,考拉也是阿里云今年做的一个“样板间”。在迁移到阿里云的过程中,由于整体的技术体系相对开放和标准化,比如像 Dubbo 这样的开源分布式微服务框架的使用,以及先进研发理念、工具平台的落地,使得考拉的研发效率得到了大幅提升。包括业务快速上线的一些服务和功能,都是在阿里云平台下提供的支持,省去了二次开发的成本。


另外则是以高德、淘宝、闲鱼等为代表的案例。在这其中,通过云原生化的改造,让其从开发、测试、运维到上线的全生命周期具备良好的弹性容灾、流量控制等能力,大大提升了开发效率。这其中也广泛应用到了阿里云的 Serverless 产品,对不同业务带来了 30% 左右的效能提升。但我们考量的点还是在于技术给场景带来的红利是否真正有效,绝不是为了云原生化而云原生化。


再举个通俗的例子,云原生技术让双 11 万笔交易成本 4 年下降了 80%!形象一点说,在双 11 场景下,阿里以前做 1 万笔交易要花 100 块,而现在只要 20 块,再乘以阿里的交易规模系数,可以看到这个成本节省的红利是巨大的。

向最佳实践要方法


2019 年,阿里实现了核心系统全面上云。2020 年,阿里实现了核心系统全面云原生化。


而在刚刚过去的 2020 双十一购物节上,阿里云创造了诸多“云原生的第一次”:80% 核心业务部署在阿里云容器 ACK 上,可在 1 小时内扩容超百万容器;首次在核心业务上大规模应用 Serverless,弹性伸缩性能提升 10 倍以上;云原生中间件峰值调用量超百亿 QPS;云原生数据库 PolarDB 和云原生数仓 AnalyticDB 首次在核心业务上应用,分别提升 50% 读写性能和 100 倍 TPS……


这是全球最大规模的云原生实践,也是阿里云帮助企业推进云原生落地的底气所在。


从核心系统全面上云,再到核心系统全面云原生化,两大技术战略的交替背后,有着怎样的逻辑关系?丁宇表示,这其实是一个自然而然的过程。


从核心系统全面上云,带来了一个维度的升级。云原生上云背后,变成了如何在云上创新,如何更好地全面使用云原生产品释放技术的价值,背后代表的是一个良好的生态、标准化的服务、完整的技术体系。


未来的企业在上云以后,下一步一定是全面地使用好云。现阶段很多企业对云的使用还停留在 IaaS 阶段,从阿里云的角度,我们需要去帮助他们实现一个标准的云原生化上云。


怎么样在“没有标准、全是标准”的云原生行业落地实战方法呢?丁宇提到,


其实光推标准,没有实际落地的话,很容易流于概念。阿里最近几年开源的 Dubbo、RocketMQ、OAM、OpenKruise、OpenYurt 等等,都是在行业中得到广泛接受和使用的开源项目。开源本质上就是一种促进标准化的方式,云计算变得越来越标准化也得益于开源的发展。


今年阿里云也成立了云原生技术委员会,提出了一个三位一体的核心策略,即社区的标准化技术与阿里用的技术、对外服务企业的技术达成一致,互相兼容。所以,我们一定是往开源开放的标准上去兼容。


一方面是阿里自身业务规模化带来的云原生能力的持续提升,另一方面则是阿里云服务数百万客户积累下的落地经验,二者的印证、融合,顺理成章地引出了云原生行业方法论的诞生。

云原生实战方法论


丁宇向记者介绍了这套实战方法论背后的起源:


阿里巴巴 2006 年开始自研互联网分布式中间件,2011 年实现了全面落地容器,2019 年实现了核心系统的 100% 云化,2020 年开始推动云原生上云,这背后 15 年所积累的云原生实战方法论,对行业来说比较有参考价值。


2020 年,由阿里云 20+ 位云原生技术专家共同编撰的《云原生架构白皮书》正式对外发布。这是业界第一本全方位构建云原生架构规划与实践全景图的白皮书,在详细阐述云原生架构定义的同时,完整展示了云原生架构应用所需的演进路径与设计规则,也是阿里云 15 年云原生实战经历的智慧结晶。


《云原生架构白皮书》主笔人李小平向记者介绍到:


云原生的实战过程中,最大的挑战还是企业究竟选用哪些云原生技术去为其产生价值。很多企业对云原生的理解参差不齐,互联网行业对云原生的理解度相对领先,传统行业对云原生的理解和接受度都比较滞后。每个行业各自不同的历史包袱也决定了其云原生化改造的难度不一。从这个角度上看,阿里云发布《云原生架构白皮书》正是想从阿里自身以及服务客户的云原生实战中抽象出普适的方法论,帮助各行各业落地云原生。


互联网技术飞速发展的数十年间,每隔十年左右就会有一次 IT 架构的大革新。恰逢其时吃到技术红利的企业,由此驶入飞速发展的快车道。从单体、微服务一路走来,今天的这个技术架构称之为云原生架构,其也是企业落地云原生成败的关键。


从技术的角度,云原生架构作为基于云原生技术的架构原则与设计模式的集合,旨在将云应用中的非业务代码部分进行最大化剥离,让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特性。


云原生架构比传统架构先进了一大步,从业务代码中剥离了大量非功能性特性 (不会是所有,比如易用性还不能剥离) 到 IaaS 和 PaaS 中,从而缩小业务代码开发人员的技术关注范围,通过云厂商的专业性提升应用的非功能性能力。



阿里云以自身实践以及大量客户服务经验为核心,形成了一套云原生架构设计方法——ACNA(Alibaba Cloud Native Architecting)。ACNA 作为 「4+1 」架构设计流程,「 4」 代表架构设计关键视角,包括企业战略视角、业务发展视角、组织能力视角和云原生技术架构视角;「1」 代表云原生架构持续演进闭环,并提出云原生架构成熟度模型帮助企业评估业务段云原生成熟度。



云原生架构成熟度模型:关键指标维度


依据这样的指标,对企业云原生应用现状进行打分,得出企业的云原生架构成熟度,如图所示:



云原生架构成熟度模型


李小平表示:


如果按照当前的这个云原生成熟度模型去评价行业里的云原生落地现状,大部分企业仍旧处在 ACNA 的 1 和 2 之间。以服务化能力为例,单体的应用在很多传统行业仍旧非常普遍,微服务架构的治理能力在很多互联网企业里也仍有欠缺,没有形成体系化的技术能力。


云原生架构成熟度模型提出的最大意义,在于对企业云原生化现状、能力和发展路径不清晰等问题,给出了评估与优化方向,帮助企业走上数字化转型“最短路径”。以完美日记电商业务云原生化改造为例,通过引入阿里云容器服务 ACK、Spring Cloud Alibaba、PTS、AHAS、链路追踪等配套产品,对应用进行容器化改造部署,优化了配套的测试、容量评估、扩所容等研发环节,提升了产研效率。



完美日记核心应用架构示意图


除了营销大促的电商领域,不管是游戏休闲还是音视频直播等行业,云原生化改造能帮助其在当前越来越复杂的业务变化下,提供极致弹性可用能力。同时在业务迭代的过程中,从应用开发、测试、发版、产品交付的全过程中,践行 DevOps 文化,实现全生命周期的敏捷交付。


当前,云原生技术在业务创新的过程中也开始与其他先进技术发生了耦合,个性推荐、自动驾驶等都与云原生技术一起缩短了业务创新的耗时。另一方面,以机密计算、DevSecOps 为代表的安全前置的技术与理念又加强了云原生落地过程中对核心业务安全可信的保障。这是云原生实战方法论对真实的、场景化的业务带来的可落地、可借鉴的想象空间。


至于《云原生架构白皮书》里提到的方法论能否成为云原生行业未来的事实标准?李小平从自己的角度也给出了看法和期许:


行业如果要形成标准,一定要有更多的参与者共建,才有可能成为一种事实标准。从阿里的角度,我们会不断去推动这个过程,但阿里不会是其中的唯一主导,还会邀请众多云原生权威协会、合作伙伴、客户等,共同去推动行业标准的落地。我们更加关注的,仍然是更具实用性、普惠性和通用性的云原生实战方法。

打造一个云原生的产业共同体


全球技术圈近年来开始逐渐形成一个统一的认识:中国规模的技术沙盒将越来越成为技术创新、试验的最好土壤。


在这个拥有着 14 亿人口、动辄电商大促的试验田里,峰值交易量超 50 万笔、数据总量近千 PB 的流量将成为新常态,这对技术能力带来的“压榨”是全方位的。中国互联网的庞大规模已经变成了一个历练技术的沙盒,用于创建和测试各种新的解决方案。


云原生虽兴起于北美,却极有可能在中国互联网场景下走向成熟。从今年 9 月 18 日的杭州云栖大会,到 12 月 23 日的云原生实战峰会,InfoQ 都受邀参加并做了独家报道。


云原生技术委员会的成立;《云原生架构白皮书》的撰写;云原生人才计划、云原生合作伙伴计划的发布;云原生实战联盟的成立……这一桩桩一件件背后体现的,不只是阿里云对云原生技术的投入,同样也少不了云原生产品家族的丰富,更少不了人才的培养、生态的建立。


15 年云原生实战背后的沉淀远非一夕之功,阿里云“开源”的这套实战方法论也还没成熟到成为终极解决方案的程度,却给了“没有标准、全是标准”的行业以设计原则、实践路径和案例分析,终将成为企业落地云原生的最佳参考。


总有人告诉你,云原生是未来,却没有人告诉你,未来如何到来。


阿里云的答案是:面向云原生产业全局,依托最佳实践的能力输出,建设全面的云原生产业生态,与全行业共同携手,推动云原生的落地,以实现技术普惠为终极目标。


2021 年 1 月 07 日 16:341286
用户头像
小智 前 InfoQ 主编

发布了 399 篇内容, 共 312.6 次阅读, 收获喜欢 1737 次。

关注

评论

发布
暂无评论
发现更多内容

两个程序员老友的会面

Learun

敏捷开发

iOS性能优化 — 三、安装包瘦身

iOSer

ios 性能优化 编程语言 ios开发 安装包瘦身

暂存图片

而立

架构师训练营第一期 - 第五周课后作业

卖猪肉的大叔

1分钟带你入门 React 生命周期

Leo

react.js 前端 React 生命周期 前端进阶训练营

第五周课后总结

饭桶

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(五)

陈泽云

人工智能 数据库 大数据 操作系统

这个应用魔方厉害了,让软件开发者效率提升10倍

华为云开发者社区

软件开发 代码

让“物”能说会道,揭晓华为云IOT黑科技

华为云开发者社区

物联网 华为云

交易所开发需要多少钱?区块链交易所开发

135深圳3055源中瑞8032

广东USDT支付系统开发服务商,区块链跨境支付

135深圳3055源中瑞8032

架構師訓練營第 1 期 - 第 05 周作業

Panda

架構師訓練營第 1 期

文石BOOX Note Air与掌阅iReader Smart2 该怎么选?

Geek_459987

区块链合约跟单系统开发价格,合约API跟单

135深圳3055源中瑞8032

标准的开发框架,对企业开发有多重要?

Philips

敏捷开发

第五周课后练习

饭桶

黑幕!爆京东18A技术专家纯手打:小团队构建大网站架构实战

996小迁

Java 学习 架构 面试 笔记

算法图解:如何用两个栈实现一个队列?

王磊

Java 数据结构 算法和数据结构

前端科普系列(5):ESLint - 守住优雅的护城河

vivo互联网技术

Java 前端 代码仓库

云原生2.0时代:开启应用定义基础设施新时代

华为云开发者社区

容器 云原生

马云:数字货币可能会重新定义货币

CECBC区块链专委会

金融

穆长春:数字人民币“双离线”支付开发完毕后续将试点

CECBC区块链专委会

数字钱包

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

古月木易

奈学教育

中台架构下的DDD和落地实践

高鹏

业务中台 DDD 领域驱动模型DDD 中台架构 中台架构 DDDplus

架构师训练营第一期 - 第五周学习总结

卖猪肉的大叔

LeetCode题解:46. 全排列,回溯,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

既不能神化,也不要泛化区块链

CECBC区块链专委会

金融 数字技术

使用Hugo和GitHub搭建博客

Félix

GitHub GitHub Pages Blog Hugo

架构师训练营第 1 期 - 第 5 周 - 作业

wgl

极客大学架构师训练营

区块链数字货币钱包开发,多币种钱包APP

135深圳3055源中瑞8032

一文带你掌握Redis操作指南

华为云开发者社区

数据库 存储

别再空谈云原生,来看实战方法论-InfoQ