(2)基础运维系统的全平台预览

平台预览

基础运维系统平台预览图如下:
image

从支撑业务角度来串联图中的图示:

  1. 支持业务域名. 需要使用"域名管理(解析)"来注册域名.
  2. 承载业务高并发请求. 需要"负载均衡/网关转发"分流到上游服务器.
  3. 加速业务性能. 需要"就近接入/区域加速".
  4. 支持业务方便高速下载. 需要提供分布式存储, 并打通CDN作为分发源站.
  5. 其他如"应用部署", "数据源/高速缓存", "设备/网络管理". 则提供快捷自助式运维操作.
  6. 其他如"CMDB", "监控", "运维Agent", "预警系统", "用户管理/集中授权"则为业务与运维提供更底层的数据与服务.

上图涉及的运维系统从里往外可以看作由4个弧道:

核心: 运维规范集合

凡事"先有规矩, 才成方圆", 基础运维更要注重建设规范体系!

所有运维系统的用户操作与流程设计必须兼容运维规范(流程). 如果某些领域尚无相关规范或操作流程, 应该联系运维同学共同商榷制定.

  • 网络操作规范
  • 服务器操作规范
  • 帐号管理规范
  • 项目部署规范
  • 数据源操作规范
  • 云平台操作规范
  • 其他

内层: 最基本的运维系统或运维工具.

  1. CMDB: CDMB记录基础设备的配置与参数, 可以看作是运维平台的静态配置(参数)数据库. 涉及IT运维的资产审计和容量管理都以CMDB作为基础数据库.

  2. 监控: 监控采集基础设备或网络流量的各项性能(状态)数据, 可以看作是运维平台的动态性能(状态)数据库. 涉及动态性能的系统"预警系统"都以"监控数据"作为来源.

  3. 用户管理/集中授权: 运维平台管理用户与权限相关的系统:

    • 提供用户ssh公钥查询或下载等功能, 帮助运维快速增删服务器帐号.
    • 提供OAuth2验证接口, 帮助其他运维系统的权限校验, 就像OpenStack的keystone组件一样.

    "用户管理/集中授权"是基础运维平台集中管理安全的"核心", 健全与完善可以大大地减少由于疏忽带来的帐号权限漏洞.

  4. 运维Agent工具: 实现自动化运维的基本工具. 主要有2种实现方式:

    • 基于pull模型. 例如puppet分发工具.

      • 优点是:不需暴露监听端口, 不需顾虑过多安全问题, 天生适应VxLAN环境.
      • 缺点是: 依赖Agent的定期轮询, 控制消息下发会有延迟.
    • 基于push模型. 例如ssh的远程命令工具.

      • 优点是: 控制消息实时收发.
      • 缺点是: 需要暴露监听端口, 需要考虑欺诈调用, 在VxLAN环境需要设置Proxy转发.
    • 组合二种模型. 结合pull与push的优点, 权衡安全性与实时性等方面的考虑. 打造自已的Agent是最理想的结果.

  5. 预警系统: 手机/短信/邮件/YY群等, 实现全天性运维的基本工具. 同时也提供调用接口给上层运维系统或者业务系统.

中层: 核心运维系统

  1. 设备/网络管理: 服务器管理系统等. 构建于CMDB与Agent基础上, 封装管理设备/网络生命周期的各种操作, 例如: 开机, 关机, 报修, 重装, 迁移, 申请, 回收等等. 并对外提供接口实现自动化管理行为. 必须经过严格的"权限校验",否则容易带来巨大的风险.

  2. 域名管理(解析): DNS系统, HTTPDNS系统等. 负责管理域名相关的事宜.

  3. 负载均衡/网关转发: LVS管理系统, AppRouter, Web专区, YGW都可归为该系统针对不同业务模型(HTTP,TCP,UDP)的功能模块.

  4. 就近接入/区域加速: 域名就近解析, CDN系统等. 可以帮助互联网应用实现更好的性能体验.

  5. 分布式存储:

    • 块存储: 游戏下载, 音/视频下载等.
    • 对象存储: jpeg, gif, logo, js, css, flash等小对象存储业务. 往往与CDN源站打通, 自动分发到CDN上面.
  6. 数据源/高速缓存: DBMS系统, cloudmysql, cloudredis等. 数据源/高速缓存是业务应用的数据存储设施, 作为业务运维的核心关键催生一系列数据相关的平台架构或者数据体系. 例如"mysql主主架构", "mysql异地互备","redis一主多备"等等.

  7. 应用部署: 包发布系统, Web上下线(潜龙), 音频/视频/Service上下线系统. 针对不同应用模型(C++/Lua/Java/PHP/Nodejs)提供自动化部署工具, 并整合"DNS系统", "设备/网络管理"等系统向业务应用提供一体化操作平台.

外层: 基础业务运维系统

  1. 质量分析:

    • 全链路(网络,服务器)质量分析: 主要针对链路环境的质量分析系统. 依赖"监控数据"与"系统日志".
    • 应用质量分析: Web质量系统, 主要针对应用的质量分析系统. 依赖"分布式日志管理".
  2. 分布式日志管理:

    负责对各设备上的系统日志,应用日志进行汇总,分析,备档等. 并作为"质量分析"的一个很关键数据来源.

  3. 持续集成(测试)系统:

    为其他运维系统或业务应用提供SVN/Git等版本管理工具, Mavent/Pipy等私有仓库. 并与QA一块整合与搭建比较完整的持续集成(测试)环境.

  4. 云平台开放接口

    运维提供开放性的接口供业务应用调用. 例如IP查询, 域名查询等服务接口.

总结:

基础运维系统的建设需要遵循"规范化->自动化->平台化"的历程.

(1)基础运维系统建设的一些见解

Obase开发募集群: 492956113, 欢迎加入, 一起打造基础运维系统体系.

posted @ 2016-11-10 10:17  zolo®  阅读(1003)  评论(1编辑  收藏  举报