跳转至
首页 解决方案 下载 文档
演示环境

OpsAny整体架构

OpsAny有两个部分组成:PaaS平台和SaaS应用。

  • PaaS平台:提供运行SaaS应用的管理,包括统一登录、开发中心、应用更新,同时也包含整个平台使用的数据库和中间件。

  • SaaS应用:所有SaaS应用采用统一的开发框架(基于Django二次开发),部署在PaaS平台上。

所有的SaaS应用经过简单的调整也是可以脱离PaaS平台独立运行的。

PaaS平台

OpsAny-PaaS是基于腾讯开源bk-PaaS二次开发的运维开发平台,让运维开发者可以方便快捷地创建、开发、部署和管理运维SaaS应用。

它提供了应用引擎、前后台开发框架、API网关、调度引擎、统一登录、公共组件等模块,帮助用户快速、低成本、免运维地构建支撑工具和运营系统(统称为SaaS应用),它为一个SaaS应用从创建到部署,再到后续的维护管理提供了完善的自动化和自助化服务,从而使开发者可以集中精力关注SaaS应用的逻辑开发。

我们在bk-PaaS的基础上做了以下修改和变更:

  • 增加WebSocket功能,用于堡垒机底层通信。
  • 修改了appengine的saas应用上传和部署逻辑,支持指定SAAS的Secret Key,不使用白名单机制。
  • 修改了login部分逻辑,用于和统一权限配合。
  • 修改了paasagent的agent代码,增加了配置参数,修改了默认的SAAS配置文件。
  • 增加了esb的API等。

PaaS平台默认使用Docker容器化部署,开机会自动启动。

SaaS平台

OpsAny每个SaaS都是独立的容器进行部署,每个SaaS都具有以下特征:

Tip

SaaS平台的Secret Key一定要保存好,不可泄露,(Secret Key是部署时使用uuid命令随机生成的,保存在安装目录的conf目录下,为隐藏文件。)

  • APPID:每个SaaS都有一个APPID,配置在${APPID}-init.py的配置文件中。
  • Secret Key:每个SaaS都有一个Secret Key,注册应用时创建,可以在开发中心-内置应用-点击某个应用名称,在配置信息中查看。配置在${APPID}-init.py的配置文件中。
  • PaaS DOMAIN:每个SaaS都配置了平台的域名,所以如果要修改域名,就需要修改所有SaaS的配置,配置在${APPID}-init.py的配置文件中。

SaaS平台依赖于PaaS平台的统一登录、ESB等服务进行运行,SaaS之间通信也使用ESB进行中转。OpsAny提供了SaaS开发的前后端开发框架,更多二次开发内容可以查看“开发手册”。


Document