首页 > 其他分享 >从小米小爱业务中来到其他业务中去——AiFault运维中台设计实践

从小米小爱业务中来到其他业务中去——AiFault运维中台设计实践

时间:2023-04-20 10:59:57浏览次数:38  
标签:AiFault 插件 运维 链路 业务 米小爱 运维中台 设计

“ AiFault是我们AIoT SRE团队研发的插件化智能应用运维中台,从0到1孵化自小爱一线运维实战,旨在用DevOps思想和工具化思维,系统全面的解决应用运维的各种问题,目标是能够承载一套完整的运维体系,最终实现一站式智能运维。”

生产力决定生产关系,到某个阶段,生产力要继续提升,就必须改变生产关系,所以在团队遇到生产力跟不上的矛盾时,百般分析,果断的选择引入新工具来改变生产关系,从人与人与业务的关系,迭代到人与工具与业务的关系,这个时候“AiFault智能运维中台”就出来了。

19年末,小爱SRE遇到了很多难题,这是当时梳理的一张思维导图(服务、研发、产品快速迭代增长带来巨大的运维压力,团队内老工程师接连跳槽人心不稳),后以全面质量管理的思维形成了AiFault的第一版功能设计,第一次形成了质量闭环(设计思想详见博文《大型系统的运维要从哪些方面抓起——全面质量管理》),也开始了我和兴耀(王兴耀,极强的系统设计和代码能力,非常好的伙伴,现统筹AIoT SRE团队的工具建设)在小爱DevOps的建设起航。

根据当时的情况,找到了8个急需通过工具提升效率解决的场景,来化解团队当前的生产力跟不上服务、服务器、指标等资源增长速度的矛盾,解放SRE的生产力,让工作由被动应对转为主动规划。

一句话,当时资源增长带来业务内的熵增,已经远快过当前运维效率带来的熵减。

一、思考设计

说干就干,引入新工具解决业务问题已迫在眉睫,AiFault就这样从0到1在小爱业务的一线运维实战中孵化了出来,目标是围绕质量、效率、成本,运用创新技术、工程思维,最终能够承载一套完整的应用运维体系,在应用层实现一站式智能运维,后面经过1年的迭代,形成了下面的设计架构(还在研发中)。

从故障全生命周期的视角出发,我们将功能插件进行了梳理分类,把AiFault落在了一套围绕质量的运维体系里。

在研发时,我们对通用痛点进行了识别,注重功能化设计每个运维场景,便于未来其他产品线的接入,同时也是为了给AiFault留足发展空间,基础平台有下面几个特点。

链路监控采用非侵入式设计,支持多数据源接入;
设计SMDB,以服务为原子单元,将应用运维全流程串起来;
插件化应用中心,所有人可自由注册成为commiter提交插件;
用户可以自定义安装、卸载插件,自定义自己的工作台;
基础平台包含链路监控、SMDB、插件中心,其余全部为插件功能。

在设计AiFault时,定位非常清晰,就是面向一线SRE的上层应用运维平台,而不是一个底层轮子,用图示意如下,设计思想详见博文《如何从零思考设计你的DevOps运维服务体系?》。

二、业务导向

从最开始,AiFault就严格从用户和产品视角来做设计,从最初在小米小爱扎根使用,到后面走到其他兄弟业务线,一切以业务为导向,因为我相信产品的价值不是做起来,而是在解决了真正的业务痛点后,用户用起来的。

我们团队在互为用户、研发的角色中形成了很好的内循环,对每个要做的Dev功能从一线Ops实践深入论证,并在上线后做了详细的埋点分析,便于了解使用的真实情况,截了一张图示意,埋点的分析非常详细。

AiFault用户分析

三、价值认可

上线1年时间,从开始只有小爱在用,到收到需求进行多产品线改造,用户也从0发展到现在的460+,兴耀在技术上做了3次重大的迭代重构(忍不住夸两句,兴耀真的是一个技术天才,既聪明又努力,而且有很强的同理心和产品理解能力)。

意料之内而又意料之外,到了年底我们受到了组织和业务的高度认可,那一刻我们真是觉得再怎么辛苦也值了,做一个产品最大的成就感就是来自用户的认可,同时我们也拿到了两个奖——“小米集团卓越运维创新奖”和“小米云平台优秀项目奖”,最重要的是我们解决了团队内部的生产力问题。

AiFault卓越运维创新奖

四、部分功能介绍

AiFault之全链路监控

使用创新技术,在不侵入业务代码的情况下为链路监控提供了建设方案,解决了微服务场景下(服务数量多、依赖关系复杂)故障难以快速定位的问题, 将故障定位时间缩短至分钟级,覆盖发现线上99%的故障,详见博文《AiFault之全链路监控在小米小爱的探索实践》。

AiFault之全链路监控 AiFault之全链路监控

目前与更多的系统在做打通,比如悬停查看服务变更,未来的目标是能够智能诊断,随着数据的丰富我们已经思考了很多故障诊断模型,继而可以一键执行预案,进一步AiOps,做到故障全生命周期一图处理。

AiFault之插件化应用中心

解决团队内工具无法很好的共享共建的难题,使每个人都可以注册开发功能插件,同时采用千人千面的设计,使每个人都可以自定义安装卸载插件,自定义搭建自己个性化工作台,详见博文《AiFault之运维平台的插件化设计实践——工具共享共建》。

AiFault之插件中心

AiFault之证书巡检一键Jira续费系统

从全局视角系统的解决域名证书过期监控不足的问题,避免了因证书过期导致的事故,总监控域名5000+,证书1200+,开放给所有SRE使用,系统上线就解决很多潜在证书的质量问题,详见博文《像这样管理https证书,你还担心证书过期忘记更新?》。

AiFault之证书巡检

一上线就避免了一场故障。

AiFault之清道夫磁盘治理

AiFault磁盘治理使用Go语言编写,通过实时监控硬盘余量,按配置好的规则进行日志、core文件的清理,彻底清零了硬盘告警、硬盘清理计划任务,目前已接入2000+台服务器,累计自动清理硬盘3万+次,累计自动清理空间5PB+,接入后再也不用维护计划任务了,解放了生产力,详见博文《我们是如何彻底消灭硬盘告警和硬盘清理计划任务的?》。

AiFault之磁盘治理  

标签:AiFault,插件,运维,链路,业务,米小爱,运维中台,设计
From: https://www.cnblogs.com/netflix/p/17335962.html

相关文章