蓝鲸体系架构及设计思想学习笔记

运维体系建设 2020/04/13

目标

  通过学习蓝鲸体系架构及设计思想,扩展自己在运维体系建设领域的认知。

学习重点

蓝鲸体系的背景,设计理念,和落地方式

设计背景

运维转型历程

十年前 ,需求驱动型的, 业务运维忙于:

   服务器、网络、OS、DB、发布、变更、监控、故障处理、运营环境信息维护提取等等。

五年前, 使我们的运维团队从“操作服务输出”,转型为**“解决方案服务输出” **

三年前,2012年,作为落地承载运维转型方案的蓝鲸体系同时开始构建

     为什么要转型:   原因1:业务红海化
 
     1. 行业竞争很激烈,精细化运营越来越重要,希望业能将务可用性保持在无限接近7*24
     2. 产品策划运营等其它岗位提供各类运营工具以提高“产品运营”的效率,甚至能为运营决策提供准确的
       数据依据

原因2:“传统运维”生存空间塌缩

原因3:我们太累了

运维转型的长远目标

    将基础运维服务(发布变更、监控处理、数值调整、数据提取等)尽可能做到运维无人
    值守,运维提供解决方案(工具)
    
    同时负责随时调整解决方案,但不提供重复性的操作服务,由使用者自助或者外包团队操作

设计理念

面临的挑战

      业务类型复杂
      
      技术框架多样
      
      发布变更、故障处理等运维操作场景和操作流程是没有直观规律
      
      服务器数量,操作单元量庞大,增长速度很快

需求分析

      不能侵入业务架构,不能依赖业务架构,不能依赖业务所使用的技术,不能依赖
      有统一的运维操作流程
      
      甚至,也最好别指望开发商为你做什么改造,还得支持海量场景(最好能支持十万
      级操作单元并发)

总结出来的共同点是:

运维通过linux命令,可以搞定所有“发布变更故障处理等”运维操作流程。

 虽然只有这一点,但也足够了,这至少说明,运维的基础服务,不论是发布变更还是告警处理,
 都是可以分步骤的,步骤可能是串行的,也可能有分支结构

设计思路

尽可能将单个步骤抽象为原子,再将原子自动化,而后通过任务引擎连接成“串”或者“树状分支结构”实现全自动化**

 设计思路的优点:不依赖业务类型,不依赖架构,不依赖场景,只要运维手工能做的,都可以做
 成无人值守

落地方式

将原子自动化

运维通过命令可以做的步骤,在蓝鲸作业平台上封装个脚本,就变成了可集成的自动化原子,而运维
通过其他运营系统页面操作的步骤,由蓝鲸集成平台中的ESB平台与其对接好接口之后,也变成了可
集成的自动化原子

将原子集成为工具

运维/运营工具的开发对传统运维是有一定障碍的,蓝鲸通过几方面的工作来解决这个问题

 1. 在“蓝鲸集成平台”(蓝鲸体系目前有6个平台)中构建了一个PaaS模块,业务运维(devops)无需关
    注找服务器、部署环境(各种包、mysql、nginx等)等步骤,只需要写好工具本身的逻辑代码上装
    到PaaS容器就行了,同时还免除了工具的运维成本(高可用、故障修复等)。基于docker技术,工具
    的部署也是一键式的

 2. 其次是开发了一套工具代码框架,内置了统一登录、权限、tag等通用功能,更重要的是,不需要一个一个
 去对接各个系统的接口(原子),因为ESB模块都封装好了,只要写个函数就可以调用这些原子
 
 3. 再有就是解决运维的前端开发难题——前端样例库。提供了“从各种页面元素到不同类型的运维工具的页面组合
    套餐”,减少了运维消耗在前端开发上的时间
    
 4. 最后,还为蓝鲸开发者提供培训,一般来说,新进毕业生在通过四周以内的培训之后,就可以独立在蓝鲸集
    成平台中构建APP工具

通过以上方案,基本解决了运维构建工具高门槛的问题,而且可以随时低成本的根据业务变化(例如新增了模块,导致发布变更、告警处理流程都变了)调整工具

进化方向

在这种设计模式下,蓝鲸团队的建设方向就很清晰了:

1. 继续降低工具本身的开发成本,提高PaaS模块的可靠性;

2. 扩展原子服务,找出运维海量操作流程中,重复度最高的一些原子,构建成平台,封装接口提供给PaaS作
   为自动化原子,让运维更轻松的调度更多节点,提升单个节点功能密度,升级拓展更多的流程,直到把流程升
   级到运维无人值守,升级到对产品、策划等岗位的闭环服务为止。

进化成果

  • 蓝鲸集成平台:包含PaaS、ESB、开发框架、web样例等模块,是运维制作工具APP的平台。

  • 蓝鲸移动平台:蓝鲸体系的移动端操作入口。

  • 蓝鲸作业平台:各种大小文件传输,含参脚本执行类的动作,可以在蓝鲸作业平台封装,通过接口操控。

  • 蓝鲸配置平台:从业务的各层分级结构到子节点的各类属性,都可以直观的存储于蓝鲸配置平台,通过接口存取。

  • 蓝鲸管控平台:一套基于海量标准设计的管控系统,为作业平台提供文件管道和任务管道,为数据平台提供数据管 道等,整个蓝鲸体系对OS及容器单元、大数据的所有管控,只依赖管控平台的一个智能agent。

  • 蓝鲸数据平台:基于kafka、storm构建的供应用运维使用的实时计算平台,为上层蓝鲸集成平台上的智能决策 类工具族、数据视图类工具族、辅助决策类工具族提供大数据处理及实时计算能力

运维团队的进化历程

运维基础工作自动化

辅助产品运营自动化

数据化运维

蓝鲸服务

蓝鲸的服务可以分成两类:PaaS和SaaS。

对应用运维来说,PaaS服务是万能的,几乎没有场景限制,只要是原子能覆盖的流程,都能做得出来,非常灵活

蓝鲸大力发展PaaS服务,也印证了运维发展的理念:

依靠运维,武装运维,使其能提供更高维度的服务,而不是取代运维

蓝鲸平台系统架构

腾讯蓝鲸智云体系由原子平台和通用的一级 SaaS 服务组成,平台包括 管控平台、配置平台、作业平台、数据平台、容器管理、PaaS 平台、移动平台 等,通用 SaaS 包括节点管理、标准运维、日志检索、蓝鲸监控、故障自愈等,为各种云(公有云、私有云、混合云)的用户提供不同场景、不同需求的一站式技术运营解决方案。

参考文章

腾讯蓝鲸体系架构及设计思想

蓝鲸文档中心 > 蓝鲸体系 > 体系架构