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

简介:

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

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

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

一、代码

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

二、依赖

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

三、配置

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

四、后端服务

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

五、生命周期

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

六、进程

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

七、端口

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

八、并发

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

九、可丢弃性

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

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

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

十一、日志

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

十二、管理

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


本文作者:yeasy

来源:51CTO

相关文章
|
3月前
|
Cloud Native 安全 网络安全
云计算与网络安全:技术融合与挑战云原生技术在现代软件开发中的应用
【8月更文挑战第28天】在数字时代的浪潮中,云计算和网络安全成为信息技术领域的两大支柱。本文将探讨云计算服务的分类、特点及其面临的安全威胁,分析网络安全的基本概念、重要性以及信息安全的关键要素。同时,文章将深入讨论云计算环境下的网络安全问题,包括数据保护、访问控制和合规性挑战,并提出相应的解决策略和技术措施。最后,通过一个代码示例,展示如何在云计算环境中实现基本的数据加密,以增强信息的安全性。 【8月更文挑战第28天】 随着云计算技术的飞速发展,云原生技术已成为推动软件行业创新的关键力量。本文将深入探讨云原生的核心概念、优势以及如何在现代软件开发中有效利用云原生技术。我们将通过具体案例,展示
|
1月前
|
机器学习/深度学习 边缘计算 人工智能
探索云计算的未来:技术趋势与应用场景
【10月更文挑战第4天】探索云计算的未来:技术趋势与应用场景
70 7
|
6月前
|
存储 分布式计算 算法
Google云计算原理与应用(四)
Google云计算原理与应用(四)
142 3
|
6月前
|
存储 监控 关系型数据库
Google云计算原理与应用(三)
Google云计算原理与应用(三)
158 3
|
2月前
|
机器学习/深度学习 安全 网络安全
云端盾牌:云计算时代的网络安全守护在这个数字脉搏加速跳动的时代,云计算以其高效、灵活的特性,成为推动企业数字化转型的强劲引擎。然而,正如每枚硬币都有两面,云计算的广泛应用也同步放大了网络安全的风险敞口。本文旨在探讨云计算服务中网络安全的关键作用,以及如何构建一道坚不可摧的信息防线,确保数据的安全与隐私。
云计算作为信息技术领域的革新力量,正深刻改变着企业的运营模式和人们的生活。但在享受其带来的便利与效率的同时,云服务的安全问题不容忽视。从数据泄露到服务中断,每一个安全事件都可能给企业和个人带来难以估量的损失。因此,本文聚焦于云计算环境下的网络安全挑战,分析其根源,并提出有效的防护策略,旨在为云服务的安全使用提供指导和参考。
65 8
|
3月前
|
存储 分布式计算 Java
Java在云计算中的应用如何?
Java在云计算中的应用如何?【8月更文挑战第11天】
156 4
|
3月前
|
存储 边缘计算 安全
边缘计算与云计算的协同工作:技术解析与应用前景
【8月更文挑战第4天】边缘计算与云计算的协同工作是未来信息技术发展的重要趋势。通过合理地分配任务和资源,两者可以相互补充、发挥各自的优势,实现更高效的数据处理和分析。这种协同模式不仅提高了系统的性能和可靠性,还满足了复杂多变的应用需求,为人工智能、物联网等技术的发展提供了强有力的支持。
205 11
|
3月前
|
SQL 数据管理 关系型数据库
SQL与云计算:利用云数据库服务实现高效数据管理——探索云端SQL应用、性能优化、安全性与成本效益,为企业数字化转型提供全方位支持
【8月更文挑战第31天】在数字化转型中,企业对高效数据管理的需求日益增长。传统本地数据库存在局限,而云数据库服务凭借自动扩展、高可用性和按需付费等优势,成为现代数据管理的新选择。本文探讨如何利用SQL和云数据库服务(如Amazon RDS、Google Cloud SQL和Azure SQL Database)实现高效的数据管理。通过示例和最佳实践,展示SQL在云端的应用、性能优化、安全性及成本效益,助力企业提升竞争力。
63 0
|
3月前
|
机器学习/深度学习 网络安全 TensorFlow
探索操作系统的心脏:内核与用户空间的奥秘云计算与网络安全:技术挑战与未来趋势深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【8月更文挑战第29天】在数字世界的每一次点击与滑动背后,都隐藏着一个不为人知的故事。这个故事关于操作系统——计算机的灵魂,它如何协调硬件与软件,管理资源,并确保一切运行得井井有条。本文将带你走进操作系统的核心,揭示内核与用户空间的秘密,展现它们如何共同编织出我们日常数字生活的底层结构。通过深入浅出的讲解和代码示例,我们将一同解锁操作系统的神秘面纱,理解其对现代计算的重要性。 【8月更文挑战第29天】本文将深入探讨卷积神经网络(CNN)的基本原理和结构,以及它们如何被广泛应用于图像识别任务中。我们将通过代码示例来展示如何使用Python和TensorFlow库构建一个简单的CNN模型,并训练
|
4月前
|
存储 分布式计算 视频直播
阿里云服务器的十二种典型应用场景:解锁云计算的无限可能
场景概述: 区块链技术在金融、供应链管理等领域有着广泛的应用。阿里云提供了区块链服务BaaS,支持联盟链的快速部署和管理。