看阿里云云原生架构白皮书

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/07/21/cloud-architecture-paper/



阿里云于近日发布了《云原生架构白皮书》,对外开放下载

白皮书主要分三大块,第一部分主要是云原生的定义和主要技术,第二部分自然是阿里云作为国内最大的云服务厂商对于云原生架构设计的思考,围绕在周围的相关产品体系和相关实践案例,第三份部分是对于未来发展趋势的研判。

整体来说内容还是比较充实,对于已经在阿里云上有投入或者准备投入的开发者还是值得一看的。

云原生

云原生是Pivotal的Matt Stine于2013 年首次提出,然后这个概念一直沿用至今。云原生发展至今有6年以上,目前看处于第四阶段。

孵化期(2013年-2014年)
Docker、微服务、DevOps等的流行,云原声概念初步成型,CNCF的成立,Kubernetes的开源更是补齐了发展的缺乏要素。
高速发展(2015 年 - 2016 年
云原生的容器编排之争落幕,周边生态开始成型。
野蛮生长 (2017年-2018年)
大量云原生生态体系的开源项目出现并爆发式增长,Istio、Prometheus、Envoy等相继从CNCF毕业。
推广期(2019 年至今)
OAM诞生,定义了云原生应用标准。云厂商的产品体系也趋于完善,经多多年推广,加上大量成熟实践,已经逐步为企业接受。

云原生的定义各家自然有各家的看法,单从字面上看云原生就是要支持云化,而且要方便的支持云化。
就这一点看我个人觉得中国信息通信研究院的定义简单直接,它总结云原生的概念为“适合云的应用”和“好用的云架构”。
Pivotal作为云原生的先驱和探路者,对于云原生的定义前后有变动,其中包括大家熟知的符合12要素的应用,面向微服务等,再到后面的6大特性(模块化、可观测、可部署、可测试、可处理、可替换),现在Pivotal的定义是DEVOPS、持续交付、微服务、容器。

而阿里云此次的白皮书怎么说的呢?


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

这一个说法其实和OAM的定义比较接近,着眼于关注点分离。阿里云白皮书的拆分拆成了三类

  • 业务代码
  • 三方软件
  • 处理非功能特性代码

而核心特性上提出了七个原则,这个和Pivotal之前的六大特定接近,但是强调了作为云厂商优势的弹性原则。另外就是架构持续演进原则,强调要从架构设计上考虑云迁移的成本/风险,技术上采用数据迁移、网关灰度等方式进行细粒度控制。

产品体系

任何厂商白皮书都会提到自身的产品体系,阿里云云原生架构白皮书中的体系图如下:

阿里云目前大部分产品都是三种路线:

  • 自身开源+商业结合的方式进行

除了之前捐献给Apache的RocketMQ、Dubbo外,还有目前阿里自行运营的开源项目Nacos、Fescar等。

  • 其他开源软件商业运行

比如阿里云产品体系中的ACK、ARMS、ASM、消息队列等都是基于知名开源软件构建,部分包含自研的产品,也是兼容协议/标准的。

  • 自研系统

前两种产品的迁移难度都不低,大部分可以先期自行使用开源版本,后期迁移的方式推进。阿里云产品体系中还有一部分是自研的,也是极具竞争力的产品,比如PolarDB、PolarDB-X。

其他

云原生关键技术,实践案例等这些阿里云白皮书也有提到,内容基本和目前已有的白皮书对齐。不过有专门一部分介绍了OAM,这是微软、阿里云共同发布的一个开源项目,其主要目标是解决标准化应用定义。如果之前没有了解过,这块蛮值得看看的。

云原生架构成熟度模型在白皮书中也有提到,这个评估模型在本次白皮书之前就已经有了,虽然我觉得此类模型的打分比较主观,但是各个维度还是可以作为一个很好的参考。

阿里云并不是第一个放出云原生相关白皮书的厂商,如果感兴趣还可以看看其他资料

云计算开源产业联盟的云原生技术实践白皮书

Google Cloud 白皮书 (这里面的内容比较散)

中国电子技术标准化研究院的云计算标准化白皮书

行业云原生应用白皮书

链接

阿里云云原生架构白皮书:https://developer.aliyun.com/topic/cn-architecture-paper

OAM: https://github.com/oam-dev/spec

Migrating to Cloud-Native Application Architectures:https://tanzu.vmware.com/content/ebooks/migrating-to-cloud-native-application-architectures

CNCF Cloud Native Definition v1.0:https://skyao.io/learning-cloudnative/introduction/definition.html



本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/07/21/cloud-architecture-paper/

发表评论