助你成功搭建云应用的12条方法

你好,开发者们!你是否想了解应用程序在云端的最佳应用体验?那么,你最好使用12-Factor App,将你的程序部署为Saas(Software-as-a-Service译:软件即服务)的云应用。今天,我想谈谈我上个月在Red Hat Summit上的关于12-Factor App的分享。

每一个正在将应用程序迁移到云端的开发人员都将面临一个与过去完全不同的环境,他们使用数据中心或自己的机房,这就是为什么他们应该关注12-Factor App的原因。这十二条是由Heroku这一个云提供商发布的一个通用的解决方案,大多数他们的客户决定放出这些解决方案作为一种方法论。这十二条特性旨在解决与云中运行的应用程序相关的问题。如果用一句话概括我的这个分享,并不是想法让大家记住这十二条特性,而是想让了解为什么每一个都是非常重要的。

  1. 基准代码 - 使用版本控制,一份基准代码,多份部署的版本控制。
  2. 依赖 – 使用包管理器且不要提交依赖关系到在代码库。
  3. 配置 – 将配置存储在环境变量中,如果你将其打包进你的应用中,你就大错特错了。
  4. 后端服务 — 一个12-Factor App部署应该支持切换到一个本地MySQL数据库,或由第三方管理(如Amazon RDS)的数据库,而无需对程序的代码进行任何更改。
  5. 构建、发布、运行 — 12-Factor App在构建、发布和运行阶段之间使用严格隔离。每个发行版都应该有唯一的发行ID,发行版应该支持回滚。
  6. 进程 — 将应用程序作为一个或多个无状态进程执行。12-Factor App的进程应该是无状态和无共享的。
  7. 端口绑定 — 通过端口绑定提供服务,一个符合这十二条特性的是完全自包含的。
  8. 并发性 — 通过过程模型扩展。每一个进程都应该按Factor 6(无状态)单独缩放,很容易扩展服务。
  9. 易处理 – 最大化快速启动和优雅终止可最大化健壮性,我们可以实现这个容器。
  10. 开发环境与线上环境等价 - 保持开发,分期,生产尽可能相似,12-Factor App是为了保持持续的开发和生产之间的差距小规模部署。
  11. 日志 — 将日志视为事件流,一个12-Factor App从不担心其输出流的路由或存储。
  12. 管理进程 - 后台管理任务当作一次性进程运行。

12-Factor App和技术或语言无关,但你可以在DevOps关注容器,微服务,CI / CD的管道相关的技术。更多关于12-Factor App的信息请点击这里.

本文的版权归 李郑 所有,如需转载请联系作者。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏农夫安全

浅析Docker的基础和应用场景

1、什么是LXC LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资...

35912
来自专栏编程坑太多

『高级篇』docker之微服务间如何通讯(六)

在 Web 应用中处理来自客户端的请求时,通常只考虑 GET 和 POST 这两种 HTTP 请求方法。实际上,HTTP 还有 HEAD、PUT、DELETE ...

1103
来自专栏Netkiller

Linux Token Auth 一次性密码认证

Linux Token Auth 一次性密码认证 http://netkiller.github.io/journal/token.html 目录 1. 什么是...

3725
来自专栏架构师小秘圈

大型网站图片服务器架构的演进

作者:丁浪,非著名架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 声明:版权归丁浪...

3874
来自专栏PhpZendo

网购秒杀系统架构设计

本文是「大型网站技术架构 - 核心原理与案例分析」 第 12 章的学习笔记,感兴趣的朋友可以去购买

1411
来自专栏JavaWeb

使用Spring profile 多环境配置管理

3478

Docker 的五大优点:持续部署、版本控制、可移植性、隔离性和安全性

我相信 Docker 不需要我过多介绍,它是目前最热门的开源项目之一。您可以使用 Docker 在容器中添加一个抽象层以部署不同的应用程序。在 Docker 生...

3118
来自专栏阿杜的世界

工作方法小结

472
来自专栏前端新视界

node-sass 安装失败的解决措施

在测试gulp-webapp的时候遇到了 styles 不能被正常编译的问题,究其原因是node-sass没有被正常安装。 根本原因是国内网络的原因。 最终的解...

23210
来自专栏李蔚蓬的专栏

ROS_机器人仿真实践

Build跟devel两个文件夹在catkin_make之后会自动生成:

943

扫码关注云+社区