前两期我们在《百度自动化运维演进》中提到,年以来,百度运维开始向智能化方向迈进。智能运维时代,如何提高智能运维效率,降低通用运维操作(典型如故障场景)开发难度和成本,成为首要难题。
本文将向大家介绍面向感知、决策、执行的百度智能运维工程化解决方案。
1
何为智能运维开发框架?
故障处理和操作变更是运维两大主题。在过去,为维护系统稳定性,需要投入大量人力进行故障处理工作,除直接人肉运维外,针对不同业务深度制定的运维工具、系统被研发出来。随着业务规模扩张和形态变迁,传统运维模式受到极大挑战,表现如下/p>
无统一的开发管理模式,运维服务开发及维护成本大,运维效率低。
横向扩展能力差,运维经验难以复用,各产品线“重复造轮子”。
智能运维开发框架,提供了一种以软件工程方式解决运维问题的解决方案。通过提供统一的开发模型和管理机制,支持不同业务运维操作的设计、实现和管理。目的如下/p>
降低设计、开发难度与成本,使业务OP传统运维人员专注自身的业务逻辑,提高开发和迭代效率。
促进基于代码的跨业务经验积累与分享,提升整体的业务运维能力。
充分运用和发挥自动控制、机器学习、人工智能等领域的技术成果,提高运维效率。
标准化、工程化和智能化
智能运维开发框架以Noah(百度运维管理平台)的运维经验为基础,通过对运维概念和操作的统一,整合当前运维系统,提供运维操作的统一入口;让更多的业务线OP传统运维人员加入到运维社区建设中,共享运维经验,满足业务日益多样化的需要。具体解决思路分为三部分。
1、运维模式标准化
统一开发模式:提供统一的开发规范,社区化开发模式,业务线OP传统运维人员共同参与运维操作开发,沉淀运维经验。
统一运维对象:通过知识库,统一描述机器、实例、服务、应用等运维对象的属性,聚集分散的运维状态数据,达到公司内运维对象的统一。
统一运维操作:屏蔽具体平台操作实现,提供统一的运维对象操作接口。
、运维开发工程化
提供统一的运维开发框架:封装常用功能组件,提供高扩展的开发框架,使业务专注于自身业务逻辑,开发”智能运维机器人”。
提供仿真系统:通过提供服务拓扑搭建及模拟故障的能力,完成机器人上线前功能验证,提高”机器人”可靠性。
提供托管平台:通过提供高可用的机器人托管环境,降低服务运维成本。
3、运维操作智能化
智能感知:依赖监控系统提供的智能异常检测、多维度异常分析,感知满足时效性和准确度的异常事件。
智能决策:自定义算法实现决策机制,充分利用机器学习、人工智能成果,提供决策可靠性。并沉淀人对问题的决策经验,做到经验可迁移。
智能执行:提供丰富的执行策略,满足业务线通用运维操作的需求。
3
实现方案
整体解决方案
以智能运维机器人为主体,深度整合公司内代码管理工具,持续交付平台,部署系统等devops工具链,帮助业务同学快速完成源码构建、镜像打包、应用部署,提供开发、测试、运维整套解决方案,大幅提升开发效率。
智能运维开发框架自身提供的功能
智能运维开发框架提供了高扩展、易使用的智能运维机器人开发框架,具备线上服务拓扑结构搭建和query级别异常模拟能力的仿真系统,具备单地域故障处理能力的高可用服务部署托管平台,完成开发至上线流程的全覆盖,用户只需要在智能运维开发框架基础上嵌入自己的业务代码,即可完成满足自身业务的运维操作。
4
总结:稳定性优先
智能运维开发框架以变革运维模式为目标,提供了开发、验证、运维工程化解决方案。一经上线,便作为各类故障自愈、高可用架构项目的基础支撑,大幅提高了项目开发效率,减小了开发难度和成本,表现出了极强的稳定性。
相信在不久的将来,智能运维开发框架会成为运维操作的载体,不断达成智能运维的使命。
智能运维开发框架的具体实现和最佳实践将在后续文章中详细介绍,敬请期待!
本文作者介绍:运小韩,百度高级研发工程师。负责百度智能运维分布式任务调度系统、智能运维开发框架及可用性相关工作,在分布式系统、AIOps、可用性方向有广泛经验。
往期
回顾
﹀
﹀
﹀
智能运维
百度自动化运维是怎么做的(上)——概念以及标准从何而来?智能运维
百度自动化运维是怎么做的(下)——运维编年史
百度云智峰会Inspire智能金融报名通道开启!
点击“阅读原文”,立即报名。
预览时标签不可点收录于话题#个上一篇下一篇