KusionStack 开源有感|历时两年,打破 “隔行如隔山” 困境

为 Kubernetes 领域模型抽象应用层模型 - 使用 KCL 配置语言 & Konfig 配置库 Kusion 配置语言( KCL )是一个开源的基于约束的记录及函数语言。KCL 通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更快的自动化集成和良好的生态延展性。在 KCL 中, 推荐通过配置库的方式统一管理所有的配置清单和模型库,即不仅存放抽象模型本身的 KCL 定义,还存放各种类型的配置清单,比如应用的运维配置、策略配置等。 阅读详情

图片

文|朵晓东(花名:奕杉 )

KusionStack 负责人、蚂蚁集团高级技术专家

在基础设施技术领域深耕,专注云原生网络、运维及编程语言等技术工作

本文 2580 字 阅读 6 分钟

|前言|

本文撰写于 KusionStack 开源前夕,作者有感而发,回顾了团队从 Kusion 项目开发之初到现今成功走上开源之路的艰辛历程。当中既描述了作者及其团队做 Kusion 项目的初心和项目发展至今的成果,也表达了作者自身对团队的由衷感激,字里行间都散发着真情实感。

KusionStack 是什么?

KusionStack 是开源的可编程云原生协议栈!

Kusion 一词来源于 fusion (意为融合) ,希望通过一站式的技术栈融合运维体系的多个角色,提升运维基础设施的开放性、扩展性,从整体上降本增效。KusionStack 通过定义云原生可编程接入层,提供包括配置语言 KCL、模型界面、自动化工具、最佳实践在内的一整套解决方案,连通云原生基础设施与业务应用,连接定义和使用基础设施的各个团队,串联应用生命周期的研发、测试、集成、发布各个阶段,服务于云原生自动化系统建设,加速云原生落地。

图片

PART. 1

为了一个理想的运维体系

2019 年秋,MOSN 的工作已持续了近两年,期间我们逐步完成了在支付宝核心链路的形态验证。整个过程中除了 MOSN 本身面对的种种技术挑战和困难,所谓的云原生技术红利,实际上也已经掣肘于运维系统固化所造成的效率制约。

有一天主管找我吃饭 (下套) ,期间向我描述了他理想中的运维体系:

他希望 SRE 能通过一种专用语言来编写需求,通过写代码来定义基础设施的状态,而不是花费极大的精力在检查、发现、修复的循环上。基础设施团队则通过提供开放的可编程语言和工具支撑不同诉求的 SRE 团队,达到更高的整体 ROI。

我立刻意识到这和 Hashicorp 的 Terraform 神之相似 (后来 Hashicorp 在 2021 年底上市,以超过 150 亿美元的市值成为迄今为止市值最高的一次开源 IPO) 。另一方面,不同于 IaaS 交付场景,蚂蚁面对着大量更规模化、复杂度更高的云原生 PaaS 场景,又让我想到了 Google 内部运用专用语言、工具等技术开放 Borg[1]运维能力的实践[2],当时感觉这是一个既有意思又有挑战的事[3]。

饭桌上我们聊了一些思路以及一些还不太确定的挑战,他问我想不想搞一个试试,搞不成也没关系。当时没想太多,饭没吃完就答应了。

图片

PART. 2

漫长的学习、探索与实践

隔行如隔山。

没有过语言设计研发的经验,也没有过开放自动化系统设计的经验,项目开展之初,我们就陷入了举步维艰的困境。

经历了一段漫长时间的学习、摸索和实践的反复循环之后,项目依旧没有大的起色,更困难的是我们不但要面对蚂蚁内部复杂又耦合的场景和问题,还要经受「这种高度工程化的方式在蚂蚁是否有生存土壤」的质疑。

屋漏偏逢连夜雨,期间又令人惋惜且无奈的经历了一些人事变化,同时由于种种原因,项目一度陷入了各种困境。整个 2020 年,我们在未知、纠结、无奈中度过……

感谢瓴熙、庭坚和我的主管,感谢你们当时没有放弃这个项目,依然与我一同坚守。

图片

PART. 3

痛并快乐的孵化之旅

通过持续地布道、交流和沟通,我们逐步在基础设施技术团队和 SRE 团队找到了更多有共识的朋友。

同时在技术上,我们亦脱离了迷茫,真正意义上地启动了 Kusion 项目,也成功地从 PoC 过渡到了 MVP 的阶段。

最终,我们以“非标”应用为切入点,开始了痛并快乐着的孵化之旅。

感谢零执、青河、子波、李丰、毋涯、向野、达远……在这里无法一一列举,感谢你们的坚持让这个想法逐步成为现实。

图片

PART. 4

突破与进展

略过中间的种种探索和实践,回顾这段历程,在这一年多的时间里我们结合了编译技术、运维及平台技术,成功建立了一个基于 Kusion 可编程技术栈的运维体系。

在业务场景上,项目覆盖了从 IaaS 到 SaaS 的大量运维场景,截至目前共接入了 800+ 应用,覆盖 9 个 BG,21 个 BU,其中典型案例交付运维提效 90% 以上,这也是蚂蚁内部第一次将大量异构应用纳入到一整套运维技术栈。

在蚂蚁我们基于云原生容器和微服务技术深入探索了 DevOps、CICD 实践,完善了蚂蚁的云原生技术体系,逐步释放了云原生效率红利,同时形成了一个近 300 人的虚拟运维研发团队。

不同职能不同团队的参与者凝聚在一起解决各自所面对的问题,贡献了 3W+ commit 和 35W+ 行代码,有一些参与者自发成为 Kusion 的研发者 。我认为这些工程师文化理念和领域知识的积累带来了远超运维业务本身的价值。

图片

此外,Kusion 也成为了可编程基线产品、云原生运维产品、多云交付产品等新一代运维产品的基础技术,成为蚂蚁运维体系架构升级的一部分。

不忘初心,我们希望通过技术手段促进与运维参与方的合作关系的合理化、基于开放技术栈的自动化,以及运维数据与知识的沉淀积累,以达到整体协作运维效率的不断提升。

同时,因蚂蚁内部运维场景较多且链路复杂,每个环节都需要最懂运维业务的 SRE 密切参与,与平台、应用研发协同工作,最终各环节联合在一起形成了一套完整的运维体系,在这样的思路下开放技术也会越来越重要。

平台研发、SRE、应用研发等多种角色协同编写的代码是一种数据的沉淀,亦是一种业务知识的沉淀,基于这些数据和知识,未来会有更多的可能性。

PART. 5

走上开源之路

在历经了一段内部探索之后,我们希望把 KusionStack 开源到技术社区。因为我们意识到自身面对的问题,其他公司、团队其实也同样正在面对。借助开源这件事,我们希望团队的这些工作成果能对更多人有所帮助。

当然,也受限于自身能力以及精力和资源的投入,我们希望能有更多朋友参与进来,与我们共同去完善 KusionStack,不论你是工作在云原生、运维自动化、编程语言或者是编译器中的哪一个领域,我们都非常期待和欢迎你的加入。

PART. 6

期待与你共成长

这段经历对我来说异常宝贵,不仅仅是在于自身再一次在新的技术领域和蚂蚁的技术升级方面尝试了新的探索并实现了突破,更宝贵的是,自己还拥有了一段与一群人均 95 后的小伙伴一起将想法落地实现的奇幻历程。

在未来, Kusion 的朋友圈不再局限于蚂蚁内部,面向开源,我们期待着能有更多的社区朋友在 KusionStack 与我们共同成长!

了解更多…

KusionStack Star 一下✨:
https://github.com/KusionStack

KusionStack 的开源,希望能对大家有所帮助,也希望能跟更多朋友共同完善 KusionStack。欢迎对云原生、运维自动化、编程语言、编译器感兴趣的同学一起参与社区共建,在新的技术领域升级方面进行探索和突破,实现更多新的想法。

点击文末**阅读原文**直达项目地址。

【参考链接】

[1]《Large-scale cluster management at Google with Borg》:https://pdos.csail.mit.edu/6.824/papers/borg.pdf

[2]Configuration Specifics:https://sre.google/workbook/configuration-specifics/

[3]《Borg, Omega, and Kubernetes》:https://queue.acm.org/detail.cfm?id=2898444

【本周推荐阅读】

图片

KCL:声明式的云原生配置策略语言

图片

精彩回顾|KusionStack 开源啦~

图片

【GLCC】编程夏令营 高校学生报名正式开始!

图片

蚂蚁集团 Service Mesh 进展回顾与展望|SOFAStack 四周年

图片

Lattice FPGA 开发流程(以 ECP5 为例) 以下是以 Lattice ECP5 FPGA 为例的开发流程,涵盖从需求分析到硬件部署的完整步骤。ECP5 系列是 Lattice 提供的高性能、低功耗 FPGA,适用于通信、工业控制和嵌入式系统等领域。 阅读详情

相关推荐

手把手教你用Zemax优化MTF:从‘离焦平衡球差’到高频像差控制的实战技巧

本文详细介绍了如何使用Zemax优化MTF性能,从基础设置到高级技巧的全流程。通过具体案例,讲解了如何利用离焦平衡球差提升中频MTF,以及识别和控制高频像差的方法,帮助光学设计工程师和学生有效提升成像质量。

weixin_30752699的博客 751

KusionStack 是什么?

KusionStack 是蚂蚁开源的云原生可编程技术栈!一、KusionStack 的目标愿景KusionStack 是一个可编程、高灵活性的应用交付及运维技术栈,灵感源于融合(Fusion)一词,旨在帮助企业构建的应用运维配置管理平面及 DevOps 生态。融合专有云,混合云,多云混合场景融合以云原生技术为主,同时采用多种平台技术的混合平台技术选型融合多项目、多团队、多角色、多租户、多环境的企业...

光谷码农 949

黑科技已上线|Lazada数据分析软件,一键式搞定你的店铺!

工欲利其事,必先利其器。在lazada跨境电商的整个流程中,适当的使用一些工具,不仅能大大的简化工作流程,而且可以提高实施效率。Mengla专为lazada电商卖家行业精细化分析lazada数据分析软件都有哪些强大功能! 一、两大优势: 1.海量数据: 数据覆盖面积大;数据分析维度逛;精确算法抓取海量数据;亿万数据秒级响应多种数据来源; 2.技术成熟: 深耕SaaS大数据挖掘;提供一站式数据分析服务;拥有领先的采集技术和运算模型架构; 二、Lazada数据分析软件的功能: 1.各国站点一键分析: 马来西亚

Menglakeji的博客 1146

KusionStack使用文档

如果想自定义默认安装版本,可以运行下述命令(将最后的 open@latest 替换为你想要默认安装的版本号就就行): 该脚本执行后会创建 $HOME/.kusionup 目录,该目录下会包含:执行完安装脚本后,默认已经安装好了 kusionup 和一个默认的 kusion 版本,你可以通过执行 kusionup 查看已安装的所有版本: 执行 kusionup ls-ver 列出来自内置安装源中的所有可安装的 **kusion** 版本: 执行 kusionup install $VERSION

王大雏的博客 417

ESP32-C3芯片通过蓝牙控制开锁功能

定义BLE服务和特征,用于接收开锁命令。0x00FF// 服务UUID0xFF01// 特征UUID4// 句柄数量// 特征值// 特征属性// 处理GATT服务器事件// 处理事件(详细代码见下文)// 注册GATT回调if (ret) {return;// 创建GATT服务器。

m0_46145044的博客 921

基于ENVI5.6与SARscape的哨兵一号时序InSAR实战:从数据准备到PS/SBAS结果解译

本文详细介绍了基于ENVI5.6与SARscape软件,利用哨兵一号(Sentinel-1)卫星数据,进行PS-InSAR与SBAS-InSAR时序分析,以监测地表形变的完整实战流程。内容涵盖从数据下载、软件配置、预处理、核心处理步骤到结果解译与质量评估,重点解析了PS与SBAS方法的关键参数设置、常见问题及解决方案,旨在帮助用户掌握从数据准备到成果分析的完整技术链条。

oo7890的博客 634

KusionStack 开源|Kusion 模型库和工具链的探索实践

文|杨英明(花名:向野)KusionStack 核心贡献者蚂蚁集团高级研发工程师在基础设施技术领域深耕,专注IaC/XaC、GitOps 等方向本文4912字 阅读 12分钟前言KusionStackKusionStack 最早是为了解决蚂蚁内部复杂的运维场景而诞生的解决方案。思路是通过自研的 DSL(KCL)沉淀运维模型(Kusion Model),将基础设施部...

光谷码农 675

matebookego win11 arm 系统安装安卓子系统

一般的x86电脑如果安装android子系统,运行安卓子系统,由于要将android arm代码转译为x86代码,所以效率不一定高,但是如果电脑是arm架构的,通过安卓子系统运行android的程序执行效率就会 高不少,本文参考,都是在win11 home版本下的。两者跑分在cpu上差不太多了,大约是枭龙855的水平了,这个水平的子系统就有一定的实用性了,玩个一般游戏,刷个抖音都很流畅的。启动子系统后,点击左上角的设置,启用 “开发人员模式”。然后就可以再通运运行华为应用商店来进行安装其它应用了。

babytiger的专栏 1万+

KusionStack 加入 CNCF Sandbox!

我们很高兴地宣布,KusionStack 项目在 2024 年第四季度通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会(TOC)的评定,正式成为 CNCF 沙箱(Sandbox)项目。我们衷心地感谢所有参与整个过程的 CNCF 成员,感谢他们的宝贵指导,同时也感谢社区和团队的热情支持,让这一切成为可能。项目地址:https://github.com/KusionStack项目官网...

金融级分布式架构 280

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:步进电机PID位置控制系统的实现

步进电机(Stepper Motor)是一种将电脉冲信号转化为角位移的执行元件,具有结构简单、控制方便、定位精度高等优点,广泛应用于数控机床、机器人、打印机、3D打印机等需要精确定位的场合。传统的步进电机多采用开环控制,但在高速或负载变化较大的情况下容易出现丢步、振荡等问题。为提高控制精度与响应性能,闭环PID控制被引入步进电机的位置控制中,通过编码器或旋转变压器等反馈装置,实现高精度、高稳定性的位置控制。本教程将带你使用构建一个基于PID控制的步进电机位置控制系统仿真模型步进电机建模。

MHD0815的博客 9692

【ROS】ROS2导航Nav2:简介、安装、测试效果、错误处理

在ROS2中自动导航使用Nav2来实现。Nav2 使用几个独立的模块化服务,通过 ROS 2接口(例如动作服务器或服务)与行为树 (BT) 通信。Nav2 输入包括:TF转换、一个地图源、一个行为树 (BT) XML 文件和相关的传感器数据源;Nav2 输出速度命令;Nav2 支持多种机器人,比如:四足机器人、履带机器人、轮式机器人等。

郭老二 5083

KusionStack 开源有感|历时两年,打破“隔行如隔山”困境

文|朵晓东(花名:奕杉)KusionStack 负责人蚂蚁集团高级技术专家在基础设施技术领域深耕,专注云原生网络、运维及编程语言等技术工作本文2580字 阅读 6分钟|前言|本文撰写于 KusionStack 开源前夕,作者有感而发,回顾了团队从 Kusion 项目开发之初到现今成功走上开源之路的艰辛历程。当中既描述了作者及其团队做 Kusion 项目的初心和项目...

金融级分布式架构 290

数据资产可视化分析:PowerBI在大数据管理中的实战

目的:帮你搞懂“为什么数据资产需要可视化?”“PowerBI能帮企业解决什么问题?”,并掌握用PowerBI做大数据可视化的实战技巧。范围:覆盖数据资产定义、可视化分析原理、PowerBI核心功能(数据连接、建模、可视化)、零售企业实战案例,以及未来趋势与挑战。背景:为什么企业的数据像乱堆的玩具?核心概念:数据资产、可视化分析、PowerBI分别是什么?它们怎么配合?实战步骤:用PowerBI帮零售企业整理“销售玩具箱”,做出能指导决策的仪表盘;应用场景:不同部门怎么用这个“整理好的玩具箱”?

2501_92132293的博客 906

精彩回顾|云原生 Meetup 广州站

???? 云原生 Meetup 广州站圆满结束啦 ???????? 感谢大家的热情????参与 ????让我们一起来回顾下本次活动的精彩瞬间吧~????2022 年的下半年第一场 Meetup 来到了广州,SOFAStack 社区携手 KubeSphere 一起为大家带来了云原生专题的技术内容分享。本次活动汇聚了云原生领域的多个贡献者和技术专家,现场分享与交流的氛围浓厚,吸引了不少小伙伴前来参与。接下来是各...

光谷码农 358

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Rust源码剖析:Lint - CombinedLintPass

摘要:前一篇文章 介绍了关于 Lint 和 LintPass 的一些概念和实现。基于这些结构,提供了一个简易的 Lint 检查的实现方式。本文主要介绍 CombinedLintPass 这一结构的实现,并基于 CombinedLintPass 进一步优化 Lint 的实现。背景在 KusionStack 技术栈中, KCL 配置策略语言是重要的组成部分之一。为了帮助用户更好的编写 KCL 代码,我...

光谷码农 1237

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

探索MessengerKit架构设计:iOS聊天框架的最佳实践

MessengerKit是一款专为iOS平台打造的UI框架,旨在帮助开发者快速构建功能丰富、界面精美的聊天应用。作为一款专注于即时通讯界面的开发工具,它提供了灵活的架构设计和丰富的自定义选项,让开发者能够轻松实现类似iMessage的交互体验。 ## 为什么选择MessengerKit? 在移动应用开发中,聊天功能往往是最复杂的模块之一。从消息气泡的展示到键盘交互,从媒体文件的处理到实时状态的

gitblog_00079的博客 419

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Kusion v0.13.0 发布啦,更丰富的命令行功能,还添加了对 AI 应用的支持!

Kusion v0.13.0 版本已发布!本次总共更新了超过14个新功能,9处问题修复以及13篇文档更新,截至目前 Kusion 已共计有28位贡献者 ????吉祥物小 K 同学带大家查收 v0.13.0 版本新特性团队一如既往地对不断壮大的 KusionStack 社区的宝贵贡献表示感谢,正是这些来自社区的贡献与反馈帮助我们达到了v0.13.0这一重要的里程碑。在这篇文章中,您将了...

金融级分布式架构 312

埋头苦干,曙光初现 —— KusionStack & KCL 的 2023 年终总结来啦!

HAPPY NEW YEAR元旦将至Dec.2023.12KusionStack 与 KCL 团队预祝大家新年快乐!新项目在过去的一年中,KusionStack 大家庭里又多了两个新项目,分别是Operating与Controller Mesh:KusionStack Operating 致力于提供满足 K8s 标准的云原生运维、链路可观测、资源可洞察等能力,支持对 Pod 进行增量配置和...

金融级分布式架构 314

Todo-Tree完全指南:如何用ripgrep快速定位项目中的TODO标签

Todo-Tree是一款强大的VS Code扩展,它利用ripgrep快速搜索工作区中的TODO、FIXME等注释标签,并在活动栏中以树状视图展示结果。通过直观的可视化界面,开发者可以轻松追踪代码中的待办事项,提升项目管理效率。 ## 🌟 为什么选择Todo-Tree? 在大型项目开发中,分散在代码中的TODO标签常常被遗忘。Todo-Tree通过以下核心优势解决这一痛点: - **极速搜

gitblog_00446的博客 387

深入解读 `@expo/json-file`:Expo 工具链中读写与操纵 JSON 文件的基础库

`@expo/json-file` 是 Expo 开源仓库中一个面向 JSON 文件的高效封装库,提供类型安全的读、写、查询、合并与删除等操作。本文将以其 [README](https://link.gitcode.com/i/f977f368d3ee86fc1ae483a0952048db) 为核心骨架,结合 [核心实现](https://link.gitcode.com/i/697c9521a

gitblog_00350的博客 452

PCV库扩展开发指南:为你的计算机视觉项目贡献新功能

PCV(Open source Python module for computer vision)是一个功能强大的计算机视觉开源Python模块,它提供了丰富的工具和算法,帮助开发者快速构建计算机视觉应用。本指南将带你了解如何为PCV库扩展新功能,从环境搭建到代码实现,一步步成为PCV贡献者。 ## 一、开发环境准备 ### 1.1 克隆PCV仓库 首先,你需要将PCV仓库克隆到本地。打开终

gitblog_01084的博客 523

Kusion v0.11.0 发布——跨团队协同工作流全新升级

KusionStack 团队很高兴地向大家宣布,Kusion v0.11.0 版本已经发布啦!本次总共完成了超过 60 个新功能,19 处问题修复以及 14 篇文档更新;截至目前 Kusion 已共计有 20 位贡献者 ????吉祥物小 K 同学带大家查收 v0.11.0 版本新特性在这篇文章中,您将了解一些Kusion团队精心挑选的令人兴奋的新功能,这些新特性有望显著地影响跨团队协同工作流。新增...

金融级分布式架构 243

精彩回顾|KusionStack 开源啦~

????KusionStack Open Day 圆满结束????感谢大家抽空参加我们一起来回顾下????本次活动的精彩瞬间吧~????蚂蚁集团高级技术专家、Kusion 项目发起人及负责人——朵晓东作为整场活动的主持人,带领大家一起回顾了 Kusion 项目演进历程,并宣布了 KusionStack 正式开源的好消息!活动开场,Kusion 项目的两位 Sponsor——蚂蚁集团可信原生技术部...

光谷码农 630

Go 代码城市上云——KusionStack 实践

导语KusionStackKusionStack 是面向 Kubernetes 云原生场景的 IaC 配置代码化实践的开源一站式可编程协议栈。其基本思想是让「应用方+平台方」的同学能够共同基于 IaC 构建的 Konfig 模型库同一平面进行 DevOps 协同工作。今天我们和大家分享一个好玩的 Go 代码城市应用,以及 KusionStack 是如何一键将其部署到 K8s 云原生环境的。Kusi...

金融级分布式架构 320

fastlane deliver 1.0 迁移指南:Deliverfile 参数重写、命令迁移与新版配置系统解析

> 本文基于仓库内 [deliver/MigrationGuide.md](https://link.gitcode.com/i/390bf678c23105526d6c172d7db7c484) 整理成文。该文档是 fastlane 工具链中 `deliver`(上传 App Store 元数据、截图与应用包的组件)在 **1.0 大版本重写**时期发布的官方迁移指南,记录了从旧版「Contin

gitblog_00912的博客 866
上一篇: KusionStack 开源有感|历时两年,打破“隔行如隔山”困境
下一篇: 蚂蚁集团获得 OpenInfra Superuser 2022 年度大奖
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值