Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
小米运维自动化
Search
laiwei
July 28, 2014
Technology
5.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
小米运维自动化
laiwei
July 28, 2014
More Decks by laiwei
See All by laiwei
小米-企业安全实践
laiwei
1
5.3k
小米自动化运维实践 qcon 2014 Beijing
laiwei
2
12k
小米运维基础设施
laiwei
2
1.4k
noops in xiaomi @ Velocity 2013 beijing
laiwei
1
1.4k
laiwei #adc2013# #taobao adc#
laiwei
5
3.8k
Other Decks in Technology
See All in Technology
protovalidate-es を導入してみた
bengo4com
0
170
Building applications in the Gemini API family.
line_developers_tw
PRO
0
3k
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
100
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
130
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
540
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.7k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
170
Claude Codeをどのように キャッチアップしているか
oikon48
6
3.9k
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
810
爆速でマルチプロダクトを立ち上げる時 事業・CTO目線で大事にしたい事
miyatakoji
0
100
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Technical Leadership for Architectural Decision Making
baasie
3
400
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
New Earth Scene 8
popppiees
3
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Transcript
小米运维自动化从无到有
[email protected]
图说运维
运维的挑战 •复杂和庞大的业务系统 •不断变化的系统状态 •对业务系统的操控效率 •传承性
开源软件和工具 •采用开源解决方案和运维工具 •开源软件的性能和特性需求 •安全性 •社区活跃度 •业务信息维护分散 不同系统间的整合困难
自动运维需求和设计 •平台和系统化 •对业务加以抽象,屏蔽细节,以 支撑平台化管理 •以动制动 主机 应用 关联关系 监控
自动运维的核心架构 部署 系统 监控 系统 机器 管理 服务树 名字服 务
LVS 域名 管理
降低上线操作和 环境搭建的复杂 度,动作一致, 实现模块全量的 上线 采集和监控业务 运行状态,反馈 服务问题 解耦服务与机器 的对应关系,解
决查询的问题, 降低由于上下游 IP配置等导致的 运维复杂度 机器统一备机管 理,记录机器的 属性、状态,并 自动更新状态 资源隔离,进一 步解决runtime 依赖问题 调度服务在机器 及更细粒度的部 署运行 演进过程 全量部署 机器管理 动态调度 资源定位 资源隔离 服务树 监控管理
服务树是什么东东 业务层级关系的可视化展示 业务和机器列表映射关系的可视化 展示 整合各个运维系统的核心组件 根据服务TAG动态生成
服务树是什么东东 全局TAG标识 cop.xiaomi_owt.miliao_pdl.im_cluster.producti on-lg_servicegroup.mipush_service.alias-job- dispatcher_job.alias-job-dispatcher JOB
部署系统 •JOB是业务模块的抽象,部署系统调度的对象 •可执行程序 •配置文件 •词表等依赖文件 •日志清理等crontab定时任务 JOB 可执行 程序 配置文
件 依赖文 件 定时任 务 数据和日志分离
部署系统 •部署系统中的JOB描述
部署系统 •发起部署任务
部署系统 •部署框架 GOD WEB ODIN GIT FRIGGA THOR …… GOD
FRIGGA THOR Service Tree Naming Build Server Monitor TAG
部署系统 •双生机制——永不停转的Agent APP RPC
部署系统 •GOD进程守护工具 控制JOB启停、清理 上报/删除JOB TAG信息 Cron配置添加/删除 基础服务监控添加 名字服务/LVS的联动注册
部署系统
名字服务和前端接入 关联关系的维护? A A B B B A
名字服务和前端接入 LVS DNS-in ETCD ETCD ETCD Naming- agent Naming- agent
Naming- agent GOD 进程监控 注册/删除 A1 A2 B1 配置关联解耦 故障时内部流量的切换 关联关系图谱 A A B B B A Naming xiaomi miliao im app1 Ip+port app2 Ip+port ac
名字服务和前端接入 • 配置由静态文件形式转为动态存储 • 自动部署过程中通过http api方式提交变更 • 周期性将配置dump生成keepalived所需的静态配置形式, 由keepalived reload生效
演进过程 降低上线操作和 环境搭建的复杂 度,动作一致, 实现模块全量的 上线 采集和监控业务 运行状态,反馈 服务问题 解耦服务与机器
的对应关系,解 决查询的问题, 降低由于上下游 IP配置等导致的 运维复杂度 机器统一备机管 理,记录机器的 属性、状态,并 自动更新状态 资源隔离,进一 步解决runtime 依赖问题 调度服务在机器 及更细粒度的部 署运行 全量部署 机器管理 动态调度 资源定位 资源隔离 服务树 监控管理
运维体系
Our goal is noops!!! http://www.noops.me
Thanks!