写点什么

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

  • 2021-01-07
  • 本文字数:5041 字

    阅读完需:约 17 分钟

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

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


云原生时代下的企业 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-01-07 16:342513
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 387.6 次阅读, 收获喜欢 1980 次。

关注

评论

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

发布你的开源软件到 Ubuntu PPA

hedzr

#Ubuntu Debian packaging ppa

dart系列之:手写Library,Library编写最佳实践

程序那些事

flutter dart 程序那些事 12月日更

跟着动画学Go数据结构之堆排序

宇宙之一粟

golang 数据结构 排序算法 Go 语言 12月日更

解析Redis操作五大数据类型常用命令

华为云开发者联盟

数据库 redis string 数据类型 getset

喜提双奖 | 旺链科技彰显综合硬实力!

旺链科技

区块链 产业区块链 供应链

Go编译原理系列2(词法分析&语法分析基础)

书旅

Go 后端 编译原理

​使用 Amazon Neptune 通过数据仓库构建知识图谱,借此补充商务智能体系

亚马逊云科技 (Amazon Web Services)

Data

利用极狐GitLab DevSecOps 功能检测 log4j 的多种方式

极狐GitLab

MySQL 中 blob 和 text 数据类型详解

Simon

MySQL

蓝格赛(中国)用TDengine落地聚合查询场景,效果如何?

TDengine

数据库 tdengine 后端

React进阶(十二):HOOK

No Silver Bullet

React Hooks 12月日更

XEngine:深度学习模型推理优化

华为云开发者联盟

深度学习 模型推理 显存优化 计算优化 XEngine

一个简单的单体服务流量标记demo

zuozewei

Java 性能测试 全链路压测 12月日更

轻松驾驭EB级千万QPS集群,TDSQL新敏态引擎元数据管控与集群调度的演进之路

腾讯云数据库

tdsql 国产数据库

重装上阵——Graviton2提升Aurora性价比

亚马逊云科技 (Amazon Web Services)

Data

java开发之SSM开发框架

@零度

Java ssm

元宇宙地产:品牌和投资者的大好机会?

devpoint

以太坊 NFT 元宇宙 12月日更

webpack打包过程如何调试?

汪子熙

前端 前端开发 webpack 28天写作 12月日更

DM 分库分表 DDL “悲观协调” 模式介绍丨TiDB 工具分享

PingCAP

JDK ThreadPoolExecutor核心原理与实践

vivo互联网技术

jdk ThreadPoolExecutor Java 开发

前沿干货!深度揭秘TDSQL新敏态引擎Online DDL技术原理

腾讯云数据库

tdsql 国产数据库

又拿奖了!腾讯云原生数据库TDSQL-C斩获2021PostgreSQL中国最佳数据库产品奖

腾讯云数据库

tdsql 国产数据库

一文带你梳理Clang编译步骤及命令

华为云开发者联盟

编译 LLVM Clang编译 Clang 编译命令

鲲鹏HCIA认证之初识鲲鹏

桥哥技术之路

鲲鹏

盘点 2021|不忘初心,扬风起航

小鲍侃java

盘点2021

React进阶(十一):create-react-app脚手架关闭 eslint 提醒

No Silver Bullet

React 12月日更 creat-react-app

云图说|初识数据库和应用迁移UGO

华为云开发者联盟

数据库 华为云 UGO 异构迁移

如何将Amazon RDS与Amazon Aurora数据库迁移至Graviton2?

亚马逊云科技 (Amazon Web Services)

Data

内核干货不容错过,龙蜥内核的Load Averages剖析直播回顾上线了

OpenAnolis小助手

Linux Kenel 内核 龙蜥社区

一文详解TDSQL PG版Oracle兼容性实践

腾讯云数据库

tdsql 国产数据库

「山东城商行联盟」数据库准实时数据采集系统上线,DataPipeline助力城市商业银行加快数字化转型

DataPipeline数见科技

数据库 中间件 数据同步 数据融合 数据管理

别再空谈云原生,来看实战方法论_服务革新_小智_InfoQ精选文章