下表中列出了二者之间的差别。java
特征 | DevOps--开发运维 | Agile--敏捷 |
---|---|---|
敏捷 | 开发和运营中的敏捷性 | 只有发展才能敏捷 |
流程/实践 | 涉及CI,CD,CT等流程。 | 涉及诸如敏捷Scrum,敏捷看板等实践。 |
时效与质量 | 时效与质量同等重要 | 及时是重中之重 |
发布周期/开发周期 | 释放周期短,可当即得到反馈 | 释放周期更短 |
反馈来源 | 反馈来自自我(监视工具) | 反馈来自客户 |
工做范围 | 敏捷性与自动化需求 | 仅敏捷 |
这个答案应该从解释整体市场趋势开始。公司没有发布大量功能,而是尝试查看是否能够经过一系列发布系列将小的功能传输给客户。这具备许多优势,例如来自客户的快速反馈,更好的软件质量等,从而致使很高的客户满意度。为此,公司必须:ios
DevOps知足全部这些要求,并有助于实现无缝的软件交付。您能够举一些像Etsy,ali,Google和Amazon这样的公司的例子,这些公司采用DevOps来达到甚至五年前都没法想象的性能水平。他们天天进行数十,数百甚至数千个代码部署,同时提供世界一流的稳定性,可靠性和安全性。安全
我建议您遵循如下说明:服务器
敏捷是关于如何生产(即开发软件)的一套价值观和原则。示例:若是您有一些想法,而且想要将这些想法变成可行的软件,则可使用敏捷的价值观和原则来作到这一点。可是,该软件可能只能在开发人员的笔记本电脑或测试环境中运行。您须要一种以安全,简单的方式快速,轻松且可重复地将软件迁移到生产基础架构中的方法。为此,您须要DevOps工具和技术。架构
能够这样归纳地说,敏捷软件开发方法论着重于软件开发,但另外一方面,DevOps负责以最安全,最可靠的方式进行软件的开发和部署。运维
如下是最受欢迎的DevOps工具:工具
您还能够根据须要说起其余任何工具,但请确保在回答中包括上述工具。
答案的第二部分有两种可能性:性能
下面给出的是通用逻辑流程,其中全部内容均实现了自动化以实现无缝交付。可是,根据需求,每一个组织的流程可能会有所不一样。测试
技术优点:网站
商业利益:
据我说,DevOps帮助咱们实现的最重要的事情是尽快将变动投入生产,同时最大程度地下降软件质量保证和合规性方面的风险。可是,您能够添加DevOps的许多其余积极做用。例如,团队之间的更清晰的沟通和更好的工做关系,即Ops团队和Dev团队共同协做以交付高质量的软件,从而提升了客户满意度。
Etsy是一个对等电子商务网站,专一于手工或老式物品和用品,以及独特的工厂制造物品。Etsy在缓慢而痛苦的网站更新中苦苦挣扎,这些更新常常致使网站崩溃。这影响了数百万Etsy用户的销售量,这些用户经过在线市场出售商品并冒着将商品推向竞争对手的风险。
在新的技术管理团队的帮助下,Etsy从其瀑布模型(该模型每周两次进行四小时的全站点部署)过渡到了更加敏捷的方法。现在,它拥有一个彻底自动化的部署流程,据报道,其持续交付实践天天可进行50屡次部署,中断次数更少。
DevOps工程师几乎老是在24/7关键业务在线环境中工做。我适应了随叫随到的职责,能够承担实时的实时系统职责。我成功地实现了流程自动化,以支持连续的软件部署。我对公共/私有云,Chef或Puppet等工具,使用Python和PHP等工具进行脚本编写和自动化以及在Agile中具备背景知识有丰富的经验。
模式一般是经常使用的用法。若是其余人一般采用的模式对您的组织不起做用,而且您继续盲目地遵循它,那么您其实是在采用反模式。关于DevOps的神话。其中一些包括: