DevOps是什么?
以下是来自维基百科的定义:
DevOps(开发 Development 与运维 Operations 的组合词)是一种文化、一场运动或实践,强调在自动化软件交付流程及基础设施变更过程中,软件开发人员与其他信息技术(IT)专业人员彼此之间的协作与沟通。它旨在建立一种文化与环境,使构建、测试、软件发布得以快速、频繁以及更加稳定地进行。
DevOps的前世今生
我们知道软件工程的开发模式从瀑布开发模式到敏捷开发模式,再到如今的DevOps模式都是在不同的阶段解决了不同的问题。
瀑布开发模式定义了最初的软件开发流程,规范了不同阶段的交付标准和交付产物。
敏捷开发模式则给频繁迭代的互联网应用提供了方法论,以不断迭代,小步快跑的形式配合自动化测试,持续集成等手段保证快速地持续交付高质量的软件。但快速交付的前提是能够真正部署到生产环境,而在部署环节,运维人员往往会因为考虑系统的稳定性、可用性和安全性给部署上线设立较高的门槛。这样不能部署上线的快速交付也就没有了意义。
而DevOps却正好解决了敏捷开发模式的这些不足之处,DevOps 是通过平台(Platform)、流程(Process)和人(People)的有机整合,以 C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付