小米运维自动化实践:从零到一
需积分: 33 73 浏览量
更新于2024-07-22
1
收藏 1.29MB PDF 举报
"小米公司在自动化运维方面进行了深入实践,旨在应对日益复杂的业务系统和运维挑战。他们采用开源软件和工具,注重安全性和社区活跃度,并力求将运维工作平台化和系统化。自动运维的核心架构包括部署系统、监控系统、机器管理和服务树等关键组件,旨在简化上线操作,实时监控业务状态,以及解决服务与机器对应关系的问题。服务树作为核心组件,实现了业务层级的可视化展示和资源的有效管理。此外,部署系统通过JOB抽象来管理业务模块,包括可执行程序、配置文件、依赖文件和定时任务,确保数据和日志分离,并采用双生机制确保Agent的持续运行。整个运维体系由一系列工具如GOD、FRIGGA、THOR等协同工作,实现了自动化运维的目标。"
在运维领域,小米面临的挑战主要包括管理复杂庞大的业务系统,应对系统状态的不断变化,提升操控业务系统的效率,以及解决运维知识的传承问题。为了应对这些挑战,小米积极采用开源解决方案和运维工具,比如选择性能优异、安全性高且社区活跃的软件。然而,开源软件的使用也带来了业务信息维护分散和系统整合的难题。
自动运维的需求与设计主要围绕平台化和系统化展开,通过抽象业务,屏蔽底层细节,构建能够支持平台化管理的结构。其中,“以动制动”的理念强调根据业务动态调整运维策略。自动运维的核心架构包括部署系统、监控系统和机器管理系统,它们共同作用于主机、应用和服务的关联关系,以实现自动化部署、监控和故障处理。
服务树是运维体系中的关键组件,它是一个业务层级关系和机器列表映射的可视化展示,能根据服务TAG动态生成,用于整合各种运维系统,提供服务查询和问题定位的能力,降低运维复杂度。
部署系统中,JOB作为业务模块的抽象,包含了可执行程序、配置文件、依赖文件和定时任务。部署任务的发起、控制和监控则由GOD、FRIGGA、THOR等组件协同完成,其中GOD是一个进程守护工具,负责JOB的启停控制和状态上报。此外,部署系统还采用了双生机制,通过APP和RPC确保Agent的不间断运行,保证了系统的稳定性和高可用性。
总结起来,小米的自动化运维策略是通过整合开源工具、构建自动化的运维架构和服务树,以及优化部署系统,来提升运维效率,降低复杂度,保障业务的稳定运行。这一系列实践为其他公司提供了有价值的参考和借鉴。
1304 浏览量
197 浏览量
188 浏览量
2024-10-26 上传
2024-10-26 上传
2021-12-19 上传
2016-04-22 上传
qq_20072297
- 粉丝: 1
- 资源: 14
最新资源
- 2013年 " 蓝桥杯 "第五届全国软件和信息技术专业人才大赛 嵌入式设计与开发项目模拟试题——·双路输出控制器·代码.zip
- CookingApp_v1
- 国际象棋
- 图形窗口生成器 fig.m,版本 3.1:打开具有指定大小的新图形窗口-matlab开发
- front-end-samples:前端样本
- 电路方面的仿真操作 资料
- AR256_Demon_killers:预测棉花的未来价格趋势并提出合适的价格模型并缩小买卖双方之间的差距(SIH-2020)
- My-OOP-endterm-project:Bakhytzhan SE-2016
- rest:基于 https 的流星休息
- EI会议海报可编辑模板,高效解决新手小白对不知道如何制作海报的困惑
- 保险行业培训资料:一诺千金产品基础班
- state-csv.zip
- 图书馆应用
- 带有 3D 误差条的简单条形图:带有 3D 误差条的简单条形图。-matlab开发
- 保险公司讲师邀请函版本
- tamplated-road-trip