DevOps 初学者的入门指南

2020-06-22 00:00:00 部署 工具 交付 集成 持续

给 DevOps 初学者的入门指南

当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念。那么,到底什么是"DevOps"呢?

什么是DevOps

随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。



Devops 的好处与价值

在2016 DevOps 新趋势调查报告显示,74% 的公司在尝试接受 DevOps,那么 Devops 有哪些好处与价值呢?

  • 代码的提交直接触发:消除等待时间,快速反馈
  • 每个变化对应一个交付管道:使问题定位和调试变得简单
  • 全开发流程高效自动化:稳定,快速,交付结果可预测
  • 持续进行自动化回归测试:提升交付质量
  • 设施共享并按需提供:资源利用大化

以上可以看出,DevOps 的好处更多基于在于持续部署与交付,这是对于业务与产品而言。而 DevOps 始于接受 DevOps 文化与技术方法论,它是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。

Devops与持续集成

DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

纵观各个 DevOps 实践公司的技术资料,全面经典的是 flickr 的10+ deploys per day佳实践提到的 DevOps Tools 的技术关键点:

1.Automated infrastructure(自动化,系统之间的集成)

2.shared version control(SVN共享源码)

3.one step build and deploy(持续构建和部署)

4.feature flags(主干开发)

5.Shared metrics

6.IRC and IM robots(信息整合)

以上的技术要点由持续集成/部署一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。毫无疑问,DevOps 是持续集成思想的延伸,持续集成/部署是 DevOps 的技术核心,在没有自动化测试、持续集成/部署之下,DevOps就是空中楼阁。

我们做了一款 Hosted 持续集成产品—— flow.ci ,它融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程,帮助你们塑造一个更智能的 DevOps 环境。




DevOps 的技术栈与工具链

Everything is Code,DevOps 也同样要通过技术工具链完成持续集成、持续交付、用户反馈和系统优化的整合。Elasticbox 整理了 60+ 开源工具与分类,其中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等, 补充了一些国内的服务,可以让你更好的执行实施 DevOps 工作流。

  • 版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
  • 自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
  • 持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
  • 容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
  • 配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
  • 微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
  • 服务开通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
  • 日志管理:Logstash、CollectD、StatsD
  • 监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana




顺便再跟大家分享一个 DevOps BookMarks,这里面涉及了DevOps方方面面的工具和内容,有兴趣的同学可以前去学习。

DevOps 佳实践

自 2009 年提出 DevOps 的概念起,很多公司都开始实施 DevOps,国外比较的有Amazon 、Google、Facebook等,国内的有百度、华为、阿里等。Amazon 是 DevOps 佳实践的有说服力的代表之一。这是 Amazon 在 Why We Need DevOps 一个月的 DevOps 快照:

11.6 seconds: 平均部署时长 (工作日)

1,079: 一小时的大部署量

10,000: 主机平均并发接收部署量

30,000: 主机高并发接收部署量

从早期的大型 SOA (Service Oriented Architecture)到 DevOps 文化的形成,Amazon 的每个工程师都可以完全独立地编写代码,测试代码,版本管理,部署上线,服务监测等任务。这套内部强大的 DevOps 文化终形成核聚变, Amazon 一跃成为别的云服务 —— Amazon Web Services (AWS)。

除了 Amazon 外还有一些国内外的 DevOps 实践公司,一起来看看。

  • flickr

全面经典的是 flickr 的10+ deploys per day,简直是 DevOps 教科书般的存在。

  • 百度

百度技术团队是如何利用DevOps,来看看解密百度持续交付方法与实践。

  • Netflix

解密Netflix 技术团队在整个 DevOps 过程中使用的部署工具和服务.

How We Build Code at Netflix.

  • Etsy

2009年,Etsy建立自己的工具来更好更快地部署发布,「Etsy 如何应用 DevOps」值得一读。

  • LinkedIn

2009年,LinkedIn 团队就开始使用自动化部署工具,用于管理在1000+节点环境下发布上千个应用/服务的复杂性。这是 LinkedIn 自己造的轮子 >>Deployment and Monitoring Automation with glu.

  • Airbnb

Airbnb 作为第三方平台公司,需要迅速发布多个小型部署。关于 Airbnb 的数据和基础设施,可以参考这个slides。

  • Starbucks

星巴克的 DevOps 计划>> Starbucks Announces #DevOpsTogether

  • Ancestry.com

Ancestry.com 是 DevOps 运动的早期采用者,是 Continuous Delivery 和 DevOps 运动的先锋。想了解更多关于他们的过程、迁移和 DevOps 文化,不妨查看一下他们的系列文章DevOps – Tech Roots。

DevOps = Culture + Tools

如果想整个业务部署 DevOps,不但需要软性要求即从上而下的培养 DevOps 文化自上而下地进行探索,也有硬性工具链要求,才能获得更高质量的软件交付。



DevOps Master课程介绍

DevOps Master是Exin(一家荷兰的国际性考试认证机构)2016年推出的全球认证。中国市场2016年引入其考试体系;它和ITIL、Prince2、ISO27001/2、CCC Service Manager等考试认证是类似,是由国外认证机构推出,面向全球的认证考试。下图为EXIN DevOps课程学习体系,其中DevOps Master:是EXIN DevOps学习体系高认证课程,通过学习路径进行考试。





DevOps Master考试

EXIN DevOps Master 认证体系的目标人群是那些希望能够掌握ICT管理新发展动态的所有专业人员。在DevOps团队中工作的任何人员,或正考虑转向DevOps的企业及该企业内的人员。DevOps Master 是该领域个国际权威的专业认证。本课程将全面融合讲师讲授、案例讨论与沙盘演练等多种培训手段,帮助学员系统化理解DevOps的理念与管理框架的同时,通过全球风行的凤凰项目的沙盘演练,帮助学员切身体会如何在企业环境中构建DevOps文化、从而更好的与客户互动,终提供更好的IT服务。 EXIN官方统计2017年度考试通过率如下表所示:



EXIN官方统计考试通过率:即为什么要正式地学习!!!

DevOps Master如何一次通过考试

EXIN官方建议的学时为160小时,培训时长为16个学时。这意味着,如果你是一张“白张”来听课,那么北京老李建议你先学习Pre-Master课程。因为Master课程直考,说明你在DevOps领域已有很多实践的经验。

首先,对于DevOps的专家来看,需要少看两遍教材二:《持续交付:发布可靠软件的系统方法》,因为DevOps的核心思想在《持续交付》一书中。

其次:对于丰田的DevOps实践模型,应少背下来,教材三:《EXIN官方白皮书——企业DevOps的成功之路》,考点中关于精益与丰田的DevOps模式在本教材中。

再次:泛读《教材一: An Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale》、教材四:《凤凰项目》加深对于DevOps的核心思想的理解

后:推荐选读《DevOps Handbook》和Google的《SRE》理解不同的企业如何应用DevOps这一核心思想。

总结:听课是个过程,在玩《DevOps凤凰沙盘》你会了解到标准的DevOps流程的建设以及团队的构建模式,读书不少于40小时,做模拟练习题,我们需要-端正学习态度,认真学习,拿出时间,复习重点,应对官方正式监考的认证《DevOps Master》

DevOps Master与DevOps Professional的课程定位



DevOps Master:针对IT管理层与IT主管的国际专业认证






后,不论你是技术Leader,还是一名Dev、QA 或 Ops,实现全面的 DevOps 非常理想化也十分有挑战,希望DevOps 初学者经过系统的培训后企业时间想必是个好的开始:)

想参加devops认证培训详情请咨询 010-51626887-806 贺女士 QQ:342396383 微信:hs342396383

相关文章