敏捷开发和DevOps有什么关系?

现在基于云平台的许多服务或软件产品不断提到DevOps,那么DevOps和通常意义上的敏捷之间有什么关系呢?

      首先敏捷是关于软件开发的过程与模式;DevOps更多是关于软件部署和运维管理;产品管理是关于产品的定义和需求规划。

将创新思维和设计思维结合,设计出满足市场需求的创新产品。

使用某种形式的敏捷软件开发来构建你的产品。

使用DevOps在生产中发布和管理你的产品。

  更具体地说,DevOps是补充但不能取代敏捷。

        DevOps不会取代敏捷,它非常好地补充了敏捷开发。它通过消除资源浪费和简化部署等方式来实现这一目标,从而实现更快,更持续的生产部署。许多组织都进行敏捷开发、自动化测试和持续交付,但运维人员会说“嘿嘿,你不能跨越那条线。这是我们的领土:你留在你的领地,我们照顾我们的“。

      从开发和运维的关系上,可以看看传统软件开发方式和DevOps方式之间的区别:

传统方式:

传统上在软件开发中(无论是瀑布模型还是敏捷方式,敏捷也比较传统),都由“开发团队”来构建软件。

开发团队需要与运维团队进行了大规模的“交接”。运维团队负责执行一系列“部署”活动,将软件代码移至生产环境,并负责维护后续的系统稳定运行。

生产环境的基础设施与开发或测试不同。

需要有额外检查和平衡,以确保它一切功能正常。

部署是由不同的人完成的,运维团队之前从未见过或听说过任何此类软件。

      而现在DevOps打破了开发和部署之间的界限:

如果将软件放入“容器” 并且把容器被运送到不同的环境中会怎样?

如果为每个环境简化了检查和测试以及流程,那么直接转向生产该怎么办?

如果自动化了所有测试用例、所有的配置管理,环境管理和发布管理,那么直接launch是否可以?

如果开发团队将代码转移到生产中并在其后继续进行管理,那么运维团队与开发团队形成密切合作会怎么样?

      所以,DevOps是敏捷的有效补充,是将运维纳入产品开发过程的思维方式,是敏捷开发方法论的升级。

  敏捷将帮助将你的创新思维快速落地;

你需要找到适合的产品/市场,即找出你的想法是否有足够的市场?这需要创新思维。

需要快速落实自己的想法,敏捷开发可以帮你快速迭代。

需要发布,管理和扩展你的想法,DevOps统一了开发和运维,提升了整体效率,缩短了产品TTM时间。

DevOps方法和工具链:


你可能感兴趣的:(敏捷开发和DevOps有什么关系?)