wecube-platform 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
wecube-platform 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
wecube-platform 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
wecube-platform 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
wecube-platform 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
提 交 者 微众开源
适用人群 未知
收录时间 2020-06-11

软件简介

WeCube是一套开源的,一站式IT架构管理和运维管理工具,主要用于简化分布式架构IT管理,并可以通过插件进行功能扩展。

起源

微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用的IT管理解决方案。

设计理念

WeCube的设计理念与IT系统生命周期管理基本一致。可以通过“六个维度和一个核心”来阐述。

一个核心:通过注册新插件持续扩展WeCube的功能,通过如下5个能力实现插件注册及协作。插件注册详见“插件注册”。

  • 菜单布局:WeCube提供前端UI基座和前端开发规范,使各个插件的前端交互能够无缝集成到WeCube,进而形成一个统一平台。
  • 权限模型:WeCube的权限模型提供“用户-角色-菜单”三级权限模型,并提供统一认证方案。数据权限及API权限,由插件自身控制。
  • 流程编排:WeCube内置一套标准的BPMN流程引擎,可以通过客户自定义编排驱动插件协同工作,减少人工干预。编排设计详见“编排设计”。
  • 数据模型:插件需要将自身需要提供给其他插件使用的数据模型注册到WeCube的统一数据模型,然后通过标准的CRUD接口提供数据访问服务。
  • 系统参数:WeCube的全局参数、插件需要客户修改、插件需要暴露给其他插件使用的参数,需要注册到WeCube的系统参数内。

六个维度:通过定义六个维度的菜单,并将插件功能有组织性的插入这六个维度菜单中,形成对IT系统全生命周期的有效管理。

  • 任务:汇聚多种类型任务,形成一体化的工作平台。工作内容清晰可见,轻重缓急一目了然。
  • 设计:定义模型和规范,形成标准化设计语言。通过规范化设计及图形化展示,清晰、准确地描绘出对分布式架构的期望。
  • 执行:通过各类自动化、标准化任务的执行,将分布式架构的期望设计变成现实存在,消除人员能力参差不齐导致的实现差异。
  • 监测:定义全方位的监测项指标,通过持续收集监测数据,精确反映现状,并发现现实与期望的差异项。
  • 智慧:应用机器学习等技术,赋予智慧能力。通过数学建模,制定应对监测发现的差异项的处理策略。
  • 调整:通过执行处理策略来不断进行动态调整,最终保持现实与期望的对等,进而使系统稳定运行。

技术实现

WeCube分为核心功能模块和插件模块。

核心功能模块使用Java/MySQL/VUE开发,主要负责工作流程,可视化和核心数据存储。

插件模块用于功能扩展,分为资源管理、数据整合、功能增强三类插件。对于插件,WeCube定义了一套接口规范,插件开发者可以在遵循规范的前提下,自行选择开发语言。目前已有的插件使用的开发语言包括GO语言和Java。

系统架构

WeCube 2.0版本

WeCube2.0功能架构

组件间详细关联图:

WeCube2.0组件间详细关联图

1, Portal web:浏览器客户,客户与WeCube交互的入口。
2, Portal nginx:接收客户端访问请求,如果请求静态资源,返回Core或插件的静态资源文件。如请求动态服务,转发到后端API gateway。Portal nginx建议采用负载均衡实现高可用,也可以使用keepalived做主从高可用。
3, API gateway:负责Portal nginx或其他外部系统的动态服务请求的路由分发。

  • A) 登录认证请求,转发到Auth server,使用用户名密码换取Token。Token采用非对称加密,包含用户名、角色、菜单权限信息。
  • B) Core服务请求,转发到Core。比如角色添加、插件注册、编排设计等等。
  • C) Plugin服务请求,转发到对于的Plugin。比如CMDB配置管理、监控数据查询、任务管理等。

建议负载均衡实现高可用,也可以使用keepalived做主从高可用。
APIGateway启动时通过Core获取插件实例列表,并建立路由规则。
同时APIGateway会监测Core、Auth Server、Plugins的状态,实现Core、Auth server、Plugins实例的主从类型的高可用。

4, Auth server:主要负责用户认证服务,并返回含用
由API gateway实现主从类型的高可用。 5, Core:WeCube的核心模块。提供插件注册、编排设计、权限管理、批量任务、插件运行资源管理、数据模型、系统参数等核心功能。 由API gateway实现主从类型的高可用。
6, MYSQL:WeCube Core和Auth server的数据库实例。建议MYSQL主从实现高可用。
7, S3:插件包镜像文件的存储。插件注册是写入镜像文件,插件实例启动时读取镜像文件。
8, Plugin instance-Docker:插件运行的容器母机,可以配置多台母机,运行多个插件实例,提供高可用。
9, Plugin instance-MYSQL:插件运行所需要的数据库实例,为每个需要数据库的插件建立独立数据库。建议MYSQL主从实现高可用。
10, Plugin instance-S3:插件运行所需要的对象存储,为每个需要存储文件的插件分配单独的桶。
11, Plugin instance- Squid:插件访问外部资源的代理服务器,按域名放通白名单。在安全要求较高的时建议部署。
以上11个组件组成WeCube Platform。

主要功能简介

WeCube的功能菜单设计与设计理念保持一致。分别是任务、设计、执行、监测、智慧、调整、协同、系统。

  • 系统

    • 系统参数:管理WeCube Platform运行所需的系统参数。
    • 资源管理:管理WeCube提供的资源如容器母机及资源上运行的实例。
    • 权限管理:管理WeCube Platform的用户,角色和菜单,可以对权限进行菜单级别的管控。
  • 协同

    • 插件注册:选择插件包上传,插件包需声明本插件的依赖、所需菜单、数据模型、系统参数、权限设定及运行资源,注册后通过容器运行,支持多实例,可以查看插件运行的日志。选择插件服务,通过插件运行的参数关联CMDB数据模型的属性值,形成注册。

    • 任务编排:比如设计一个VPC创建的编排。包括创建VPC、创建子网、创建VM。流程的每个执行节点需要关联插件。

  • 设计(WeCMDB插件提供)

    • 规划设计:用于设计机房结构。

    • 资源规划:用于实例化一个机房,特别是两地三中心结构。

    • 应用架构设计:用于设计一个应用的逻辑架构。

    • 应用部署设计:用于实际部署一个应用。支持灰度发布。

    • CI数据管理/查询:通过模型图形进入单个数据管理以及查询。

    • CI综合查询管理/数据综合查询:用于配制多CI属性报表。比如一个应用使用到了哪些主机。

    • 枚举数据管理/查询:通过对公共枚举和私有枚举进行管理以及查询。

  • 执行

    • 编排任务执行:在选择编排后可对选择目标对象执行编排,支持灰度操作。比如重启某个资源集的5台主机。

    • 物料管理(Artifacts插件提供):管理应用程序的包。可以定义各种文件,可以配置环境差异导致的变量替换规则,不需要人工处理。

    • 批量执行:通过配置综合查询并选择目标。在通过特定插件来执行任务。比如某个应用的所有主机,执行一个用户权限变更。

  • 任务(Service-Management插件提供)

    • 模板管理:服务目录管理, 服务请求模板管理;

    • 服务管理:服务请求管理,任务管理;

  • 监测(Open-Monitor插件提供)

    • Agent管理: 注册、启动、停止;

    • 数据管理: 提供数据采集配置, 数据查询等功能;

    • 告警管理: 提供阈值配置、日志监控、告警触发等功能;

    • 视图管理: 提供图形配置和自定义视图功能;

  • 调整(规划中)

  • 智慧(规划中)

核心流程时序说明:

插件注册时序图:
插件注册时序图

编排任务执行:
编排任务执行

快速入门

WeCube采用容器化部署。

如何编译WeCube,请查看以下文档 WeCube编译文档

如何安装WeCube, 请查看以下文档 WeCube部署文档

用户手册

更多关于WeCube的使用和操作说明, 请查看以下文档 WeCube用户手册

开发者文档

WeCube使用Java和VUE进行开发,数据存储于MySQL,并依赖Tomcat Web容器运行。

请参考以下文档进行开发环境配置WeCube开发环境配置

License

WeCube是基于 Apache License 2.0 协议, 详情请参考 LICENSE

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
貌似没有人用过
2020/06/30 10:21
回复
举报
更多评论
发表于运维专区
01/31 17:54

wecube-platform v2.9.0 已经发布,一站式 IT 架构管理和运维管理工具

wecube-platform v2.9.0 已经发布,一站式 IT 架构管理和运维管理工具 此版本更新内容包括: Features: WeCube Platform - 数据查询效率大优化; WeCube Platform - 编排节点数据动态绑定; WeCube Platform - 编排执行数据冲突检测支持; WeCube Platform - 编排执行支持高危命令检测; WeCube Platform - 优化系统间认证机制; Terminal Plugin – 新插件发布:支持ssh console/录屏回放/文件管理/高危命令识别等; Enhancements: W...

0
2
发表于运维专区
2020/12/03 09:50

WeCube 2.8.0 发布,一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

0
16
发表于运维专区
2020/11/04 15:31

WeCube 2.7.1 发布,一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

1
20
发表于运维专区
2020/10/20 15:46

WeCube 2.7.0 版本发布,一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

2
12
发表于DevOps专区
2020/09/03 10:15

WeCube 2.6.1 发布,开箱即用的一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

2
18
发表于运维专区
2020/08/03 10:13

WeCube 2.6.0 版本发布啦~

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

0
9
发表于DevOps专区
2020/07/06 15:05

WeCube 2.5.0 版本发布啦~

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

0
10
发表于DevOps专区
2020/06/30 09:53

WeCube 2.5.0 版本发布,一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

2
27
发表于运维专区
2020/06/15 15:06

WeCube 2.4.0 版本发布,一站式 IT 架构管理和运维管理工具

WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂,问题定位时间长等),在逐步解决这些痛点的过程中,总结了一套IT管理的方法论和最佳实践,并研发了与之配套的IT管理工具体系。WeCube就是将该套方法论和最佳实践,从微众内部众多IT管理工具体系中提炼出来,整合成一套开箱即用...

0
26
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2015/11/01 15:30

platform

03$ cat test.c   #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/platform_device.h> static struct resource selfdevs[] = {     {         .start = 0x77880000,         .end =   0x77888000,         .name =  "selfdevmem",         .flags = IORESOURCE_MEM,     },     {         .star...

0
0
发表了博客
2015/11/01 15:18

platform

02$ cat test.c   #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/platform_device.h> static int selfprobe (struct platform_device *pdev) {     printk("Device: %s match Driver %s OK!\n", pdev->name, (pdev->dev.driver)->name);     return 0; } static int selfremove (struct platform_device *pdev) {     printk("Dev...

0
0
发表了博客
2013/04/27 11:36

platform_device\platform_driver的匹配问题

许多platform_device可以使用同一个platform_driver;一个platform_device不可以使用多个platform_driver; platform_driver注册的时候会通过名字查找与之匹配的platform_device,找到的话则进行probe,probe成功才算绑定在一起;否则若找不到对应的设备或者probe失败,则驱动注册失败。 probe函数的调用会发生在以下情况:platform_device注册的时候和platform_driver注册的时候 。 在驱动注册的时候我们也可以显示的调用platf...

0
0
发表了博客
2018/07/29 21:47

CUBA Platform

CUBA Platform —— 开源的、可靠的企业级应用开发利器 原文:CUBA Platform: An Open-Source Java Framework for Rapid Application Development 翻译:CUBA China CUBA-Platform 官方网站:https://www.cuba-platform.com CUBA China 官方网站:http://cuba-platform.cn 欢迎转载,转载请注明来源 前言 CUBA China是CUBA-Platform在中国的合作伙伴,是由多名具有十年以上丰富的行业软件、工具软件开发经验的开发人员组成的团队,...

0
3
发表了博客
2018/07/15 16:21

platform 架构

1. 简介: 转自: https://blog.csdn.net/qqliyunpeng/article/details/52700331 1.1 platform 总线是虚拟总线,当使用这个虚拟总线是带来的好处主要有两点: (1)使得设备被挂接在一个总线上,因此,符合 Linux 2.6 的设备模型。其结果是,配套的sysfs 结点、设备电源管理都成为可能。 (2)隔离BSP和驱动。在BSP中定义platform 设备和设备使用的资源、设备的具体配置信息,而在驱动中,只需要通过通用 API 去获取资源和数据,...

0
0
发表了博客
2016/11/23 10:50

Platform Overview

Platform Overview OpenDaylight (ODL) is a modular Open SDN platform for networks of any size and scale. ODL enables network services across a spectrum of hardware in multivendor environments. Our microservices architecture allows users to control applications, protocols and plugins, as well as to provide connections between external consumers and providers. ODL’s development is driven by a la...

0
0
发表了博客
2015/05/20 11:44

platform to an awaiting

Despite some recent controversy the show is still going as strong as ever and now Lionsgate is bringing the beards home with not only the complete 5th season, but also the DVD Duck Dynasty: Duck Days of Summer design standards was in 1965 He's suffered through numerous back injuries that have hampered him throughout his career; in 2007, he played in just three PGA events">5 The airport has desk...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
76 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部