区别是什么?
- 敏捷是关于软件开发的过程与模式;
- DevOps更多是关于软件部署和运维管理;
- 产品管理是关于产品的定义和需求规划。
- 使用某种形式的敏捷软件开发来构建你的产品。
- 使用DevOps在生产中发布和管理你的产品。
更具体地说,DevOps是补充但不能取代敏捷,是将运维纳入产品开发过程的思维方式,
DevOps不会取代敏捷,它非常好地补充了敏捷开发。它通过消除资源浪费和简化部署等方式来实现这一目标,从而实现更快,更持续的生产部署。许多组织都进行敏捷开发、自动化测试和持续交付,但运维人员会说“嘿嘿,你不能跨越那条线。这是我们的领土:你留在你的领地,我们照顾我们的“。
传统的软件开发
传统上在软件开发中(无论是瀑布模型还是敏捷方式,敏捷也比较传统),都由“开发团队”来构建软件。 开发团队需要与运维团队进行了大规模的“交接”。运维团队负责执行一系列“部署”活动,将软件代码移至生产环境,并负责维护后续的系统稳定运行。 生产环境的基础设施与开发或测试不同。需要有额外检查和平衡,以确保它一切功能正常。部署是由不同的人完成的,运维团队之前从未见过或听说过任何此类软件。
DevOps打破了开发和部署之间的界限
如果将软件放入“容器” 并且把容器被运送到不同的环境中会怎样? 如果为每个环境简化了检查和测试以及流程,那么直接转向生产该怎么办? 如果自动化了所有测试用例、所有的配置管理,环境管理和发布管理,那么直接launch是否可以?
DevOps方法和工具链