软件|从DevOps到AIOps(一):DevOps的背景与发展

软件|从DevOps到AIOps(一):DevOps的背景与发展

文章图片



随着信息技术的快速发展 , 自动化迭代与运维成为了技术发展一个焦点 , 于是DevOps概念应运而生 。 下面 , 我们就来看看DevOps是什么吧 。 一、DevOps概念随着互联网的不断发展 , 市场变化越来越快 , 敏捷迭代的概念愈发明显 , 为支持敏捷二字 , 传统的软件发布模式已经感到乏力 , 因此DevOps 的概念应运而生 。 DevOps一词的来自于Development和Operations的组合 , 突出重视软件开发人员和运维人员的沟通合作 , 是一套完整的面向IT运维的工作流 , 以IT自动化以及持续集成(CI)、持续部署(CD)为基础 , 来优化程式开发、测试、系统运维等所有环节 。 下图为DevOps的概念图 。

DevOps基于精益、约束理论、生产系统、柔性工程、学习型组织、安全文化、人员优化因素等知识体系 , 并参考了高信任管理文化、服务性领导、组织变动管理等方法论 。 把所有这些最可信的原则综合地应用到IT价值流中 , 就产生出DevOps这样的成果 。 将它贯彻于整个技术价值流中 , 涉及产品管理、开发、QA、IT 运维和信息安全专员等不同角色 , 在更低的成本和努力下 , 保障产品的高质量、可靠性、稳定性和安全性 。
DevOps 最主要的优势是可以持续的高效的进行交付 。 这也正好是它的初衷 。 DevOps 还有一个优势就是可以使每一个员工都理解和参与整体的产品生产过程 , 提高了员工的 满足和成就感 , 使员工产出更为高效 。 DevOps 串联的是技术与人的问题 。 它包含许多技术方案 , 比如像持续集成这类概念已深入人心 , 持续集成要做好 , 不但需要持续集成服务器及配套的自动化集成和测试程序 , 还需要与版本控制紧密结合 。 除此之外 , 还需要注重各岗位之间协作的关系 。 把开发与运维相融合 , 这是很重要的思维转变 。 DevOps 是开发人员 , 运维人员和质量人员之间沟通协作的“桥梁” 。 将传统产品发布模式及运维模式进行改变 , 提高效率 , 降低成本 。
DevOps的产生和兴起存在历史的必然性 , 原因如下:
(1) 在全球化经济蓬勃、互联网移动互联网等新技术催生出新的商业形态 , 而新的商业形态反过来又强化和促进了企业数字化转型的迫切性和IT在转型过程中扮演角色的重要性 。
(2) 新技术和新的研发工程实践的成熟度提供了基础 。 例如以云计算(软件定义计算、存储、网络)为代表的灵活、弹性的基础设施供给能力;以微服务架构为代表的架构实践 , 为软件的持续交付降低了风险 , 提升了灵活性和交付效率;以Docker为代表的新的软件交付模式 , 简化了交付难度 , 且非常适合承载微服务架构下的软件交付;以敏捷开发为代表的研发工程实践已经达到了一定的成熟度 , 小批量、限制在制品等实践方式 , 使得流式持续交付成为可能 。
(3) 传统的研发模式和运维管理体系不适应新的商业形态下的新变化、新要求(快速响应、快速实现、高质量交付) 。
(4) 随着中国劳动力成本的持续攀升 , 以往依靠大量人员投入的人员密集型开发和维护体系已经不堪重负;同时多年积累下的技术债务已经难以适应和满足企业数字化转型升级的要求 。
二、DevOps的发展
DevOps概念最早在2009年的欧洲被提出它的出现是由于软件行业逐渐清晰的认识到当前主流的敏捷开发带来的是持续测试的能力这种开发模式并未消除开发与运维之间的隔阂将开发团队与运维团队独立开的传统方式已成为提高交付速度的障碍 。 为了填补开发和运维之间的信息鸿沟改善团队之间的协作关系 DevOps应运而生旨在促进开发和运维紧密合作实现按时交付软 件产品和服务的目标 。