云计算时代应用设计十二要素

云计算
在云计算时代,什么样的软件可用性和可维护性好?什么样的代码才能避免后续开发的上手障碍?什么样的实行才能稳定的运行在分布式的环境中?PaaS 服务提供者Heroku 提出了推荐的应用十二风格

云计算时代应用设计十二要素

  • 什么样的软件才是可用性和可维护性好的软件?
  • 什么样的代码才能避免后续开发的上手障碍?
  • 什么样的实行才能稳定的运行在分布式的环境中?

Heroku (一家 PaaS 服务提供者,2010 年被 Salesforce 收购)平台创始人 Adam Winggins,对我们在云时代的应用设计设计和实现提出了十二种风格,对设计高效的应用,特别是在 PaaS 和 SaaS都有很好的参考意义。

一、代码

每个子系统都用一个代码库管理,使用版本管理,实现独立的部署。

二、依赖

显式声明依赖,通过环境来严格隔离不同依赖。

三、配置

在环境变量中保存配置信息,而避免放在源码或配置文件中。

四、后端服务

后端服务作为可挂载资源来使用,这样系统跟外部依赖尽量松耦合。

五、生命周期

区分不同声明周期的运行环境,包括创建、发布、部署,各个步骤要相互隔离。

六、进程

以一个或多个无状态的进程来运行应用,即尽量实现无状态,不要在进程中保存数据。

七、端口

通过端口绑定来对外提供服务。

八、并发

通过进程控制来扩展,即以多进程模型进行扩展。

九、可丢弃性

快速启动,优雅关闭,并尽量鲁棒(随时 kill,随时 crash)。

十、开发与生产环境的差异性

尽量保持从开发到生产部署环境的相似性。

十一、日志

将日志当作事件流来进行统一的管理和维护(使用 Logstash 等工具)。

十二、管理

将管理作为一次性的系统服务来使用。

博文出处:http://blog.csdn.net/yeasy/article/details/40457885

责任编辑:Ophira 来源: 个人专栏
相关推荐

2023-05-15 07:33:06

云原生自身业务云厂商

2015-06-08 16:20:04

十二要素应用DockerPaaS

2010-03-17 17:41:28

云计算

2013-05-31 17:54:01

谢恩伟微软

2009-10-09 11:00:17

云计算应用Novell CTO

2011-05-24 09:10:25

云计算应用

2009-07-25 17:42:11

2010-02-23 22:12:05

2010-03-23 13:48:26

云计算

2012-11-07 15:47:58

云计算云安全

2010-03-26 16:38:14

云计算

2016-07-01 15:36:18

云计算

2023-12-25 15:10:22

云计算数字化转型云服务转型

2017-08-14 19:14:46

小鸟云

2011-04-18 14:43:55

2019-09-04 17:57:42

混合云云计算云服务

2010-05-12 10:14:39

云计算创新

2012-05-28 10:38:25

imo即时通讯

2009-12-09 11:08:00

Linux开发者

2013-08-08 10:14:52

云存储云计算
点赞
收藏

51CTO技术栈公众号