当前位置: 首页 > Web前端 > HTML

SREWorks数字智能运维平台开源一周年-回顾与展望

时间:2023-03-27 23:17:58 HTML

2022年3月,SREWorks项目正式开源,至今已整整一年。自开源以来,我们始终立足于云原生运维场景,秉承“数据化、智能化”的运维思维,采用“小步快跑”的快速迭代方式,这使得整个SREWorks项目取得了长足的进步。同时,得益于社区用户和商业伙伴的积极参与和贡献,为SREWorks项目的发展注入了新的活力。让我们一起回顾一下SREWorks的开源故事,期待它未来的发展。开源故事相信大家或多或少都听说过飞天的5K项目,这是中国云计算领域里程碑式的项目,我们的团队承担了运维工作。超大规模集群的运维保障任务让我们认识到,如果没有系统的运维项目,即使我们全力以赴,集群的稳定也是一个靠天的事情。所以我们逐渐将大量的运维实践落实到工程化中,使其成为一个可靠的运维平台。在内部我们称之为ABM:ApsaraBigdataManager——飞天大数据运维平台。通过ABM,我们经常对外分享基于平台的运维工程实践,得到了同行的良好反馈。本着“话不多说,看代码”的理念,我们进一步探索如何将这些平台工程实践代码开源,帮助更多的从业者提升运维效率。随着云原生和Kubernetes集群的大量推广,我们发现这些大规模的工程化实践同样适用于k8s集群。因此,我们对ABM进行了分层改造,升级为应用引擎+运维平台的模式。核心引擎部分提取为AppManager,OAM作为应用模型。其原理和实现可以参考以下文章:QCon演讲实录(上):多云环境下的应用管理与交付实践QCon演讲实录(下):多云管理中关键能力的实现与Analyzing-AppManager同时将运维平台ABM移植到k8s集群中,并优化了裁剪。这个过程有点像从MacOSX裁剪iOS——我们将这个裁剪平台命名为SREWorks。有了SREWorks,我们的各种外部经验分享不再是让同行摸不着头脑的状态。我们有要实施的计划、实践和准则。开源历史SREWorks在这一年发布了几个重要版本:日期版本说明2022/3/22v1.0首次发布工程代码2022/5/9v1.1组件插件场景化部署能力SREWorksv1.1版本发布组件插件场景化部署能力2022/6/21v1.2公共应用市场上线,数据平台能力增强SREWorksv1.2版本发布新增运维市场能力2022/11/16v1.3应用插件机制上线SREWorksv1.3版本发布插件机制发布2023/1/6v1.4纯内网离线安装解决方案支持,基础支持热升级SREWorksv1.4版本发布离线安装&前端重构感谢开发者和用户的支持和认可,SREWorks被InfoQ评为2022年年底最受开发者喜爱的十大开源项目。开源的意义在这一年笔源,我们在与外界的讨论和交流中,常常不可避免地会遇到这样一个问题:为什么国内的开源项目成功的那么少?我们可以站在开源项目用户的角度来思考这个问题:开源项目应该更像一个项目还是一个工具?看来优秀的开源项目通常都有:方便快捷的工具,帮助开发者快速解决问题,吸引开发者快速入坑;项目深度吸引行业专家继续填坑。反之,缺乏深度工程的项目虽然可以帮助用户解决短期快速的问题,但无法持续发展,而缺乏捷径工具的项目则如无源之水、无本之木,用户案例还未积聚就会枯竭。足够的用户基础。更进一步,为什么国内的开源项目往往会陷入上一段所说的困境?因为开源项目的推广不是在朋友圈点赞,认同这个项目的人会实际使用这个项目,进而在项目中接受开源项目作者所传达的思想和方法。因此,开源项目必须要有原创性,才能服众,否则用户会有一种“好像也这么干”,重新来过的冲动。这正应了那句老话“一流企业做标准,二流企业做品牌,三流企业做产品”。一个优秀的开源项目往往会指导该领域一些标准的实施。我们希望通过SREWorks数智运维平台,让更多的从业者利用“大数据与人工智能”的能力做好运维,进入“数据与智能”时代。从代码到线上业务服务的全流程,我们划分了“交付、监控、管理、控制、运营、服务”六个场景,每个场景都有其具有代表性的核心功能。开源生态围绕SREWorks数字智能运维平台展开。我们秉承开放协作共享的理念,致力于打造人人可参与的生态。前端可视化生态前端可视化往往成为产品功能快速迭代的瓶颈。SREWorks提供免费的前端低代码组件布局方案,不需要前端开发同学的配合,只需简单拖拽即可快速集成多个前端组件。页面登陆。您在SREWorks中看到的所有功能页面都是通过这种可视化布局生成的。我们的前端研发提供了丰富的前端组件库供layout使用。对此感兴趣的同学可以参考以下两篇文章或直接入门:SREWorks前端低代码工程设计概述SREWorks前端低代码组件生态演进:monorepo架构重构与远程组件加载实践ComponentExpansionand能力提升解决方案:组件不够?我们采用monorepo架构,将组件部分变成一个独立的npm项目,方便开发者再次开发,添加组件。接口数据格式不能完全匹配组件?我们在组件中提供了各种数据处理槽,用户可以直接编写js函数来处理数据。想对组件的文本格式做一些调整?各种显示文本支持使用ReactJSX进行格式渲染增强。想嵌入一些自研组件?也不是基于React开发的?没关系,远程组件加载满足你,Vue组件轻松加载。不想在本地开发代码,又想快速将几个页面元素组合成一个新的组件?我们支持使用ReactJSX直接在前端编写新组件。应用与插件生态在应用开发中,构建环节至关重要。有时候线上环境看起来很井井有条,但是构建环境为了快速发布包,隐藏了各种脚本或者statefullittlemagic。久而久之,这条清澈的小溪就会布满各种怪石、急流和暗礁。在大多数情况下,它可以毫无危险地通过,但故障排除时总会有几次令人难以忘怀。SREWorks提供了完整的基于k8s的云原生研发建设解决方案。没有有状态的构造机,每次构造都是一个独立的Pod,用完即销毁,保持良好的弹性可扩展性。具体技术细节请参考SREWorks持续交付云原生:镜像构建SREWorks中的所有功能都是由标准的OAM应用组成的,而应用是构成平台的最小原子。同时,我们将SREWorks中的应用分为运维应用和企业应用两大类:在运维应用中,我们有提到的“交付、监控、管理、控制、运营、服务”六大场景以上,内置丰富的运维应用;在企业应用中,研发同学可以使用SREWorks的云原生研发流程快速实现功能。在v1.2之后,所有SREWorks平台实例都已经上线了公共应用市场,这意味着已经部署了SREWorks的用户可以通过这个公共应用市场继续安装、升级应用和增强能力。我们鼓励SRE同学把各种经验积累到一个应用中,然后设计出一个完整的应用产品,投放市场供更多同行使用。另一方面,为了满足更丰富的应用形态需求,我们在v1.3版本推出了插件机制,提供工作负载等插槽,让用户通过插件进行扩展。当前工作负载中现有的插件是微服务和Helm,未来会增加更多的插件。也欢迎有需要的公司搭建插件。数字智能运维生态在SREWorks中,我们提供了完整的基于ElasticSearch的数据运维平台和智能运维平台,但说实话,一键访问数据和智能对于企业来说还是有难度的。因此,我们基于SLS(阿里云日志服务)的SREWorks微应用无需部署SREWorks,帮助部分用户一键体验轻量级的SREWorks数字智能服务。需要进一步了解的同学可以移步本文,你的数据准备好了吗?在智能运维算法方面,对外继续规划更多开源算法,对内继续夯实算法理论基础:2021年与阿里云合作的时序多周期检测论文达摩院将由《RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection》发表被SIGMOD2021接受,这也是阿里作为第一单元在SIGMOD的ResearchTrack发表的第一篇论文。2021年,与达摩院决策智能团队合作的论文《CloudRCA:面向云计算平台的通用根因分析框架》将被国际顶级会议CIKM2021应用研究Track录取。2022年,我们与达摩院授时智能团队合作的《NetRCA: An Effective Network Fault Cause Localization Algorithm》获得ICASSP'22AIOpsChallenge通信网络智能运维大赛冠军。我们欢迎更多使用SREWorks的企业在数字智能运维领域共建合作,不断打磨工程和算法,使其产生更广泛、更普遍的价值。在后续计划中,我们将进一步完善引擎(Appmanager)上的插件机制,同时引入更多的工作负载和运维特性(traits),以实现更丰富的应用场景。在应用持续集成(CI)环节,我们将基于已有案例不断打磨自己的能力,使应用开发和建设方案更适用于其他公司。在平台层(PaaS),我们将进一步完善权限体系和接口服务,让SREWorks更容易嵌入和集成到其他公司。同时,我们会进一步抽取中台的能力,让运维应用之间交叉引用中台的能力更加方便快捷。在应用层(SaaS),我们会根据新的内部功能进行开源,其中可能包括应用管理的增强和业务流程编排相关的功能点。在数据智能能力(DataOps&AIOps)方面,我们今年会开源基于FlinkML的日志聚类算法服务和更强的异常检测服务,敬请期待。在开发者生态方面,今年我们将进一步拓展应用市场的应用,提供更多的培训课程和文档,方便更多的用户,快速完成基于SREWorks的云原生应用开发。同时,今年将推出SREWorks应用评估系统,每天都会组织一些比赛,进行基于SREWorks的应用开发竞赛。写在最后,开源不是一件容易的事。曾经有人问我:“你是如何在开源中生存下来的?”通过大量内部工程实践的打磨,我们孵化了这样一个平台,磨练了这样一个工作方式:我们希望把这个的价值和思考传递给更多的人。路再长也会来,再难也会完成。