机房360首页
当前位置:首页 » 云计算资讯 » 云计算时代应用设计十二要素

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

来源:51CTO 作者:DJ编辑 更新时间:2015-7-1 10:43:07

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

  什么样的软件才是可用性和可维护性好的软件?

  什么样的代码才能避免后续开发的上手障碍?

  什么样的实行才能稳定的运行在分布式的环境中?

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

  一、代码

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

  二、依赖

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

  三、配置

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

  四、后端服务

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

  五、生命周期

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

  六、进程

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

  七、端口

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

  八、并发

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

  九、可丢弃性

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

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

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

  十一、日志

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

  十二、管理

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

  责任编辑:DJ编辑

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/201571/n057869538.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片