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

简介:

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

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

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

一、代码

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

二、依赖

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

三、配置

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

四、后端服务

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

五、生命周期

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

六、进程

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

七、端口

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

八、并发

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

九、可丢弃性

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

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

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

十一、日志

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

十二、管理

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


本文作者:yeasy

来源:51CTO

相关文章
|
4月前
|
存储 弹性计算 架构师
笔记:云计算的应用
云计算的应用及厂商
53 0
|
2月前
|
存储 大数据 数据挖掘
云计算与大数据:从基础设施到实际应用
云计算与大数据:从基础设施到实际应用
204 0
|
9天前
|
分布式计算 API 云计算
|
13天前
|
机器学习/深度学习 边缘计算 分布式计算
云计算应用方向研究
云计算应用方向研究
38 0
|
14天前
|
存储 大数据 云计算
云计算:技术与应用的融合之美
云计算:技术与应用的融合之美
29 0
|
18天前
|
存储 调度 云计算
云计算:技术解析与实践应用
云计算:技术解析与实践应用
29 0
|
18天前
|
存储 分布式计算 调度
云计算:原理、应用与编程实践
云计算:原理、应用与编程实践
13 0
|
20天前
|
存储 数据库 云计算
云计算数据库应用
云计算数据库应用
26 0
|
26天前
|
存储 机器学习/深度学习 物联网
云计算的物联网应用:智能化转型的关键
本文探讨了物联网(IoT)与云计算的结合及其在数据处理中的应用。物联网通过连接设备进行数据交换,而云计算提供资源处理和存储。核心概念包括物联网的无线通信、传感、微控制器及数据技术,以及云计算的虚拟化、分布式计算、存储和网络技术。两者协同工作,云计算助力物联网处理大量数据,实现高效分析。文章还介绍了数据预处理、分析(如统计学、机器学习、深度学习)和应用的算法,以及数据应用的实例,展示了如何在智能家居系统中运用这些方法。未来,面对大数据、安全与隐私、实时性及边缘计算的挑战,物联网与云计算将继续发展。
73 2