云原生-应用开发的最佳实践原则,12-Factor

514 阅读1分钟

介绍

12-Factors 经常被翻译为12因素,符合12因素的应用则称为12因素应用。

Heroku(HeroKu于2009年推出公有云PaaS)于2012年提出12因素,告诉开发者如何利用云平台提供的便利来开发更具可靠性和扩展性、更加易于维护的云原生应用。

为此还有一个专门的12因素网站: 12factor.net/ ,以及这个网站内容的中文版本:
12factor.net/zh\_cn/

具体内容

云原生-应用开发的最佳实践原则,12-Factor

Factor

描述

Codebase
基准代码

One codebase tracked in revision control, many deploys
一份基准代码,多份部署

Dependencies
依赖

Explicitly declare and isolate dependencies
显式声明依赖关系

Config
配置

Store config in the environment
在环境中存储配置

Backing services
后端服务

Treat backing services as attached resources
把后端服务当作附加资源

Build, release, run
构建,发布,运行

Strictly separate build and run stages
严格分离构建和运行

Processes
进程

Execute the app as one or more stateless processes
以一个或多个无状态进程运行应用

Port binding
端口绑定

Export services via port binding
通过端口绑定提供服务

Concurrency
并发

Scale out via the process model
通过进程模型进行扩展

Disposability
易处理

Maximize robustness with fast startup and graceful shutdown
快速启动和优雅终止可最大化健壮性

Dev/prod parity
开发环境与线上环境等价

Keep development, staging, and production as similar as possible
尽可能的保持开发,预发布,线上环境相同

Logs
日志

Treat logs as event streams
把日志当作事件流

Admin processes
管理进程

Run admin/management tasks as one-off processes
后台管理任务当作一次性进程运行

云原生-应用开发的最佳实践原则,12-Factor

12因素在云原生架构中的体现:

云原生-应用开发的最佳实践原则,12-Factor