简介: KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVela 可不是一个简单的 PaaS 或者 Serverless,它是一个能够以 Kubernetes 原生的方式进行任意扩展的 PaaS 内核,平台工程师可以基于它构建出任意的垂直业务系统。

作者:KubeVela 社区


2021 年 6 月 22 日,在云原生计算基金会(CNCF)的 TOC 例会上投票决议通过,KubeVela 正式成为 CNCF 官方沙箱项目。透明、开放、开源中立的 KubeVela,未来将持续致力于打造统一、标准、跨云的应用管理和交付体验。

“KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVela 可不是一个简单的 PaaS 或者 Serverless,它是一个能够以 Kubernetes 原生的方式进行任意扩展的 PaaS 内核,平台工程师可以基于它构建出任意的垂直业务系统。”

张磊,CNCF TOC Member

KubeVela 项目地址:_https://github.com/oam-dev/kubevela

项目介绍

云原生技术正在以 Kubernetes 作为通用抽象层,朝着跨云追求一致的应用交付迈进。Kubernetes 虽然在底层基础结构细节抽象方面表现出色,但带来了额外的复杂性。基于 Kubernetes 打造的各类 PaaS 林立却又互不相通,导致服务应用开发的平台团队,没有一个合适的框架来构建用户友好且高度可扩展的抽象。与此同时,混合云、多云、分布式云这些日益复杂的业务场景中,应用交付也在逐渐变得碎片化。

用 Go 语言开发的应用交付引擎 KubeVela,能帮我们克服以上所有难题。作为 OAM(Open Application Model)在 Kubernetes 上的实现,KubeVela 项目从 oam-kubernetes-runtime 演进至今,发展势头非常迅猛,不仅连续登上 GitHub Go 语言趋势榜首和 HackerNews 首页,更是迅速收获了包括 MasterCard、Springer Nature、第四范式、SILOT、Upbound 等来自世界各地、不同行业的终端用户,甚至还出现了像 Oracle Cloud、Napptive 等基于它构建的商业化产品。就在 2021 年 3 月底,KubeVela 社区宣布包含所有稳定版 API 的 v1.0版本 发布,正式开始向企业级生产可用迈进。


KubeVela 技术架构图

核心思路

对于平台开发人员而言,KubeVela 作为框架,通过执行以下操作来减轻构建以开发人员为中心的平台的烦恼:

  • 以开发人员为中心。KubeVela 通过引入 Application 的概念来抽象基础架构级别的原语,从而捕获微服务的完整部署,然后根据应用程序的需求构建操作功能。
  • 本地扩展。Application 由模块化的构建块组成,这些构建模块支持 CUELang【1】 和 Helm 【2】作为模板引擎。这使你能够以乐高风格抽象 Kubernetes 的功能,并通过简单的 kubectl apply -f 将它们发布给最终用户。对抽象模板所做的更改将在运行时生效,无需重新编译或重新部署 KubeVela。
  • 简单而可靠的抽象机制。与大多数 IaC(基础设施即代码)解决方案不同,KubeVela 中的抽象是用 Kubernetes Control Loop 【3】构建的,所以它们永远不会在集群中留下配置漂移。作为 Kubernetes 自定义资源【4】,KubeVela可以与任何 CI/CD 或 GitOps 工具无缝协作,不需要进行集成工作。

有了 KubeVela,平台构建者终于有了工具支持,可以设计易于使用的抽象,并以高信心和低周转时间将它们交付给终端用户。

对于终端用户(例如应用程序开发人员)来说,这种用 KubeVela 构建的抽象将使他们能够以最少的努力设计并向 Kubernetes 发布应用程序 —他们要做的只是定义一个简单的应用程序,可以轻松地与任何 CI/CD 集成,而不需要管理一些基础设施细节。

更进一步,KubeVela 目前典型的应用场景有很多,比如:

  1. SasS 软件云端托管
  2. 面向混合云/分布式云的应用 PaaS
  3. 面向混合环境的 DevOps 平台,包括多集群/多环境 CD/CD 等

未来展望

为了更好的满足云原生下应用交付的更加快速、多变和复杂等业务需求特性,KubeVela 将遵循以下的 Roadmap 进一步演进:

  • 目前 Component 接入需要通过 CUE 来实现对接转换。接下来,我们打算对已有的体系做更好的支持 -- 这包括已有的 Helm Chart、Kustomize 目录、Terraform Module 能够直接接入成为 Component。以 Helm Chart 为例,它的 values.schema.json 将对接成为 properties,输出的资源等同于 helm template 渲染后的结果。
  • 添加环境初始化 (Initializer) 的能力,为开发团队提供公共的部署环境,比如集群、系统 Operators & CRDs、公共服务 (Load Balancer, VPC, DB) 等。
  • 添加面相应用发布过程的 Workflow 能力,让用户可以定义面向过程的运维命令。所有内置运维操作也将往 Workflow 方向改造,包括 apply resources、灰度升级、流量管理、多集群等。同时也会新增配置差异化、数据传递等新功能。同时 Workflow 能力整体设计是可插拔的,用户可以实现自己的能力(比方说灰度发布)来添加或替换。
  • Vela 系统部署上提供 standalone 模式,不需要 K8s 作为运行时底座,可以在单个容器/VM 里面运行起来,适应一些比较复杂的管控部署环境。
  • 用户体验这一侧,velacp 项目将去除 mongodb 依赖而转为直接使用 CRD 做存储。添加更多的垂直场景,实现端到端一键交付能力,产出 App Profile 这种可被分享复用的场景制品解决方案。
  • 跟 CICD 系统做更好的集成,包括 Github Actions、Jenkins 等,能够让用户实现 git push 就将应用发布出去。

2021 年 5 月 26 日,由阿里云计算有限公司、中国信息通信研究院等 10 余家单位联合发起的《云计算开放应用架构》标准文件在“云原生产业大会”现场发布。该架构以阿里云、微软云联合发起的开源项目“开放应用架构模型(Open Application Model,以下简称 OAM)”为实现基础,旨在为云端应用管理者提供统一的应用描述规范及开放应用程序能力管理框架,以期推动简洁、高效、可控的云原生应用管理与交付方式在更多行业和企业中的大规模落地。

我们可以看到作为 KubeVela API Specification 的 OAM 正在汇聚行业共识,KubeVela 社区目前也在 GitHub 上获得 2.2k+ Star 认可,吸引到 3+ Maintainer、85+ Contributor 共建,以及 SheIn、滴普、谐云和风变科技等众多用户开始运用 KubeVela 在生产环境上。

原文链接

本文为阿里云原创内容,未经允许不得转载。

KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单的更多相关文章

  1. Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用

    6月,由腾讯云主导,联合百度.灵雀云.腾讯音乐.滴滴.政采云等多家合作伙伴发起的服务网格开源项目 Aeraki Mesh 通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会评定,正式成 ...

  2. 腾讯首个CNCF沙箱开源项目

    作者 SuperEdge开发者.腾讯云容器产品中心边缘计算团队.腾讯开源生态管理协会 SuperEdge 进入 CNCF 沙箱 2021 年 9 月 14 日,云原生分布式边缘容器系统 SuperEd ...

  3. 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

    摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...

  4. 灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目

    昨日,云原生计算基金会 (CNCF) 宣布由灵雀云开源的容器网络项目Kube-OVN 正式进入 CNCF 沙箱(Sandbox)托管.这是全球范围内首个被CNCF纳入托管的开源CNI网络项目,也是国内 ...

  5. Android UI(四)云通讯录项目之云端更新进度条实现

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节.交流QQ群:[编程之美 365234583]h ...

  6. Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35

    作者 | 王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF Incubator 项目 原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加 ...

  7. DevStream 成为 CNCF Sandbox 项目啦!- 锣鼓喧天、鞭炮齐鸣、红旗招展、忘词了。

    开局两张图,内容全靠"编" 来,有图有真相! DevStream ️ CNCF DevStream joins CNCF Sandbox CNCF Cloud Native Int ...

  8. IOS-小项目(饿了么 网络部分 简单实现)

    在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...

  9. 转载分享----一线交付眼中的为何"项目总是迟迟无法交付”

    当初博主在一线交付BOSS系统中承担过TC角色 交付的路途很艰辛,加班到10点多或1点多第二天8点上班,还有通宵的日子 还有无数个问题从开始到关闭的周期,各种催人,各种掐架拉会,各种被甲方嫌弃 看到这 ...

  10. cocos2dx之lua项目开发中MVC框架的简单应用

    **************************************************************************** 时间:2015-03-31 作者:Sharin ...

随机推荐

  1. epoll实现的简单服务器

    #include "../wrap/wrap.h" #include <sys/epoll.h> #define SIZE 1024 #define FUCK prin ...

  2. django(路由层)

    一.简介 # 路由匹配 url(r'test',views.test), url(r'test_add',views.test_add) # r'test'与请求头的数据进行正则匹配 ''' url方 ...

  3. 记录--vue.config.js 的完整配置(超详细)!

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间,对部门的个别项目进行Vue3.0+ts框架的迁移,刚开始研究的时候也是踩坑特别多,尤其我们的项目还有些特殊的webpack配置, ...

  4. Oracle与MySQL的差异和对比

    Oracle与MySQL的差异和对比:配套hands-on参考脚本. 方便客户针对培训课件内容进行动手实践,加强理解. --------------------------------- -- 主题: ...

  5. 【Spring注解驱动开发】面试官再问你BeanPostProcessor的执行流程,就把这篇文章甩给他!

    写在前面 在前面的文章中,我们讲述了BeanPostProcessor的postProcessBeforeInitialization()方法和postProcessAfterInitializati ...

  6. FPGA模块化设计

    模块化设计出发点 在实际地操作中,总有一些基础的模块需要不断地寻找,往往需要消耗大量的时间.为了节约模块化设计的时间,提高设计的效率.在这里将一些基础的模块全部进行封装,利用网络的便捷性,实现快速地基 ...

  7. 《MySQL技术内幕:InnoDB存储引擎》读书笔记

    SQL语句优化策略 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引. 2.应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建 ...

  8. vue前后端分离项目,使用宝塔面板解决跨域问题,设置Nginx反向代理

    开发环境解决跨域问题: 使用教程 跨域解决本地跨域问题 非唯一方法 生成环境解决跨域问题: 1.创建站点 2.把打包的vue项目dist发送解压到站点里面 ,选择静态模式 3.然后设置反向代理 目标u ...

  9. #差分约束系统#CodeChef Digit Matrix&洛谷 7515 [省选联考 2021 A 卷] 矩阵游戏

    洛谷传送门 DGMATRIX 分析 先任意构造出一个不一定满足值域的矩阵,现在只需要满足值域就可以了. 可以发现,给一行或一列依次加一减一2*2矩阵的和仍然不变,并且如果有解一定能构造出一组方案. 因 ...

  10. 开发板如何适配OpenHarmony 3.2

      简介 OpenAtom OpenHarmony(以下简称"OpenHarmony") 3.2 Beta5版本在OpenHarmony 3.1 Release版本的基础上,有以下 ...