研发背景
作为一个运维攻城狮,期望有一套可视化脚手架,能够快速支撑运维项目开发,页面以及功能,报表实现实时上线修改以及处理。
期望:
- web页面在线开发
- BI报表在线生成
- 能实现高度定制化页面开发
- 期望在线生成接口
- 期望学习成本低
- 免运维
产品选型
基于以上期望,充分调研,基于django以及阿里低代码引擎来开发一个django脚手架,前端使用阿里低代码引擎。
经过1年的打磨,产品终于在公司内部上线。
遇到的问题
渲染速度慢
为保证在线渲染的效率,每个页面单独配置物料库,实现不同页面使用不同的物料库,后端采用redis进行缓存物料信息以及schema信息,极大的加快啦系统渲染的效率,实现单个页面内schema 1秒内渲染,前端用户基本无感知。
原生的fusion 物料
基于原有的物料,进行大量bug修改以及更新,添加截图上传等等功能。
运维相关物料
基于运维系统领域,定制多个运维有关物料,实现 code编辑器,json编辑器,vditor,ssh命令行等等相关物料,快速实现ssh shell工具,运维脚本在线开发, 在线运行。
django脚手架功能一览
前端积木化开发
通过拖拽生成前端页面,轻量级编写js以及css,从而生成完整的页面。后端根据前端界面不同的物料定制好不同的函数方便调用。
模块物料化,区块化
根据产品类型定制不同的物料以及区块。完全适配项目需求。完全根据公司需求,开发不同的物料,且物料开发非常简单,初级工程师完全可上手。
区块
根据自己设计的页面,直接保存为区块,方便其他页面调用
物料
通过自定义开发物料,实现模块级别复用。
模板市场
利用公共模板,快速开发需要的页面
物料市场
通过公共物料,快速嵌入物料到原有系统
在线sql接口开发
通过sql在线开发的方式,生成各种接口供给前端使用,自定义sql写法, 通过入参的方式拼接sql,后端在进行防注入。最终生成接口。
历史功能
通过历史功能,可以快速回退到之前的版本
打通数据孤岛
支持接入各种数据库,打通各个系统之间的孤岛,支持oidc统一认证登入,将页面直接嵌入其他系统
功能应用化
每个系统有自己的菜单以及路由,通过自定义主题,实现每个系统拥有不同的风格特征的前端系统。
产品功能细节一览
基于django脚手架,开发的运维管理平台
机房资源管理系统
用于机房资源管理
存储光交管理平台
用于存储资源管理,分配
作业平台
基于celery 插件,实现分布式脚本标度,用于数据采集,数据清晰等等任务。
知识库管理平台
企业内部知识库沉淀