SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计(上)

简介: SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计

 

作者:地谦(王威)

 

引子

 

“低代码”一词似乎是最近几年才流行起来的词汇,2015年前后AWS、Google、Oracle等厂商开始入局低代码领域时,国内氛围还没有很高。2018年5月,快速应用开发的低代码平台OutSystems获得3.6亿美金投资;同年8月,西门子宣布以6亿欧元收购低代码应用开发厂商Mendix此后,越来越多的企业开始尝试以低代码/零代码技术重构数字化业务,低代码平台市场逐步火爆起来。

 

其实低代码开发并非新生事物,据可考的资料,低代码概念最早诞生于上世纪80年代IBM的快速应用程序开发工具RAD;后来微软的VB、C#可视化开发工具Visual Studio,谷歌的Android集成开发工具Android Studio等都是对其概念的工程实践。低代码本质上还是一种软件开发方式:即不写代码或少写代码的方式来完成软件开发。

 

于前端而言,低代码开发其实也并不陌生,把“低代码”描述为“页面可视化编辑”,这一概念就变得熟悉了起来,我们曾经使用过的Dreamweaver、Frontpage等其实都可以归属到低代码的范畴。随着Angular、React、Vue等前端框架的普及以及gulp,webpack等构建工具的完善,前端进入工程化协作开发时代,逐步开始承载越来越多的业务逻辑。

 

当前云原生开发火热,在容器化微服务化技术加持下,传统意义的后端开发瘦身,又催生出了前端服务化的理念。在适配行业领域,业务场景,用户群体等不同条件下,前端低代码的设计落地和工程实践相应会呈现出不同的特征与特色。

 

一、 项目背景

 

SREWorks是一套面向企业级复杂业务的开源云原生运维解决方案,是大数据SRE团队多年工程实践的锤炼及沉淀。

 

解决前端开发的前端统一托管工程(sw-frontend)是运维解决方案的重要一环,提供了一套serverless体验的配置化前端低代码解决方案,该方案以运维人员为主要用户群体,集成了一套前端设计器/渲染器,提供前端页面部署,代码回滚,编译打包等方案。同时赋予运维人员根据自身业务需求,快速创建定制应用的能力,有效提升诸如支撑故障处理、监控分析、变更保障及值班/客服/大促等运维场景的运维效率。

 

二、 技术架构

 

低代码作为一种软件开发方式,特点在于少写代码或不写代码,只通过界面的托拉拽配置即可完成满足需求场景的软件,提高了软件的开发效率。效率提升的关键在于“复用”——对于前端页面而言,就是对页面进行解构抽象,映射为json等格式的配置文件,进而对各个粒度的组件进行编排复用;通过模板引擎进行组件映射,加载,渲染,路由组装编排,数据流传递注入等完成页面挂载。

 

作为一款着力于提升运维开发效率的前端低代码产品,sw-frontend工程采用React+antd为主的技术框架,设计了一套组件映射、编排、解析、渲染的工程体系:以antd组件为自由编辑粒度,用户在前端设计器通过可视化交互或者json编辑的方式,依据运维工作的实际使用场景,对组件进行属性配置/组件嵌套拼装;同时根据运维场景目标需求对页面组件进行布局的编排、数据源的绑定以及在合适点位插入Dynamic Logic,完成页面节点的设计工作,形成节点模型nodeModel,经模板解析引擎进行解析渲染。

 

sw-frontend整体架构图如下:

 

image.png

 

三、 核心设计

 

低代码产品由于适配的需求场景和面向的用户群体不同,所呈现的产品形态和交互方式也各具特点:类似汽车自动驾驶,区分L1、L2、L3...,低代码产品在使用复杂度上也大体呈现几种形态:

 

给普通用户使用的低代码产品:用户只需关心自身业务,无需代码配置,只用修改页面组件的Data就能快速地生成页面,通常营销活动页面都是通过此类方式快速构建

面向中台开发的低代码产品:进行界面拖拽设计并进行json编辑配置即可

着力于提高前端人员日常产出效率的可复用组件/插件如json-shcema动态表等,具有一定封装粒度,旨在提升代码段复用率,提升开发效率

 

sw-frontend就是这样一款面向运维中台开发的低代码产品。运维是个特定的业务需求场景,搭建一个UI界面只是运维场景的需求之一;sw-fontend提供了一套满足强交互页面类型设计,serverless体验,灵活的数据流处理能力和丰富的组件扩展能力的低代码解决方案。它不单是一个低代码框架,而且还内置了或者塑造了一整套的运维工作流模式,以适配运维业务场景的使用。

相关文章
|
2月前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
2月前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
68 0
|
2月前
|
Cloud Native 安全 Java
杭州铭师堂的云原生升级实践
在短短 2-3 年间,杭州铭师堂完整经历了云计算应用的四个关键阶段:从“启动上云”到“全量上云”,再到“全栈用云”,最终达到“精益用云”。也从云计算的第一次浪潮,迈过了第二次浪潮,顺利的进入到了 第三次浪潮 AI + 云。
161 13
|
2月前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
2月前
|
Cloud Native 安全 Java
铭师堂的云原生升级实践
铭师堂完整经历了云计算应用的四个关键阶段:从”启动上云”到”全量上云”,再到”全栈用云”,最终达到”精益用云”。通过 MSE 云原生网关的落地,为我们的组织带来了诸多收益,SLA 提升至100%,财务成本降低67%,算力成本降低75%,每次请求 RT 减少5ms。
铭师堂的云原生升级实践
|
2月前
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
72 0
|
2月前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
2月前
|
Kubernetes Cloud Native API
云原生入门:从理论到实践的探索之旅
本文旨在为初学者提供一个关于云原生技术的全面介绍,包括其定义、核心原则、关键技术组件以及如何将这些概念应用于实际项目中。我们将通过一个简易的代码示例,展示如何在云原生环境下部署一个简单的应用,从而帮助读者更好地理解云原生技术的实践意义和应用价值。
|
2月前
|
运维 Cloud Native 开发者
云原生技术入门与实践
在云计算的浪潮中,云原生技术以其独特的优势和魅力吸引了越来越多的开发者和企业。本文将从云原生技术的基本概念、核心组件以及实际应用三个方面进行详细介绍,帮助读者更好地理解和掌握这一新兴技术。同时,文章还将分享一些实际案例和经验教训,让读者能够更深入地了解云原生技术的应用场景和发展趋势。
73 5
|
3月前
|
Cloud Native 持续交付 云计算
云计算的转型之路:探索云原生架构的崛起与实践####
随着企业数字化转型加速,云原生架构以其高效性、灵活性和可扩展性成为现代IT基础设施的核心。本文深入探讨了云原生技术的关键要素,包括容器化、微服务、持续集成/持续部署(CI/CD)及无服务器架构等,并通过案例分析展示了这些技术如何助力企业实现敏捷开发、快速迭代和资源优化。通过剖析典型企业的转型经历,揭示云原生架构在应对市场变化、提升业务竞争力方面的巨大潜力。 ####
67 0

热门文章

最新文章

  • 1
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    详解智能编码在前端研发的创新应用
  • 5
    巧用通义灵码,提升前端研发效率
  • 6
    智能编码在前端研发的创新应用
  • 7
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 8
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 9
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 10
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡