京东云-资深架构师 郑永宽 - 京东云自动化运维体系构建

2020-02-27 277浏览

  • 1.
  • 2.京东云自动化运维 体系构建 郑永宽 京东云资深架构师
  • 3.个人简介 华中科技大学硕士 2011 ~ 2016: 百度自动化运维平台项目经理 分布式任务调度系统 数据传输系统 百度部署发布系统 2016 ~ 今: 京东云运维平台负责人 京东云自动化运维体系构建 6年自动化运维平台研发运营经验
  • 4.目录 01 概要介绍 02 基础组件介绍 03 部署系统介绍 04 监控系统介绍 05 总结与展望
  • 5.京东云 – 能力输出到技术赋能 京东能力输出 京东能力+云平台=赋能客户 京东云技术赋能 电商 物流 运营 营销 仓储 配送 客服 售后 金融 金融 保险 大数据 人工智能 智慧供应链 智慧物流 京东公有云平台 作为京东集团能力的对外输出窗口,2016年4月正式发布
  • 6.京东云运维平台 — 为京东云保驾护航 • 传统运维 • 基础场景 • 关键问题 • 可用性(稳定性) • 效率:研发、运维、测试的全环节效率 • 成本 安全 备份管 理 监控管 理 • 京东云运维新挑战 • 对内保障京东云自身系统稳定性 • 对外保障SaaS用户业务稳定性 • 提升用户交付效率 • 精细化运维体验 基础设施 运维 部署变 更 故障管 理 运维 场景 环境维 护 资源管 理 网络管 理 业务系统 运维 定制化用 户运维
  • 7.京东云运维平台 – 为京东云保驾护航 京东云运维平台概览 RoadMap SaaS化 运维平台完善 监控部署系统构建 基础组 件构建 客户端体系构建
  • 8.基础组件 — 服务与资源管理 • 服务树 • 业务组织架构信息 • 全流程机器管理 • 角色管理与基于角色的权限控制 • 其他meta数据 • JD Naming Service(名字服务) • 维护实例-App-主机之间的对应关系 • 服务关联关系管理 • 服务解耦合 服务树与名字服务示意图 公司 二级部门 产品线 系统 应用 实例 京东云 基础云 云主机 云硬盘 技术保障部 运维工具 CDN 名字 服务 Ark Load Instance1 Instance2 主机 实例 APP
  • 9.基础组件 — 分布式任务调度 • ControlTower – 对指定的一批机器,按照指定策略,执行指定命令 • 批量执行 – 基于服务树和JNS – 指定账号 • 策略 – 并发控制:并发度、串并行 – 容错控制:失败阈值、超时阈值 • 扩展性 – 业务端统一API – 插件化 • 可追溯 – 任务记录 – 单机日志
  • 10.基础组件 — 监控数据平台 • 实时数据计算 – 调度spark计算的能力 – 基于JNS的范围圈定 – 丰富的算子支持 下游 存储 报警 • 时序数据存储 — TSDB – 热点数据redis存储 – 多机房部署,数据热备,高可用 – 读写分离,高效稳定 – 自动抽样,查询自适应路由 分机房 Spark 计算 Puller-A Spark-Job-A Kafka-topic-A Puller-B Spark-Job-B Kafka-topic-B 加减乘除 TopN 分位值 …… JNS 范围圈 定 调度 策略 数据接收 Nginx->sparkA Mysql->sparkB App1->sparkA App2->sparkB 分机房 部署 ES RedisFresh RedisMeta saver Es-client redis-client Interface 数据抽样 Metric-meta 数据接收 query Es-client redisclient Interface 自适应路由 查询格式转换 API
  • 11.基础组件 — 客户端体系构建 • 客户端的挑战: – 全部机器、各种功能Agent多 – 机器环境复杂(磁盘、链接库、安全认证、隔 离环境) – 定期守护(自我守护不行,外部守护) – 资源限制(cpu/fd/mem/日志) – 分级发布 • 统一Agent管控ifrit:– 托管Agent升级功能 – 类puppet方式,定期获取更新列表 – Agent存活守护 – 资源超限守护 – 具备分级发布能力 – 公有云/私有云/混合云的部署解决方案
  • 12.运维工具构建 — 应用部署系统 • 一体化应用部署管理平台 — 云翼(skywing) – 编译构建 – 镜像管理 – 镜像发布 – 服务管理 – 资源管理 – 流量接入 – 日志管理
  • 13.核心诉求 跨平台混合云管理 采用网络负载接口的抽象和多平台适配 技术手段实现私有云、公有云和各种虚 拟化平台。 如VMware、OpenStack、物理机资源 的统一接入管理。帮助用户实现统一的 运维管理体验。 简化运维,轻松实现DevOps 通过统一操作入口,同时通过对特定的 运维场景定制化的支持,实现一键部署、 一键添加监控,一键上下游关联关系解 耦,使得运维简单高效 同时可统一收集应用实例的日志,能够 快速查询和检索,帮助快速定位问题。 自动容错,服务不掉线 可自动为宕机服务器上运行的容器重新 迁移并生成容器资源,保障业务不掉线, 高可靠运行。这也就意味着您不用再为 一两台服务器的宕机,而经历一个不眠 之夜。 容器实例服务健康检查,服务意外故障, 自动拉起,做到服务故障自愈。 全生命周期,一站式服务 实现开发-测试-部署-运维-运营的服 务全生命周期管理,轻松实现持续 集成,提升研发部署效率 同时支持服务编排,针对微服务场 景提供特定优化 一键伸缩,轻松应对业务爆发 可以管理任意规模的应用。不管是 10还是1000个实例,都可以在轻松 实现弹性扩展。 一键扩展应用实例,从而轻松应对 业务的爆发式增长需求。 灵活定制容器,降低企业成本 以租户为单位实现,资源隔离,权限分 配,资源配额管理。相比传统数据中心 物理机或者虚拟机,云翼轻松实现资源 容器化,从而提升资源利用率,降低企 业成本
  • 14.功能实现 • 功能亮点 – 部署:支持构建包和镜像两 种部署,轻松支持物理机、 虚拟机和容器(Docker) 资源; – 服务和资源管理:基于NS 的自动化服务和资源管理, 研发无需关心APP下实例的 变更 – 多环境管理:支持测试、预 发、线上环境分离,同时支 持分级发布 – 日志:支持日志订阅与分析 – 流量:支持ContainerLB – 支持秒级回滚,止损效率高
  • 15.运维工具构建 — 智能监控系统 • 核心诉求 — 缩短异常生命周期MTTR – See->know->act 监控标准 抽象为基础监控、存活性监控、性能监 控、应用监控四级,指导用户什么是一 个 ‘全’的监控 跨云部署解决 通过代理方案,支持私有云、公有云、 混合云等不同的基础设施 多环境支持 多环境支持,包括linux、Windows操作 系统,支持docker,物理机,虚拟机等 全链路监控解决 采集从机器、网络、域名到常见的开源 软件;支持聚合计算,告警处理,预案 平台等 部署进行联动 跟部署方案进行结合,上线过程无 告警;事件流图,告警时方便知道 是否是上线导致
  • 16.智能监控功能实现 数据展示 Dashbord 报警展示 事件流图 离线处理 MetaDB 数据挖掘 根因推荐 关联分析 预案 止损 ES 异 常 proxy 事 件 实时处理 puller 实 时 Kafka& 聚 spark 合 计 adaptor 算 query 时 序 ES & 数 redis 据 存 saver 储 sender 报 alert 警 通 judge 路 数据采集 数据抽象 采集Agent 外部探测 API推送 机器 端口 网络 进程 自定义 日志 语意 死机 方法 环境 业务 数据 … JNS 机器 网络 域名 应用 • 功能亮点 – 采集手段丰富,功能覆盖全面 – 多种异常检测策略 • 同环比/突升突降 • 数值/字符串报警 – 多维度分析能力,精准发现问题 – 报警功能丰富 • 支持报警合并 • 支持报警回调,故障自愈 – 丰富的数据展示功能,定制化 DashBord支持 • 性能 – 10w+机器(容器)量级
  • 17.业务实践 • 京东云监控体系 — 全链路监控解决方案
  • 18.智能监控-基础监控 • 机器监控 – 自动采集,支持物理机、虚拟机、容器 – 采集项全:Cpu/mem/disk/net/load/swap/system – 支持一键搜图 – 检查机器连通性 • 默认的报警配置 告警 cpu空闲率 计算(阈值) cpu.idle<10% 磁盘使用率 disk.free<10% 内存使用率 mem.usable<10% 网卡使用率 net.use.percent>80% 机器连通性 等于1
  • 19.智能监控 - 存活监控 • 进程存活 – 查看进程存活情况 – 资源消耗情况 • 端口存活 • 报警推荐 – 程序假死报警 – 关注平响,资源消耗等 告警 进程不存在 进程资源占用 端口不存活 计算(阈值) proc.status != 1 proc.cpu > 2 Port.status != 1
  • 20.智能监控 – 性能监控 • 四大黄金指标:流量、错误码、平响、容量 • 采集方式 – 日志监控(类似logstash,命名正则) – 自定义输出(脚本、http,约定格式) • 报警推荐 • 流量(同环比) • 错误码/容量(恒定阈值) • 平响(突升突降、恒定阈值) 1:支持命名正则提取 2:支持运营商/省份转换 3:支持公式计算 4:支持字典转换 5:支持数值分桶
  • 21.智能监控 — 业务监控 • 用户侧黑盒监控 – 外网域名监控(模拟全国各地用户访问) • 整体和分运营商/省份访问情况 – 自定义方式模拟用户操作(脚本接入) • 用户相关操作成功/失败及对应原因
  • 22.总结与展望 • 京东云自动化运维平台 — ark.jd.com
  • 23.总结与展望 • 智能化运维 • 服务化 — 致力于京东云客户成功 • 服务全生命周期devops • 人员效率提升 • 交付效率提升 • 资源效率提升 • 服务稳定性提升 • 专有云、私有云、混合云运维解决方案 • 一键接入 • 无限扩展 • 7*24小时支持 • 成功客户 • 华南城 • 京东保险 • 京东物流 • 宿迁政务云
  • 24.Thank you!