应用运维@淘宝


2009年规划应用运维@淘宝 2010.12 Velocity China 刘少杰 (九峰) jiufeng@taobao.com 淘宝系统架构师 n 谁动了淘宝的稳定性? n 应用运维的使命 n 应用运维的要素 n Case Study n Review:关键词 n Q&A 2 Agenda n谁动了淘宝的稳定性? 3 Agenda n淘宝的业务量带来的挑战 ü 10亿数量级的online商品数 ü 百万级别日成交笔数 ü 100T级别的DB数据量,PB级文件数据量 ü T级别的商品搜索引擎索引量 ü 10亿数量级的前端日PV ü 以及,更重要的,100+%的年增长率 4 谁动了淘宝的稳定性? n淘宝的产品改进带来的挑战 ü 客户体验至上,小步快跑策略 ü 周均几百次的应用发布与线上变更 ü 周均上百次的系统变更 ü 每月超过一个新产品上线,十万行代码起 ü 代码库里上千个分支 5 谁动了淘宝的稳定性? n 稳定性相关的核心问题 ü 系统性能不够高 ü 服务能力低/ 抗压能力弱/ 故障恢复慢 ü 系统的复杂度和依赖关系趋向失控 ü 顾此失彼/ 强耦合度/ 定位问题慢 ü 变更频繁 ü 线上环境风险高 6 谁动了淘宝的稳定性? n 稳定性相关的核心问题 (续) ü业务对数据处理实时性的要求 ü 宝贝搜索(准实时) ü 交易/支付 (实时) ü 交易数据分析 (准实时) ü 卖家宝贝管理 (实时) ü 掌柜热卖商品 (实时) 7 谁动了淘宝的稳定性? n应用运维的使命 8 Agenda n稳定 99.9%=>99.99% =>99.999% n高性能 The faster, the better, the cheaper. n成本可控 魔鬼经济学 9 应用运维的使命 Web 软 件 工 程 10 应用运维的使命 n应用运维的要素 11 Agenda 监控 (望闻问切):对应用了如指掌 u 基础监控 (cpu/mem/io/net/spin lock/…) u 应用监控 (latency/hit ratio/recursive call/queue size/thread status/stack/…) u 业务监控 (pv/uv/ctr/transaction/…) u Tag:{capacity,scalability, performance,troubleshooting } 12 应用运维的要素(工具篇) 13 应用运维的要素(工具篇) 14 应用运维的要素(工具篇) 15 应用运维的要素(工具篇) 报警(望闻问切) ü 报警 ü 响应比较慢 ü 预警 ü 故障自动恢复系统 (完全恢复 vs 降级服务) ü 响应比人更快 ü 至少50%的是不需要人工干预的 16 应用运维的要素(工具篇) 日志(望闻问切) u 有日志,有真相 u Debug Level: u Notice=>Warn => Critical. u Trade-off : u 日志存储空间(Hundreds TB daily) 17 应用运维的要素(工具篇) 分析工具 (望闻问切) uProfiling (valgrind, oprofile, etc) uTracing ( {l,s,d}trace, gdb, etc) uOS Tuning ( systemtap, {io,mp,vm}stat, kernel hacking, tcp/ip stack optimization, etc) 18 应用运维的要素(工具篇) 19 应用运维的要素(工具篇) 其他淘宝运维配套工具 ü Opsfree(服务器管理工具,淘宝开源软件) ü Avatar (rpm snapshot,即将开源) ü 北斗星、Simond (类似 Chopstix ) ü 哈勃 (类似 Dapper) ü ABS (Auto Building System, 淘宝开源软件) ü Bugfree (淘宝开源软件) ü ……etc ü 开发可运维的应用 ü DebugLevel/ 服务起、停、转、复/sanity check & recovery / capacity planning … ü 优化,但不要过度优化。 ü 标准化操作流程 ü SOP = { Simple, Stupid, Standard } Operate Process ü Fast online/offline ü 标准化生产变更流程 ü 核心小组负责制 20 应用运维的要素(应用篇) Best Practice: ü 可降级服务 ü 架构重构的利弊 ü 性能与容量提升 vs 周期与依赖关系 ü prefer 应用的透明迁移 ü 压缩 (前端传输/网络压力/内存压力) ü index: 1T * 30% * 20 cluster= 6 TB 内存 ü cpu 额外消耗8%以内 ü Asynchronous vs Synchronous 21 应用运维的要素(应用篇) Best Practice: ü Disk base vs Memory base ü ram (=> SAN) => ssd => sata ü 做合理的超时设置 ü 平台定制化 vs 通用化 ü 能不能再简化一点? ü 架构师憎恨复杂度! ü 分布 vs 集中 (异地灾备) 22 应用运维的要素(应用篇) ü 推动业务 or 被业务推动? ü 预知并支撑100%的增长(光棍节活动) ü 以“支撑业务”为核心出发点 ü 应用运维适合什么样的人来做? ü 开发+运维+架构师+系统专家 ü 人不大可能开发上百个应用; 但通过应用 运维,可以做到对上百个应用有深入了解。 23 应用运维的要素(思路篇) ü 魔鬼经济学 (freaknomics) ü 千次pv成本、千笔交易成本、百万uv成本 ü 千次pv的cache hit、io、map-reduce 量 ü 1个毫秒的价值 ü 假如所有的应用都快1ms ü 假如所有的应用都慢1ms ü 1个运维工程师的价值 ü 能支撑几百万用户? 24 应用运维的要素(思路篇) ü 他山之玉 ü Google Paper(GFS,Bigtable,…) ü thread-caching malloc, protocol buffer ü Nosql, MPP framework ü Velocity Presentation ü Open Source Hacking ü Well,It’s free, while not bug-free. 25 应用运维的要素(思路篇) 26 Case Study: 光棍节高峰 带宽涨60% 各主要业务系统 峰值承压200% 27 Case Study: 光棍节高峰 全天成交量涨N倍 当天夜里1点以 后,商城的小二 们… 28 Case Study: 光棍节高峰 Best Practice: ü 以支撑业务为根本目标 ü 每5分钟流量预估与控制 ü 精准容量规划 ü 优雅降级(图片展现、网银接口,etc) ü 核心小组负责制 容量规划,性能,降级(degrading), 故障排查,系统可伸缩,安全生产, mpp, 自动化, 监控,profiling, 云, 去O/E/小型机化, Open Source, Nosql,过程改进,配置管理,工具, ……………. = Geliable! 29 Review:关键词 应用运维: 让淘宝的数百个应用运行的更稳定,更高效, 更轻松。 Email: jiufeng@taobao.com 旺旺: 九峰 Btw,欢迎使用淘宝开源软件: http://code.taobao.org/ 30 Q&AQ & A
还剩30页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

gppxm

贡献于2012-10-19

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf