云原生应用凭借”快速运行环境整备、故障隔离、容错、自动故障恢复、易于随用户数量增多而进行容量伸缩、便于移动和多种客户端应用访问“等优势[1]在现代软件开发领域迅速崛起,代表了现代分布式软件系统的开发方向。
云原生应用架构的准则可以包括[2]:
● The 12-Factor App [3]
● 微服务
● 自服务的敏捷基础设施
● 基于API的协作
● 反脆弱性
虽然The 12-Factor App准则描写细致全面,但内容较多,难以记忆。本文将用图解的方式,演绎The 12-Factor App准则,便于读者领会。
由于该准则已有中文版,且英文版定义了云原生应用领域的专有词汇(图中用带下划线的英文表示),所以图解文字使用了英文版。
该图解基于笔者最近几年在辅导企业进行DevOps转型的经验和个人对The12-Factor App准则的理解,使用C4架构描述模型[4]来诠释。为描述方便,引入了一些原文中没有出现的系统,比如Deployment Pipeline。
每张图都是自说明的,无须另加解释。如图文有所纰漏,求指点(wubin28@gmail.com),以做本文的持续改进。
————————
[1][2]引自Pivotal的技术产品经理Matt Stine的文章[Migrating to Cloud-Native Application Architectures](How to migrate to cloud native application architectures like microservices and 12-factor apps)
[3] 参见https://12factor.net/
[4] 参见https://c4model.com/