在DevOps到来以前,咱们更多的是讨论极限编程、敏捷开发和Scrum等方法论,而不多关注运维体系的建设和提升运维的效率。DevOps时代,咱们关注的是从业务出发,提升整个价值链的交付速度,从而为企业得到竞争力和生产力。今天咱们就来谈谈如何实现敏捷运维,助力运维人员转型。前端
一方面,随着互联网时代和数字化转型的到来,经过科技创新和开拓新业务来提升企业核心竞争力和生产力,好比银行业的网贷、信贷、网上银行、API Bank和区块链等业务,同时新的业务对科技部门提出了更高的要求,在安全稳定的前提下,快速的交付业务功能,从而实现业务价值。那么科技部门就必须提升业务端到端的交付效率,包括持续集成(需求管理、源码管理、编译构建、代码扫描和自动化测试)、持续部署(配置管理、基础资源和组件自动部署、应用自动化发布)和持续运营(监控、数据分析和业务运营)。编程
另外一方面,随着业务的高速发展以及超大规模业务体量的驱动下,大部分企业引入了更为灵活的微服务架构。咱们知道,微服务架构是从单体架构或分层架构演进而来的,从一个单体工程拆分出n个独立模块,以下图所示:后端
注:上图出自于赵成老师的书籍《进化:运维技术变革与实践探索》安全
引入微服务架构后,软件的架构的细化拆分和灵活多变大大提高了开发人员的开发效率,继而提高业务需求的响应和迭代速度。可是随之而来的是架构复杂度大大增长,对后续的交付和运维带来了极大的难度和挑战。网络
在传统的模式下,研发团队和运维团队分歧的焦点主要在软件新版本、新配置的变动和发布速度上。研发团队最关注如何可以快速地构建和发布新功能,而运维团队更关注的是如何能在他们值班期间避免发生故障。换句话说,研发部门想要“随时随地发布新功能”,而运维部门则想要“一旦系统在生产环境正常工做了,就不要再进行任何改动”。因此在传统意义上这两个部门的目标是互相矛盾的。架构
在DevOps模式下,只有一个共同的目标,旨在经过合适的准时制(JIT)业务流程来最大化业务产出,例如增长销售和利润率、提高业务速度、或尽可能下降运营成本。DevOps知识体系由三大支柱(规范敏捷、持续交付、IT服务管理)和一个基础(精益管理)组成。框架
注:上图出自于EXIN DevOps Master 白皮书运维
从不少企业成功了应用了Agile、Scrum和XP等方法论,即便提升了开发效率,但对业务速度提高仍是以为远远不够,缘由在于:表面上看起来是开发过程的瓶颈,但在调查中发现开发过程并不是瓶颈,相反是业务流程应该被改进。因此咱们应该从业务的目标出发,度量并改进和优化端到端的业务流程,好比:提升系统发布频率、下降发布失败率。ide
如上图,咱们调研了一些企业的IT管理工具后发现,从需求管理、代码管理到持续集成已经有一系列的开源或商用工具支撑了,同时也具有了一系列的监控平台,包括基础监控(Zabbix、Prometheus和IBM Tivoli)、APM(应用性能管理)、NPM(网络性能管理)和BPC。因而可知,配置管理和运维自动化是目前持续交付最大的瓶颈,从而影响到整个业务流的效率。实现运维自动化和提升运维效率,进而实现敏捷运维,是亟需解决的问题。微服务
在本文中,我把“敏捷运维”定义为:IT运维团队根据业务的需求,快速响应运维要求,并实现运维场景服务化工具的快速落地。这里请注意重点在于“服务化工具”的落地,而不是单纯的解决一次性的运维需求,咱们再来看看似曾相识的几个场景:
l 帮忙建立N台XX配置的XX操做系统的虚拟机,今天下班以前须要;
l 帮忙提取XX机器下的XX日志;
l XX系统明天要正式上线,今晚你们作好通宵的准备;
l 这个周末是年度的灾备切换演练,你们作好加班的准备;
对于以上的运维场景是否以为很熟悉和痛苦呢,如果有对应服务化的工具你就能够这样回复以上的需求了:
l 咱们提供了“云资源管理平台”自助申请功能,你提交资源要求申请便可,审批经过后会自动建立好资源,并将结果邮件给你;
l 咱们提供了“日志查询”自助服务工具,你能够按需查询和检索对应系统下的日志内容;
l 咱们提供了“应用发布自动化”自助服务工具,能够实现应用的一键发布和上线;
l 咱们提供了“灾备切换演练”自助服务工具,使用实现灾备切换的一键完成,整个过程在30分钟内完成,并提供全程可视化实时展现页面,直观的看到过程进展。
惟有快速构建服务化工具,才能真正实现敏捷运维,体现运维的价值,实现运维转型。
固然,不少运维人员会抱怨说,咱们如今天天都加班哪有什么时间来构建运维工具呢?嘉为具有了20年的大型企业运维经验,基于蓝鲸平台构建了100+的嘉为蓝鲸开箱即用的IT运维/运营工具,助力各企业解决当前运维压力,其中包括CMDB解决方案、数据中心运维自动化、应用运维自动化、统一监控解决方案和智能化运维等。以下我列举其中的几个:
l 数据中心运维自动化工具:
l 应用运维自动化工具:
经过第一步,咱们基于开箱即用的运维工具解决了当前的运维压力,将运维平常重复的手工工做服务化和自助化,这样将运维人员的精力和时间空出来才有可能进入第二步,开始传统运维到运维开发的转型。此时运维人员又有顾虑:咱们历来没有写过代码,就怕这个咱们Hold不住。答案是确定的,只要运维开发的门槛足够低,就有可能。运维人员才是真正懂运维流程的,没有比运维人员来开发运维工具更合适的人了。
面向开发人员,蓝鲸平台提供了不少的 “开发者服务”,让开发者能够简单、快速地建立、部署和管理运维工具。
它提供了完善的先后台开发框架、API 网关(ESB)、调度引擎、公共组件等模块,帮助开发者快速、低成本、免运维地构建支撑工具和运营系统。PaaS 平台为一个应用(运维工具)从建立到部署,再到后续的维护管理提供了完善的自助化和自动化服务,如日志查询、监控告警、运营数据等,从而使开发者能够将所有精力投入到应用的开发之中。主要功能有:支持多语言的开发框架 / 样例、免运维托管、运营数据可视化、企业服务总线(API 网关)、可拖拽的前端服务(MagicBox)等。
l 运维工具开发过程
l 建立应用(运维工具)
l 可拖拽的前端服务(MagicBox)
l 后端框架,支持多语言的开发框架/样例
l 免运维托管
l 统一门户
l 运维工具展现示例:CMP
嘉为蓝鲸项目组经过从公开课定制、项目导师帮带和现场培训等多种方式,为企业量身定制运维转型总体解决方案。
DevOps的到来,让咱们从新定义运维团队的目标和价值,嘉为蓝鲸将助力企业实现运维转型,让IT运维人员能够像其余人同样在正常的工做时间段工做。构建运维场景服务化工具的落地和运维开发转型只是一个过程,而结果每每是激动人心的:经过提升运维效率,助力数字化转型,提升企业竞争力和盈利能力才是终极目标。