关于前端:SREWorks数智运维平台开源一周年-回顾与展望

7次阅读

共计 4281 个字符,预计需要花费 11 分钟才能阅读完成。

2022 年 3 月 SREWorks 我的项目正式开源,到目前为止曾经整整一周年了。自开源以来,咱们始终立足云原生运维场景,秉承“数据化、智能化”的运维思维,采纳“小步快跑”的疾速迭代形式,使得整个 SREWorks 我的项目也获得了长足的提高。于此同时,得益于社区用户、企业搭档的积极参与和奉献,也为 SREWorks 我的项目的倒退注入了新的生机。上面咱们来回顾一下 SREWorks 的开源故事并瞻望其将来的倒退。

开源故事

置信大家或多或少据说过飞天的 5K 我的项目,这是中国云计算畛域的一个里程碑式的我的项目,咱们团队承当了其中的运维工作。超大规模集群的运维保障工作,让咱们意识到:如果没有系统性的运维工程,即使咱们再殚精竭虑,集群稳定性也是会是一件靠天吃饭的事件。于是咱们逐渐将大量的运维实际进行工程化落地,使之成为了一个牢靠的运维平台,在外部咱们称之其为 ABM:Apsara Bigdata Manager — 飞天大数据运维平台。

有了 ABM 之后,咱们经常会对外分享平台化的运维工程实际,也收到了较好的同行反馈。本着 “Talk is cheap. Show me the code.” 的想法,咱们进一步摸索如何将这些平台工程实际代码进行开源,帮忙更多从业者晋升运维效力。

随着云原生以及 Kubernetes 集群的大量推广,咱们发现这些大规模的工程实际,同样实用于 k8s 集群。于是,咱们对 ABM 进行了分层革新,降级为利用引擎 + 运维平台的模式。抽取其外围引擎局部为 AppManager,应用 OAM 作为利用模型,其原理及实现能够参考如下文章:

QCon 演讲实录(上):多云环境下利用治理与交付实际

QCon 演讲实录(下):多云治理要害能力实现与解析 -AppManager

同时,咱们将运维平台 ABM 移植到 k8s 集群下,并进行了优化裁剪,这个过程有点像从 Mac OS X 中裁剪 iOS– 咱们将这个裁剪进去平台命名为 SREWorks。有了 SREWorks 之后,咱们的各种对外教训分享对于同行来说不再处于隔靴搔痒的状态,咱们有计划有实际有代码可落地。

开源历程

在这一年工夫里,SREWorks 进行了几次重要的版本公布:

日期 版本 阐明
2022/3/22 v1.0 工程代码首次公开推送
2022/5/9 v1.1 组件插拔场景化部署能力 SREWorks v1.1 版本公布 组件插拔场景化部署能力
2022/6/21 v1.2 公共利用市场上线,数据平台能力加强 SREWorks v1.2 版本公布 新增运维市场能力
2022/11/16 v1.3 利用插件机制上线 SREWorks v1.3 版本公布 插件机制公布
2023/1/6 v1.4 纯内网离线装置计划反对,底座反对热降级 SREWorks v1.4 版本公布 离线装置 & 前端重构

承蒙宽广开发者和用户的反对与认可,SREWorks 在 2022 年底被 InfoQ 评为开发者最青睐的十大开源我的项目。

开源意义

在这开源的一年里,在与内部的探讨沟通上,咱们经常会不可避免的碰到这么一个问题:为什么国内开源我的项目做胜利的这么少?咱们能够从开源我的项目使用者的角度,来思考这个问题:一个开源我的项目应该更像个工程还是更像个工具?仿佛优良的开源我的项目通常两者兼有之:方便快捷的工具帮忙开发者疾速解决问题,吸引他们疾速入坑;工程的深度吸引业界高手继续往里填坑。 反之,不足工程深度我的项目能帮忙用户解决短平快的问题,但无奈继续倒退,而不足快捷工具的工程如无源之水无本之木,还未积攒足够的用户基数用户案例就枯竭了。

再往深剖析一层,为什么国内开源我的项目经常会陷入上段提到这些窘境?因为开源我的项目的推广并不像朋友圈的点赞,认同这个我的项目的人,会将这个我的项目理论用起来,继而接收开源我的项目作者在我的项目中所传播的思维及办法。所以开源我的项目必须要有其独创性,能力服众,否则使用者就会产生一种“如同我也行”的激动重整旗鼓。这就像陈词滥调的那句话“一流企业做规范、二流企业做品牌、三流企业做产品”,一个优良的开源我的项目经常疏导了这个畛域的一些规范的落地。

咱们心愿通过 SREWorks 数智运维平台,让更多从业者利用“大数据和人工智能”的能力做好运维,进入到“数据化、智能化”时代。从代码到线上业务服务的全流程,咱们划分了“交付、监测、治理、管制、经营、服务”六大场景,每个场景中都其有代表性的外围性能。

开源生态

围绕着 SREWorks 数智运维平台,咱们秉承凋谢合作共享的理念,致力于构建一个人人可参加的生态圈。

前端可视化生态

前端可视化经常成为一个产品性能疾速迭代的瓶颈,SREWorks 中提供了自在的前端低代码组件布局计划,无需前端开发同学配合,只须要轻松地利落拽一把,就能够疾速将几个前端页面落地。大家在 SREWorks 中看到的所有性能页面,均是通过这种可视化布局产生的,咱们的前端研发提供了丰盛的前端组件库供布局应用,具体对此感兴趣的同学能够参考上面两篇文章或间接上手体验一把:

SREWorks 前端低代码工程设计概览

SREWorks 前端低代码组件生态演进:monorepo 架构重构和近程组件加载实际

咱们的前端研发同学惟恐各种组件无奈齐全满足业务需要,千方百计提供了各类组件扩大及能力加强计划:

  • 组件不够多? 咱们利用 monorepo 架构将组件局部变成一个独立的 npm 工程,不便开发者二次开发以及往里新增组件。
  • 接口数据格式无奈齐全匹配组件? 咱们在组件中提供各种数据处理插槽,容许用户间接写 js 函数来解决数据。
  • 组件的文字格局上心愿做一些调整? 各种展现文本均反对应用 React JSX 进行格局渲染加强。
  • 想嵌入一些本人开发的组件?也不是基于 React 开发的? 没关系,近程组件加载满足你,Vue 组件轻松加载。
  • 不想在本地开发代码,但想疾速把几个页面元素合成一个新组件? 咱们反对应用 React JSX 在前端间接编写新组件。

利用及插件生态

在利用开发中,构建环节是至关重要的。有时候线上环境看起来非常东倒西歪,然而构建环境却会为了疾速出包,暗藏各种脚本或有状态的小魔法。工夫一长,这条明澈的小溪就会布满各种岩石、急流、暗礁,大多数状况能有惊无险地通过,但总会有那么几次问题的排查让人刻骨铭心。SREWorks 基于 k8s 提供残缺的云原生研发及构建计划,没有有状态的构建机,每次构建都是一个独立 Pod,用完即毁,保持良好的弹性伸缩能力。具体技术细节能够参考 SREWorks 继续交付云原生化: 镜像构建

SREWorks 中所有性能都是由规范的 OAM 利用形成的,利用就是组成平台的最小原子。 同时,咱们将 SREWorks 中的利用划分成两个大类:运维利用和企业应用:在运维利用中,咱们如上文提到的“交付、监测、治理、管制、经营、服务”六大场景,内置了丰盛的运维利用;在企业应用中,研发同学能够借助 SREWorks 的云原生研发流程疾速落地性能。

在 v1.2 版本之后,所有的 SREWorks 平台实例中都上线了公共利用市场,也就意味着曾经部署 SREWorks 的用户能够通过这个公共利用市场,来继续装置以及降级利用、加强能力。咱们激励 SRE 同学将各种教训积淀成一个利用,进而设计成一个残缺的利用产品,上架到市场供更多的同行应用。

另外一方面,为了可能满足更丰盛的利用状态需要,咱们在 v1.3 版本上线了插件机制,提供了工作负载等插槽容许用户通过插件进行扩大。当前工作负载中已有插件是微服务和 Helm,后续会上架更多的插件,也欢送有需要的公司进行插件共建。

数智运维生态

在 SREWorks 中咱们提供了基于 ElasticSearch 的残缺的数据运维平台以及智能运维平台,但说实话,数据化和智能化这块能力让公司来一键接入还是有难度的,于是咱们基于 SLS(阿里云日志服务)的 SREWorks 微利用,无需部署 SREWorks,帮忙局部用户一键体验轻量级 SREWorks 的数智服务,须要深刻理解的同学可移步这篇文章 SREWorks 数智服务尝鲜,你的数据筹备好了吗?

在智能运维算法这块,对外咱们一直布局更多的算法开源,对内咱们一直夯实算法实践根底:

  • 在 2021 年,咱们与阿里云达摩院单干的时序多周期检测相干论文《RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection》被 SIGMOD 2021 接管,这也是阿里首次以第一单位在 SIGMOD 的 Research Track 发表的论文。
  • 在 2021 年,咱们与达摩院决策智能团队单干撰写的论文《CloudRCA:面向云计算平台的通用根因剖析框架》,国内顶会 CIKM2021 的 Applied Research Track 录取。
  • 在 2022 年,咱们与达摩院时序智能团队单干的《NetRCA: An Effective Network Fault Cause Localization Algorithm》在 ICASSP‘22 AIOps Challenge 通信网络智能运维大赛取得冠军。

咱们欢送在数智运维畛域与应用 SREWorks 的公司有更多的共建与单干,继续打磨工程及算法,使之产生更宽泛更更普适的价值。

后续布局

引擎 (Appmanager) 上咱们会进一步欠缺插件机制,同时引入更多的工作负载(workload) 和运维特色 (trait) 来实现更丰盛的利用场景。在利用继续集成 (CI) 链路上,咱们会依据已有案例继续进行打磨能力,使得利用开发及构建计划对其余公司更加适配。

平台层(PaaS) 上咱们会进一步加强权限体系和接口服务,使得 SREWorks 在其余公司中嵌入集成更加简略。同时咱们会将中台能力进一步抽取,使得运维利用之间通过中台能力穿插援用更加不便高效。

应用层 (SaaS) 上咱们会依据外部新上线的性能状况进行开源,可能会蕴含利用治理的加强以及业务流程编排相干的性能点。

数智能力(DataOps&AIOps) 上咱们在往年会开源基于 Flink ML 的日志聚类算法服务,更强的异样检测服务,大敬请期待。

开发者生态(Developer Ecosystem) 上咱们往年会进一步裁减利用市场的利用,提供更多的培训课程及文档,不便更多用户,能疾速基于 SREWorks 实现云原生的利用开发。同时往年会上线 SREWorks 利用测评零碎,在日常组织一些较量进行基于 SREWorks 的利用开发较量。

写在最初

开源并非一件易事,曾有人这样问我:“你们开源是怎么活下来的?”通过外部大量的工程实际的打磨,使得咱们孵化了这样的平台,磨合了这样的一种工作形式:咱们心愿将这其中的价值以及思考传递给更多的人,路虽远行则将至,事虽难做则必成。

正文完
 0