Distributed system cd in aws

Preview:

DESCRIPTION

Practices of CD in AWS.

Citation preview

分布式系统AWS 持续部署

何飞ThoughtWorks 高级咨询师,项目技术负责人

多年企业级应用以及互联网开发经验。专注于分布式系统架构设计,持续交付, DevOps 以及云计算

http://www.myfun.com/

技术栈Java / Guice / Sitebricks / Spring

Ruby / Resque

Python

Jetty/Unicorn/Nginx

Solr/Zookeeper

Mongo/Redis

数字

46 EC2 Instances

30 分钟

8 个组件

1 条命令

50%

0 宕机时间

为什么做不到持续部署

原因架构设计没有对于部署的充分考虑

部署人员没有真正理解架构

策略尽早就开始部署

部署团队和开发团队一起部署,或者直接由开发团队部署

为什么要选择 AWS

省钱

省事

省心

Artifacts

War + Tomcat/Jetty

Package(Rpm/Deb)

AMI

Docker

Platform AMI + Rpm

架构图

部署图

AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion

orchestration

友情提示环境一致

应用程序和基础架构职责分离

版本管理

Resilience Testing

Configuration as Service

etcd + etcdctl

A / B 环境

版本不兼容

语义化版本Major :不兼容修改

Minor :新功能,但向后兼容

Patch : build 版本

没开发完的功能怎么办feature branch

feature toggle

监控 报警

安全

VPC

ACL

security Group

Bastion

谁来部署

人人都要做部署

Q & A

https://github.com/droxer

droxer.he@gmail.com

谢谢