12Factors设计原则与云端应用_第1页
12Factors设计原则与云端应用_第2页
12Factors设计原则与云端应用_第3页
12Factors设计原则与云端应用_第4页
12Factors设计原则与云端应用_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12-Factors 原则与云端应用技术创新 变革未来12要素应用宣言十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程12要素应用宣言的目标目标1标准化使用标准化流程进行自动配置,从而使新的开发者花费最少的学习成本加入这个项目目标2最大的可移植性和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性目标3统一生产、开发环境将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发目标4弹性的扩展可以在工具、架构和开发流程不发生明显变化的前

2、提下实现扩展目标尽可能的利用现代化的云平台适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源使用时付费,无需事先固定投资不再需要猜测容量增加创新:更快尝试、低成本、低风险摆脱无差异化的工作IT整体成本降低数分钟就可全球化部署几乎零成本 进行创新十二要素应用宣言I. 基准代码 II.依赖 III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程代码代码版本控制代码部署的版本版本控制集成测试环境生产环境开发者1开发者2基准代码的好处容易审计代码很容易rollback,只要部署版本 - 1非

3、常清晰上线步骤并行开发最小化重构的风险在AWS上实现基准代码代码管理A W S C o d e C o m m i t编译A W S C o d e B u i l d集成 / 测试 / 生产 A W S C o d e D e p l o yA W S C o d e P i p e l i n e十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程依赖项库文件代码应用包依赖声明: Node.jspackage.jsonnpm install依赖声明:

4、 Pythonrequirements.txtpip install依赖声明: RubyGemfilebundle install依赖隔离不要隐式依赖系统级的类库.应用程序部署应随附其所有 依赖项.依赖项代码库文件依赖的声明与隔离: Dockerdocker buildDockerfile开发环境生产环境docker run十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程Amazon S3PostgreSQLapp1主机app2第三方服务像远程第三方

5、一样对待本地服务PostgreSQLapp1app2负载均衡器使用CNAME以获得最大的灵 活性和可重新配置性云即服务十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程开发环境配置文件 生产环境 配置文件开发环境生产环境开发环境配置文件 生产环境 配置文件开发环境生产环境不推荐开发环境生产环境部署在两个环境中的同一容器。 配置是主机上环 境的一部分。在运行时,容器从环境中获取配置。应用代码从环境中读取在运行容器时定制环境构建代码类库依赖发布配置发布的版

6、本程序包+=Amazon Elastic Container Service配置RunTask Definition Release v1.0.0Task Definition Release v1.0.1十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程有状态容器将状态存储在本地磁盘或本地内存中。工作负载最终绑定到具有状态数据的特定主机。有状态容器将状态存储在本地磁盘或本地内存中。工作负载最终绑定到具有状态数据的特定主机。不推荐数据库用于持久储存My

7、SQL,PostgreSQL, AuroaMongoDB, DynamoDB缓存高速的临时状态 储存redis,memcached十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程Port 32456Port 32457Port 32458使用 Route53 和Application Load Balancer进行服务发现使用APIGateway进行服务发现十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.

8、进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程网站API后台网站API后台主机进程主机进程大主机 = 多一点的并发小主机 = 少一点的并发十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程敏捷响应优雅关闭快速启动快速启动最大限度地减少进程的启动时间:针对峰值快速扩展能够根据需要将进程移动到另一个主机更快地替换崩溃的进程敏捷响应, 优雅关闭对SIGTERM做出响应,优雅地关闭十二要素应用宣言I. 基准

9、代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程集成测试环境生产环境开发环境1开发环境2集成测试环境生产环境开发环境1开发环境2本地应用远程十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程将日志视为事件流,并将路 由和处理日志的逻辑与应用 程序本身分开。日志库应用代码进程日志库应用代码进程如果有些日志尚 未完全写入,则 会丢失日志库

10、应用代码进程如果有些日志尚 未完全写入,则 会丢失不推荐进程日志代理应用代码将日志交由主机 上的日志代理程 序处理ProcessesLogging AgentApplication Code日志依然可以到 达代理程序,最 后传递到日志收 集系统容器代码写入stdoutDocker将容器的stdout储存到日志磁盘容器日志的储存和分析Kinesis FirehoseKinesisLambdaElasticSearchCustomer ApplicationEMR HiveRedshiftEMR Spark十二要素应用宣言I. 基准代码II.依赖III.配置IV.后端服务V. 构建、发布、运行VI

11、.进程VII.端口绑定VIII.并发IX.易处理X. 开发环境与线上环境等价XI.日志XII.管理进程管理进程是不可或缺的:迁移数据库修复一些损坏的数据每周一次将大于X的数据库记录移动到冷存储器每天通过电子邮件向某人发送报告像运行其他普通进程一样运行管理进程AWS与12要素应用虚拟机容器无服务器化打包更新运行运行时长虚拟机镜像补丁多线程,多进程数小时到数月容器容器文件版本控制多线程, 单进程数分钟到数天Lambda代码版本控制单线程, 单进程数毫秒到数百秒AWSElasticBeanstalk你的代码HTTP 服务应用服务器语言解释操作系统主机您只需上传代码,ElasticBeanstalk

12、即可自动处理包括容量预置、负载均衡、自动扩展和 应用程序运行状况监控在内的部 署工作。同时,您能够完全控制 为应用程序提供支持的 AWS 资 源,并可随时访问基础资源。专注于构建你的应用程序由您提供由Elastic Beanstalk提供并进行管理AWS容器服务一览管理部署, 编排, 扩展和管理 各种容器化的应用宿主机容器运行所在Amazon Elastic Container Service Amazon Elastic Container Service for KubernetesAmazon EC2 AWS Fargate镜像注册容器镜像注册Amazon Elastic Contain

13、er Registry 不仅仅有容器无服务器计算AWS Lambda无服务器的微服务AWS Lambda + Amazon API Gateway可以快速构建微服务事件响应无服务器化的API后端数据处理一个函数对应一类事件 一个函数对应一个API一个函数对应一种数据类型持续扩展无需管理服务器无需为闲置资源付费AWS Lambda的优势无服务器计算不仅仅是LambdaAWS X-RayAmazon API GatewayAmazonDynamoDBAmazonCloudSearchAWS LambdaAmazon S3Amazon SQSAmazon SNSAmazon AthenaAmazon SESAmazon Ela

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论