阿里高级专家尹书威-云上实施自动化的资源架构演进及变更的实践

DevOps涵盖了从需求、开发、构建、测试、部署、执行的全过程,本次演讲将通过一个真实的案例讲解敏捷、资源层的自动化、持续集成各个阶段的实施方案及遇到的问题和解法。会着重讲解资源层的自动化,通过支持多云的开源工具深入讲解在云上实施自动化的资源架构演进及变更的实践。

2. 云上实施基础设施自动化的实践 尹书威 高级专家 DevOpsDays 2017·上海站
3. 目录 1 自我介绍 2 DevOps的定义 3 各类应用对基础设施的共性需求 4 基础设施自动化 5 总结 DevOpsDays 2017·上海站
4. 自我介绍 - Who Am I 尹书威 阿里云7年 想知道更多? “快的那个,会被慢的拖 死”,记不断奔跑、看着 阿里云产品管控慢慢长大 的那个人——尹书威 负责开源生态和开发者服 务。 DevOpsDays 2017·上海站
5. 自我介绍 - Purpose CI/CD PaaS IaaS Purpose:利用成熟的开源工具实现云上自动化 DevOpsDays 2017·上海站
6. 如果你是… 1. 如果你是开发者 • 用代码的方式做Ops,将其自动化 2. 如果你是运维人员 • 告别手工运维、拒绝重复劳动、让自己更有价值 3. 如果你是公司(企业)领导 • DevOps能提高效率吗? DevOpsDays 2017·上海站
7. 目录 1 自我介绍 2 DevOps的定义 3 各类应用对基础设施的共性需求 4 基础设施自动化 5 总结 DevOpsDays 2017·上海站
8. Right Scale调查报告 2016年RightScale调查了1,060个受访者:包括1000人以上的大企业、中 小企业;跨多个行业、多个地域,包括技术管理者、DevOps实践者、 企业领导。 DevOpsDays 2017·上海站
9. Right Scale调查报告 DevOps呈上升趋势 DevOpsDays 2017·上海站
10. Right Scale调查报告 1. 多个配置工具混用 DevOpsDays 2017·上海站
11. DevOps的工资最高 1. 2017开发者调查报告,超过64,000名开发者,几乎代表了 全球技术的趋势。 DevOpsDays 2017·上海站
12. DevOps的定义 • 敏捷? • 开发、运维、测试的墙? • CI/CD? • 自动化? DevOpsDays 2017·上海站
13. DevOps的定义 任何能够提高项目从需求到发布的效率的过程或方法都是 DevOps的范畴。 DevOpsDays 2017·上海站
14. DevOps的定义 任何能够提高项目从立项到上线的效率的过程或方法都是 DevOps的范畴。 DevOpsDays 2017·上海站
15. DevOps的定义 任何能够提高项目从立项到上线的效率的过程或方法都是 DevOps的范畴。 5. 除错 DevOpsDays 2017·上海站
16. DevOps全生命周期示意图 Requirements/Project Management Developer IDE Version Control Continue Integration Configuration/Deploy Code Quality Test Automation Provision DevOpsDays 2017·上海站 QA Staging Production
17. 目录 1 自我介绍 2 DevOps的定义 3 各类应用对基础设施的共性需求 4 基础设施自动化 5 总结 DevOpsDays 2017·上海站
18. 应用对基础设施的需求 应用:CodePipeline架构图 DevOpsDays 2017·上海站
19. 应用对基础设施的需求 DeployService 基础设施的最终目的是 为应用准备环境,比如 测试环境、预发环境、 生产环境,以方便于部 署后提供服务。 1. 多Region部署 2. 安全组规则更新 3. ECS数量变化 4. DNAT规则更新 ؋଼༄ັᥢ‫ڞ‬ ᨮ᫹࣐ᤍ vpc ৼᗑ (&6 ਞ‫ق‬ᕟᥢ‫ڞ‬ 1$7ᗑ‫وى‬Ձଃ਼۱ SNAT DNAT SNAT DNAT (&6 ৼᗑ ਞ‫ق‬ᕟ DevOpsDays 2017·上海站
20. 应用对基础设施的需求 CodePipelineService ؋଼༄ັᥢ‫ڞ‬ 基础设施的最终目的是 为应用准备环境,比如 测试环境、预发环境、 生产环境,以方便于部 署后提供服务。 ᨮ᫹࣐ᤍ vpc ৼᗑ (,3 1. 多Region部署 2. 安全组规则更新 3. ECS、EIP数量变化 (&6 ਞ‫ق‬ᕟᥢ‫ڞ‬ 1$7ᗑ‫وى‬Ձଃ਼۱ (,3 SNAT (&6 ৼᗑ ਞ‫ق‬ᕟ DevOpsDays 2017·上海站
21. 应用对基础设施的需求 CodePipeline测试环境 基础设施的最终目的是 为应用准备环境,比如 测试环境、预发环境、 生产环境,以方便于部 署后提供服务。 1. 需要频繁创建一台 干净的ECS 1$7ᗑ‫وى‬Ձଃ਼۱ vpc SNAT DNAT (&6 ৼᗑ ਞ‫ق‬ᕟᥢ‫ڞ‬ ਞ‫ق‬ᕟ DevOpsDays 2017·上海站
22. 应用对基础设施的需求 PaaS平台:CloudFoundry DevOpsDays 2017·上海站
23. 应用对基础设施的需求 DevOpsDays 2017·上海站
24. 应用对基础设施的需求 PaaS平台:CloudFoundry部署 DevOpsDays 2017·上海站
25. 应用对基础设施的需求 CloudFoundry基础环境 基础设施的最终目的是 为应用准备环境,比如 测试环境、预发环境、 生产环境,以方便于部 署后提供服务。 1. 安全组规则更新 2. DNAT规则更新 DNSᥴຉ 1$7ᗑ‫وى‬Ձଃ਼۱ vpc SNAT DNAT (&6 ৼᗑ DevOpsDays 2017·上海站 ਞ‫ق‬ᕟᥢ‫ڞ‬ ਞ‫ق‬ᕟ
26. 应用对基础设施的需求 1. 日常应用部署的基础架构创建及更新 2. 日常应用的测试环境 3. 企业的PaaS、SaaS平台的基础设施创建及更新 对基础设施层的工作是创建、更新,重复; 所以要自动化能自动化的一切。 DevOpsDays 2017·上海站
27. 目录 1 自我介绍 2 DevOps的定义 3 各类应用对基础设施的共性需求 4 基础设施自动化 5 总结 DevOpsDays 2017·上海站
28. 基础设施自动化 DevOpsDays 2017·上海站
29. 基础设施自动化-Terraform DevOpsDays 2017·上海站
30. 基础设施自动化-Terraform DevOpsDays 2017·上海站
31. 基础设施自动化-Terraform DevOpsDays 2017·上海站
32. 基础设施自动化-Terraform 最重要的三条命令: terraform plan (预览) terraform apply (执行) terraform destroy (销毁) DevOpsDays 2017·上海站
33. 基础设施自动化-Terraform 资源更新是如何实现? DevOpsDays 2017·上海站
34. 基础设施自动化-Terraform DevOpsDays 2017·上海站
35. 基础设施自动化-Terraform u 实用技巧之一 DataSource DataSource的作用是根据入参过滤出可选值。 例:需要一台ECS,Region是华北2,CPU为1核,内存1G, 对应的是哪些实例类型? terraform plan DevOpsDays 2017·上海站
36. 基础设施自动化-Terraform u 实用技巧之一 DataSource DevOpsDays 2017·上海站
37. 基础设施自动化-Terraform u 实用技巧之二 terraformrc: • Terraform目前已集成70+个provider,每个provider的更新 速度官方不能及时同步,这时需要设置某个最新的 provider时可以使用下面的方法: • 新建~/.terraformrc文件,设置plugin的目录 providers { alicloud = ”/work/terraform-provider-alicloud" } DevOpsDays 2017·上海站
38. 基础设施自动化- 工具组合 Redis Configuration/Deployҁ$QVLEOH҂ WordPress Nginx Applications … Infrastructureҁ7HUUDIRUP҂ ECS VPC SLB NatGateWay OSS DNS … DevOpsDays 2017·上海站 AnsibleInventory TerraformInventory terraform.tfstate
39. 目录 1 自我介绍 2 DevOps的定义 3 各类应用对基础设施的共性需求 4 基础设施自动化 5 总结 DevOpsDays 2017·上海站
40. 总结 1. DevOps呈上升趋势 2. DevOps工资最高 3. DevOps定义:任何能够提高项目从需求到发布的效率 的过程或方法都是DevOps的范畴。 4. DevOps全生命周期示意图 5. 各类应用对基础设施的共性需求:基础设施的最终目 的是为应用准备环境,比如测试环境、预发环境、生 产环境,以方便于应用部署后提供服务。其中包括频 繁的创建、更新。 6. 自动化能自动化的一切:Terraform、Ansible、Habitat 组合的使用。 DevOpsDays 2017·上海站
41. 会议 培训 咨询 • 8月18日 DevOpsDays 上海 • 全年 DevOps China 巡回沙龙 • 11月17日 DevOps金融上海 DevOpsDays 2017·上海站 • EXIN DevOps Master 认证培训 • DevOps 企业内训 • DevOps 公开课 • 互联网运维培训 • 企业DevOps 实践咨询 • 企业运维咨询 商务经理:刘静女士 电话 / 微信:13021082989 邮箱:[email protected]
42. Thanks 荣誉出品 高效运维社区 国际最佳实践管理联盟 DevOpsDays 2017·上海站
43. 想第一时间看到 高效运维社区公众号 的好文章吗? 请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好 DevOpsDays 2017·上海站