开发、部署应用程序APP的【12要素原则】你顺便了解一下?

12要素原则是构建和部署Web应用程序的一种方法,强调代码库的统一管理、依赖关系的明确声明、配置存储于环境变量、视后台服务为附加资源等关键点。这种方法旨在提高开发效率,增强可移植性,适合云平台部署,减少开发和生产环境的差异,实现持续部署和高敏捷性。
摘要由CSDN通过智能技术生成

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

☘️摘要

  • 全文介绍开发、部署应用程序APP的【12要素原则】。
  • 它来源于下列网站https://12factor.net/
  • 作者本人既不了解这是个什么东东,也不知其作用,只是觉得好有道理的样子😀😂😊
  • 作者从来没有承认在进行所谓创作,我不生产博文,我只是网络界的搬运工。
  • 作者风格转变,属于此类文章偶发。不喜飘过,千万勿因看惯了作者垃圾文章、偶尔一篇精华有些不习惯而取关。【原创:AhcaoZhu大侠】

☘️介绍

在现代,软件通常作为服务交付:称为web应用程序或软件即服务。十二要素应用程序是一种构建软件即服务应用程序的方法,它:

  • 使用声明式格式的设置自动化,以最大限度地减少新开发人员加入项目的时间和成本;
  • 与底层操作系统有一个清晰的契约,在执行环境之间提供最大的可移植性; 适合部署在现代云平台上,避免了服务器和系统管理的需要;
  • 最小化开发和生产之间的分歧,实现持续部署以获得最大的敏捷性; 并且可以在不需要对工具、架构或开发实践进行重大更改的情况下进行扩展。
  • 十二因素方法可以应用于任何编程语言编写的应用程序,以及使用任何后台服务组合(数据库、队列、内存缓存等)的应用程序。

☘️背景

  • 本文档1的贡献者直接参与了数百个应用程序的开发和部署,并通过我们在Heroku平台上的工作间接见证了数十万个应用程序的开发、运营和扩展。

  • 本文综合了我们对各种各样的软件即服务应用程序的经验和观察。它是应用开发理想实践的三角测量法,特别关注应用随着时间的推移而有机增长的动态,开发人员在应用代码库上的合作动态,以及避免软件侵蚀的成本。

  • 我们的动机是提高人们对现代应用程序开发中出现的一些系统性问题的认识,为讨论这些问题提供共享词汇表,并为这些问题提供一组广泛的概念性解决方案以及相关术语。该格式的灵感来自Martin Fowler的《企业应用程序架构模式与重构》2一书。

☘️谁应该阅读这份文件?

  • 构建作为服务运行的应用程序的任何开发人员。
  • 部署或管理此类应用程序的运维工程师。

☘️十二要素原则

🌿I. 代码库 Codebase

一个代码库在修订控制中被跟踪,许多部署

One codebase tracked in revision control, many deploys

🌿II. 依赖关系 Dependencies

显式声明和隔离依赖项
Explicitly declare and isolate dependencies

🌿III. 配置 Config

将配置存储在环境中

Store config in the environment

🌿IV. 后台服务 Backing services

将后台服务视为附加资源

Treat backing services as attached resources

🌿V. 构建、发布、运行 Build, release, run

严格分离构建和运行阶段

Strictly separate build and run stages

🌿VI.流程 Processes

将应用程序作为一个或多个无状态进程执行

Execute the app as one or more stateless processes

🌿VII. 端口绑定 Port binding

通过端口绑定导出服务

Export services via port binding

🌿VIII. 并发性 Concurrency

通过流程模型向外扩展

Scale out via the process model

🌿IX. 可处置性 Disposability

最大限度的鲁棒性与快速启动和优雅的关闭

Maximize robustness with fast startup and graceful shutdown

🌿X. 开发/生产奇偶校验 Dev/prod parity

尽可能保持开发、准备和生产相类似

Keep development, staging, and production as similar as possible

🌿XI. 日志 Logs

将日志视为事件流

Treat logs as event streams

🌿XII. 管理流程 Admin processes

将 admin/management 任务作为一次性进程运行

Run admin/management tasks as one-off processes

☘️注释


  1. 指原文,参见: 网站https://12factor.net/ ↩︎

  2. 《企业应用程序架构模式与重构》Patterns of Enterprise Application Architecture and Refactoring,by Martin Fowler ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AhcaoZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值