腾讯织云负责人梁定安 - 一个人运维一万台服务器的奥秘

仲晔晔

2017/11/14 发布于 技术 分类

梁定安,腾讯织云负责人,目前就职于腾讯社交网络运营部,开放运维联盟委员,腾讯云布道师,腾讯课堂运维讲师,EXIN DevOps Master 讲师,凤凰项目沙盘教练,复旦大学客座讲师。

文字内容
1. DevOpsDays 2017·上海站
2. 一人维护一万台服务器的奥秘 梁定安@腾讯 DevOpsDays 2017·上海站
3. 个人简介 r 梁定安(大梁),硕士,10余年互联网运维经验 r 腾讯织云负责人(前腾讯社交类业务运维负责人) r 腾讯课堂专家讲师,GOPS金牌讲师,复旦大学客座讲师,腾讯云布道师 DevOpsDays 2017·上海站
4. 目录 01 “令人向往”的运维工作 02 精挑细选的DevOps运维方法论 03 自动化运维平台“织云”的实践 DevOpsDays 2017·上海站
5. 目录 01 “令人向往”的运维工作 02 精挑细选的DevOps运维方法论 03 自动化运维平台“织云”的实践 DevOpsDays 2017·上海站
6. 运维主要做些什么? 别人眼中的运维? 运维眼中的运维? 老板眼中的运维? 现实中的运维? DevOpsDays 2017·上海站
7. 运维主要做些什么? 20% 计划内任务 专注,单件流 DevOpsDays 2017·上海站 计划外任务 80% 中断,效率低
8. 运维的精益思想 r 减少浪费,提升资源效率 被频繁打断的工作 一气呵成的工作 中断 上下文切换 中断 上下文切换 DevOpsDays 2017·上海站
9. 对运维工作的反思 开发写 死IP 无日志 规范 无法调 度 手动查 日志 单机故 障 紧急响 应 变更故 障 新人变 更 无经验 传承 无变更 规范 紧急故 障 手动捞 日志 计划外 任务 紧急扩 容 容量不 足 业务量 陡增 无预警 手段 DevOpsDays 2017·上海站
10. 产品生命周期与IT价值链 规划与设计 产品 开发 Bug修复 功能实现 测试 度量验收 客服 故障处理 监控与运营 用户 运维 发布与交付 投诉与建议 DevOpsDays 2017·上海站
11. 传统交付的困局 DevOpsDays 2017·上海站
12. Dev与Ops的冲突之源 DevOpsDays 2017·上海站
13. 目录 01 “令人向往”的运维工作 02 精挑细选的DevOps运维方法论 03 自动化运维平台“织云”的实践 DevOpsDays 2017·上海站
14. 为什么是DevOps? IT已经从企业内部的一种运营工具,逐步演进为一种竞争优势 • 传统的软件工程方法 - 系统的应用工程方法 - 基于预测性 - 重管控、结构化 - 有时避免或拒绝合理变更 Evolution of IT D e v O p s D a y s 2 0 图1片7来·源上:《海D站evOps is not enough 》 @ufried • VUCA新常态下,IT的目标 - 需要最大化业务产出 - 强调适应性 - 快速交付价值 - 灵活响应变化
15. DevOps的CALMS文化精髓 • Culture(文化)- 是指拥抱变革,促进协作和沟通 • Automation(自动化)- 是指将人为干预的环节从价值链中消除 • Lean(精益)- 是指通过使用精益原则促使高频率循环周期 • Metrics(指标)- 是指衡量每一个环节,并通过数据来改进循环周期 • Sharing(分享)- 是指与他人开放分享成功与失败的经验,并在错误中不 断学习改进 DevOpsDays 2017·上海站
16. DevOps持续交付原则 r 为软件的发布创建一个可重复且可靠的过程 标准化发布操作,建立可靠的 脚本/工具,并用自动化流程 实现编排 r 将几乎所有事情自动化 r 把所有的东西都纳入版本控制 分场景,将计划内任务实现自 动化运维 r 提前并频繁地做让你感到痛苦的事情 r 内建质量 功能:代码的质量管理; 非功能:运维的质量管理。 r “DONE”意味着“已发布” r 交付过程是每个成员的责任 交付到用户受众才是完成。 可描述、可度量、可监管,并 纳入运维平台管理。 让错误尽早的暴露,并修复它。 体系化:规范与标准。 r 持续改进 协同合作,减少等待的浪费。 闭环,优化,不断提升能力。 DevOpsDays 2017·上海站
17. 目录 01 “令人向往”的运维工作 02 精挑细选的DevOps运维方法论 03 自动化运维平台“织云”的实践 DevOpsDays 2017·上海站
18. 腾讯织云简介 DevOpsDays 2017·上海站
19. 腾讯织云简介 DevOpsDays 2017·上海站
20. 腾讯织云简介 DevOpsDays 2017·上海站
21. 如何定义标准化? 考核指标 监控系统 质质量量、考效核 率、成本、 事件管理安全 容量管理 舆情分析 运维系统 CMDB 包系统 标准C运C 维系统体系 CIS 织云 DevOpsDays 2017·上海站 可运维要求 进程自检 log占用空间可控 硬盘清理策略 标准化应用管理工具 操作审计 时间设置 域名解析配置 系统log设置 coredump限制 dmesg监控 端口范围 配置文件格式 系统用户 密码安全性 检查项 程序安装路径 非Cra功sh能率 性规划 公共技组术件架选构型选型 路由服务 可用性探检测测方案 持重启续运机模行器调1,周上检,报测对进比程硬状盘况空间 检测策多略维工监具控是否为空 检查指定目录是否存在管理工具 检查机器是否接入操作审计 检查ntpdate配置 检测/etc/resolv.conf Syslogd设置是否符合要求 检检ulim测查id进t m–程ce限s端g制异可口运文常符运维件方合维标句法标性柄准准c化he规ck范list 检查配置格式符合ini/yaml/xml 检测/etc/passwd用户 检测密码强度与过期机制
22. 运维对象标准化 • 组件选型 • 监控 • 容量 • 包管理 • 配置管理 • 测试工具 • 机型 • 命名 • 运营状态 • 重要级别 • 监控 • Buff池 DevOpsDays 2017·上海站 业务层 接入层 逻辑层 数据层 系统资源层 设备资源层 网络资源层 • 架构 • 分布 • 容灾 • 监控 • OS/内核 • 初始化 • 用户/密码管理 • 基础agent • 机房 • 机柜 • 网段规划 • 容灾 • 波分 • 监控 • ……
23. 自动化之始:CMDB 人工维护 数据入库 应用层 自动发现 数据入库 数据入库 人工维护 DevOpsDays 2017·上海站 基础资源层 数据入库 自动发现
24. 统一应用管理节点 • 资产配置 • 硬件配置 • 软件配置 • 运营配置 • 分布信息 • 资源配置 • 权限配置 • 流程配置 • 测试用例 • 变更记录 统一机型 模块 一致性 包 标准硬件 节点 标准软件 管理节点 • 统一管理门户 • SVN版本管理 • 标准化目录结构 • 通用的管理脚本 • 一键安装、升级、回滚、卸载 • 通用的启动、停止、重启命令 • 自监控能力(进程异常自愈) • 自清理能力(硬盘空间自动清理) • 包文件防篡改监控 • 自定义前后置脚本管理 DevOpsDays 2017·上海站
25. 可重复的运维操作 PKG 配置 资源 传输 脚本 权限 执行 DevOpsDays 2017·上海站 部署 测试 灰度 上线
26. 抽象运维操作并自动化 连通性测试 设备上架 密码入库 权限回收 参数初始化 改运营状态 划入buff池 获取资源集 版本部署 校验一致性 传输与执行 部署验证 设备下线 停软件包 改状态 预隔离 抓包校验 异常确认 灰度计划 变更体检 重装/销毁 划入buff池 回滚操作 DevOpsDays 2017·上海站
27. 传承经验的变更管理 标准化 用户权限 配置化 流程化 体检 审计 统计 监控 CMDB 业务模块 一键变更操作 生产环境 业务模块 一致性对比 DevOpsDays 2017·上海站
28. 智能:给自动化加点料 事件 策略 • 突发高负载 • 预测高负载 • 低负载>30天 • 自定义事件 需求 容量系统 白名单 决策API 决策树(高负载) 1. 平均负载 2. 设备总数 3. 高负载设备数 4. 最高负载 5. 高负载阀值 6. 路由一致 7. 上线时间 决策树(低负载) 1. 平均负载 2. 设备总数 3. 持续天数 4. 路由一致 5. 最低负载 策略树 • L5 • cmlb • tgw rabbitMQ worker worker worker 执行 流程 流程系统 通知中心 DevOpsDays 2017·上海站 平衡木 调平
29. 自动触发部署流程 1.获取参数列表 2.屏蔽负载事件通知 3.查询设备调度接口 4.根据模块ID查域名 5.获取资源配置 6.申请权限接口 7.获取设备IP地址 自 动 申请设备 执 行 流 程 灰度上线 获取资源 业务测试 8.屏蔽告警 9.安装程序包 10.同步文件 11.获取CC参数 12.发配置 13.执行脚本 14.主调扩容 发布部署 发布自检 21.L5被调扩容 22.变更体检监测 22.告警屏蔽解除 23.开启负载事件通知 DevOpsDays 2017·上海站 18.查询授权结果 19.自动化测试 15.启动软件包 16.进程端口扫描 17.上报变更日志
30. 再“智能” 一点:进程自愈 自动化流程 安装/启动 包 下发监控配置 本地决策 监控agent 上报包状 态 ps检 测进 程 标准操作流程会联动监控, 非标准流程则会触发告警! 注册 CMDB 基础监控 服务 重启进程 上报包状 态 卸载/停止 包 DevOpsDays 2017·上海站 ps检 测进 程 异常 正常 统一告警 平台 自 愈 告 警
31. 再“智能” 一点:硬盘自动清理 配置磁盘清 理策略 应用到模块 下所有IP df检 测 DevOpsDays 2017·上海站 执行默认清 理策略 执行个性清 理策略 df检 测 自 愈 告 警
32. 自动化调度实战案例 自动扩容会被调度决策执行 当突发流量到来时… 7x24 自动化支持 DevOpsDays 2017·上海站
33. 会议 培训 咨询 • 8月18日 DevOpsDays 上海 • 全年 DevOps China 巡回沙龙 • 11月17日 DevOps金融上海 DevOpsDays 2017·上海站 • EXIN DevOps Master 认证培训 • DevOps 企业内训 • DevOps 公开课 • 互联网运维培训 • 企业DevOps 实践咨询 • 企业运维咨询 商务经理:刘静女士 电话 / 微信:13021082989 邮箱:liujing@greatops.com
34. DevOpsDays 2017·上海站 谢谢聆听 欢迎关注