1. DevOps的概念
DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。
2. 历史变革
除了触及工具链之外,作为文化和技术的方法论,DevOps还需要公司在组织文化上的变革。回顾软件行业的研发模式,可以发现大致有三个阶段:瀑布式开发、敏捷开发、DevOps。
DevOps早在九年前就有人提出来,但是,为什么这两年才开始受到越来越多的企业重视和实践呢?DevOps的发展是独木不成林的,现在有越来越多的技术支撑。微服务架构理念、容器技术使得DevOps的实施变得更加容易,计算能力提升和云环境的发展使得快速开发的产品可以立刻获得更广泛的使用。
3. 好处是什么?
DevOps的一个巨大好处就是可以高效交付,这也正好是它的初衷。2016年DevOps调查报告,根据全球4600位各IT公司的技术工作者的提交数据统计,得出高效公司平均每年可以完成1460次部署。与低效组织相比,高效组织的部署频繁200倍,产品投入使用速度快2555倍,服务恢复速度快24倍。在工作内容的时间分配上,低效者要多花22%的时间用在为规划好或者重复工作上,而高效者却可以多花29%的时间用在新的工作上。所以这里的高效不仅仅指公司产出的效率提高,还指员工的工作质量得到提升。
DevOps另外一个好处就是会改善公司组织文化、提高员工的参与感。员工们变得更高效,也更有满足和成就感;调查显示高效员工的雇员净推荐值更高,即对公司更加认同。
快速部署同时提高IT稳定性
快速的部署其实可以帮助更快地发现问题,产品被更快地交付到用户手中,团队可以更快地得到用户的反馈,从而进行更快地响应。而且,DevOps小步快跑的形式带来的变化是比较小的,出现问题的偏差每次都不会太大,修复起来也会相对容易一些。
4. 为什么DevOps会兴起?
条件成熟:技术配套发展
技术的发展使得DevOps有了更多的配合。早期时大家虽然意识到了这个问题的,但是苦于当时没有完善丰富的技术工具,是一种理想很丰满,但是现实很骨感的情况。DevOps的实现可以基于新兴的容器技术,也可以在自动化运维工具Puppet、SaltStack、Ansible之后的延伸,还可以构建在传统的Cloud Foundry、OpenShift等PaaS厂商之上。
来自市场的外部需求:这世界变化太快
IT行业已经越来越与市场的经济发展紧密挂钩,能否让公司的IT配套方案及时跟上市场需求的步伐,在今天显得至关重要。
来自团队的内在动力:工程师也需要
对于工程师而言,他们也是DevOps的受益者。微软资深工程师Scott Hanselman说“对于开发者而言,最有力的工具就是自动化工具”。工具链的打通使得开发者们在交付软件时可以完成生产环境的构建、测试和运行,正如Amazon的VP兼CTO Werner Vogels那句让人印象深刻的话:“谁开发谁运行”。
5. DevOps的采用现状
哪些公司在用?
DevOps正在增长,尤其是在大企业中:调查发现,DevOps的接受度有了显著提高。74%的受访者已经接受了DevOps,而去年这一比例为66%。目前,在81%的大企业开始接受DevOps,中小企业的接受度仅为70%。
那么具体而言都有些公司在采用DevOps呢?Adobe、Amazon、Apple、Airbnb、Ebay、Etsy、Facebook、LinkedIn、Netflix、NASA、Starbucks、Target、Walmart、Sony等等。
实施和使用工具
调查显示大企业正在自下而上接受DevOps,其中业务单位或部门(31%)以及项目和团队(29%)已经实施DevOps。不过,只有21%的大企业在整个公司范围内采用了DevOps。
在工具层面上,DevOps工具的用量大幅激增。Chef和Puppet依然是最常用的DevOps工具。Docker是年增长率最快的工具,Ansible的用量也有显著增加。调查还发现不到半数的公司在使用诸如Chef、Puppet、Ansible或Salt等配置工具,其中Chef和Puppet是最常用的组合。
你们公司使用DevOps了吗?