WeCube系统框架

WeCube系统框架@TOC

WeCube的系统框架

目前WeCube研发进入Framework 2.0的深水区域,通过1.0版本主要解决WeCube是什么的问题,2.0版本则需要向外界描述一个美好的前景,并且让大家相信WeCube能走到那里。未来我们会更加注重框架设计和文档表述,解决研发裸奔的问题。

设计原则

WeCube的产品定位是IT运维管理框架,因为是框架的原因,本身不具备任何IT运维工具的能力,其自身的能力是需要通过插件进行拓展和延伸的:

  1. WeCube的运维管理功能通过插件组合模式来进行组装,IT运维中常见监控、部署、CMDB功能都是以插件形式提供。运维平台具体落地的时候都是需要根据客户情况进行裁剪和适配,所以插件模式使得WeCube体系有很强的伸缩能力和适配能力 ;
  2. WeCube的核心框架不关注具体的IT运维功能,只为插件提供集成框架,为各个插件提供公共服务,例如:权限控制、插件管理、提供运行资源管理、前端门户等;
  3. 分布式IT架构带来了一些新的运维挑战,例如:大集群部署、灰度发布、长调用链路的根因分析等。因此WeCube的核心框架提供任务编排能力,以协同多个插件完成一些复杂、具有逻辑的运维任务;

具体的WeCube定位,可以参考之前的文档:WeCube,为什么

组件说明

WeCube分为插件层和核心框架层。插件层是一系列的松耦合功能插件,为WeCube提供各种IT运维能力,插件开发需要遵循一定的WeCube插件开发规范。核心框架层提供插件的注册管理、运行资源、以及通过任务编排调度多个插件按照一定逻辑完成复杂任务的能力。
WeCube系统框架_第1张图片

插件拓展层是一个可以拓展的插件群,为WeCube提供IT运维能力的基础。目前规划需要提供的插件为:CMDB、服务管理、基础设施管理、自动化部署、系统监控、智能分析。
CMDB插件:是一个轻量的功能代理,提供与WeCMDB集成的能力;
服务管理:实现了一个简单的服务管理功能,可以自定义服务通道、进行问题上报和问题处理。如果将来需要严格遵守ITIL,则需要另行开发;
基础设置管理:用于操纵各种IT资源,例如VM,LB,安全组配置等。可以有各种实现以对接不同的平台,目前只有腾讯云实现,未来可能提供VMWARE。
自动化部署:提供应用的部署能力,目前只有一个基于SaltStack的实现。
系统监控:提供主机、网络、应用系统的监控能力,包括数据收集、阈值设定、和前端展示。目前提供基于Prometheus的实现;
智能分析:提供容量分析、根因分析等高级能力,目前暂时无实现。

核心框架层虽然不具备任何业务能力,但是其为整个插件提供运行基础。其主要模块包括:前端门户、插件管理、权限控制、资源管理、模型管理、系统配置、编排协同、和运行态服务。
前端门户:提供框架的用户入口,并基于微前端技术提供基座,以便拥有UI的插件,可以将自己的页面嵌入到前端门户中。
插件管理:为插件提供注册、注销机制,一个插件注册的时候需要向框架表述插件能对外提供的数据模型、接口及参数、对其他插件的依赖,并为其接口参数提供数据来源绑定,数据绑定可以是其它插件数据模型、系统配置、或者是动态的上下文变量;
模型管理:每个插件可以对外提供数据接口(读写皆有),模型管理则实现了对于这些数据模型的管理功能。例如在插件注册的时候提供数据模型修改功能,在插件运行态提供数据模型的查询功能等。
系统配置:提供系统级别参数的管理、维护和查询。参数的作用域可以是框架级别的,也可以是插件级别的。
权限管理:框架管控各插件的入口和数据权限,需要承担/控制前端路由,并且提供登陆用户。
编排协同:编排协同是应用于运维事件的工作流编排,用于生成复杂的运维或者部署操作,它可以调度多个插件,并且根据插件的执行结果,添加逻辑关系。
运行态服务:编排的流程在运行的时候,需要协同各个数据模型和插件,为各个插件提供数据查询和写入服务。

你可能感兴趣的:(开放平台)