前面在Jenkins学习的文章文章中已经简要介绍了DevOps相关概念。
DevOps理论:
DevOps基于精益、约束理论、丰田生产系统、柔性工程、学习型组织、安全文化、人员优化等知识体系,并参考了高信任度文化、服务型领导、组织变化管理等方法论,把所有这些最可信的原则综合地运用于IT系统价值流中,就可以产生出这样的成果。
精益二原则:
- 1、坚持前置时间是提升质量、客户满意度和员工幸福感的最佳度量指标之一;
- 2、小批量任务交付是缩短前置时间的一个关键因素。
敏捷原则:
频繁交付可工作的软件,推荐尽可能缩短交付周期,强调使用小批量任务进行增量发布,建立自组织的小团队,让成员在高度信任的环境中愉悦的工作。
持续交付
持续交付基于持续构建、测试和集成的开发原则,部署流水线确保代码和基础设置都是可部署状态,所提交到主干的代码都是可以安全的部署到生产环境的。
DevOps的基础原则
DevOps的基础原则是三步工作法:
- 1、流动原则(从左到右的工作流)
- 2、反馈原则(从右到左的快速、持续的反馈)
- 3、持续学习与实验原则(建立持续学习与实验的文化)
第一工作法,从开发到IT运维再到客户的整个自左向右的工作流。通过建立完整的持续构建、集成以及部署和严控半成品,帮助我们形成一条迅速、可预测、持续不断的计划内工作流、从而向业务部门交付工作价值,同时尽可能降低计划外工作的影响和破坏,逐步提供稳定的、可预期的、安全的IT服务。
第二工作法,价值流各阶段自右向左的快速持续反馈流,放大其效益以防止问题再次发生,或者更快地发现和修复问题。加速问题的反馈,可以缩短及放大反馈环路,在源头上解决问题,避免问题逐步放大。一旦问题反馈不及时,后续基于此产品的工作,只会让错误成倍的放大。此外,合理的反馈流可以减少意外工作的干扰。
第三工作法,关于创造公司文化,该文化可带动两种风气的形成。当成功的构建了第一和第二工作法,下来就是需要增强产品信心,营造一种勇于创新、冒险的环境,高信任度的文化。这就要不断给系统施加压力,不断强化学习并加以改进,比如反复的故障演练、反复的安装部署等。
草考文献:
《DevOps实践指南》
《DevOps软件架构师行动指南》