[关闭]
@52fhy 2016-12-22T14:06:56.000000Z 字数 2672 阅读 620

DevOps

DevOps


简介

DevOps是DevelopmentOperations的组合。DevOps可以看作是开发(软件工程)、技术运维和质量保障(QA)三者的交集。

DevOps

Devops指的是原来纯粹进行开发的人,和那些负责运维和质量管理保证任务的角色之间的紧密协作和相互交流。开发者必须同时承担质量检测和发行评估的任务。

(深入理解DevOps,应该还包括产品管理、QA、运营甚至销售等领域)

为什么使用DevOps

与传统的瀑布式开发模型相比,采用敏捷或迭代式开发意味着更频繁的发布、每次发布包含的变化更少。由于部署经常进行,因此每次部署不会对生产系统造成巨大影响,应用程序会以平滑的速率逐渐生长。

瀑布模型是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。
瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。
大体分为这几个阶段:需求分析、设计、编码、测试、维护。
瀑布模型

传统开发痛点:

诉求:

优点

一款产品的诞生不仅不能缺少开发人员,也离不开运维人员,开发和运维是不可分割的。而DevOps提供的方法恰好是把这两项工作密切结合在一起。

DevOps最吸引人的地方就是致力于把不同部门不同分工的人召集到一起,共同努力解决问题:

缺点

DevOps可能摧毁“开发人员”的角色,以一种“技术多面手”代之。多任务切换是非常昂贵的。迫使开发人员承担额外的通常由专家承担的角色意味着他们:

DevOps需要什么

硬性要求:工具

在工具层面上,DevOps工具的用量大幅激增。Chef和Puppet依然是最常用的DevOps工具,使用率均为32%。Docker是年增长率最快的工具,用量增长一倍以上。Ansible的用量也有显著增加,使用率从10%翻倍至20%。

在工具的选择上,需要结合公司业务需求和技术团队情况而定。

软性需求:文化和人

DevOps成功与否,公司组织是否利于协作是关键。开发人员和运维人员可以良好沟通互相学习,从而拥有高生产力。并且协作也存在于业务人员与开发人员之间。

参考

1、devops_百度百科
http://baike.baidu.com/link?url=pVqxmKxUQxgvsh1iGXo2pQoF0l_rrXWkTHxYYn8-QiPw8wllKnaIuYG0V8RXF06FiWWMFzB9JJGXAJtRP8SJYa
2、一篇文了解DevOps:从概念、关键问题、兴起到实现需求-搜狐
http://mt.sohu.com/20160926/n469174315.shtml
3、DevOps:全能开发是如何扼杀程序员的IT新闻博客园
https://news.cnblogs.com/n/209691/
4、51 Best DevOps Tools for #DevOps Engineers | ProfitBricks Blog
https://blog.profitbricks.com/51-best-devops-tools-for-devops-engineers/
5、瀑布模型 - MBA智库百科
http://wiki.mbalib.com/wiki/%E7%80%91%E5%B8%83%E6%A8%A1%E5%9E%8B
6、我眼中的DevOps
http://www.infoq.com/cn/articles/devops-in-my-view/

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注