简介: Serverless Devs 作为开源开放的开发者工具,参编中国信通院《基于无服务器架构的工具链能力要求》标准,为行业统一规范发挥助推作用!​

作者 | 江昱(阿里云 Serverless 产品经理)

前言

2022 年 6 月 15 日,信通院在中国信通院云原生产业大会上发布《基于无服务器架构的工具链能力要求》标准,至此全球首个云原生 Serverless 开放工具链模型正式发布!Serverless Devs  [1]作为开源开放的开发者工具积极参与工具链模型建设,为树立行业领域统一规范发挥出助推作用。

随着云计算发展,以及云原生热度的攀升,Serverless 架构崭露头角且发展势头迅猛。不仅被更多开发者所关注,市场占有率也逐年提高。然而,业内各平台提供的 Serverless 服务存在较大差异,无形中增加了用户的学习、开发、调试、移植成本。各大云厂商和开源框架所能提供的 Serverless 服务(无论从能力范围还是从产品形态、使用体验等方面)却不尽相同,因此许多开发者在选择使用 Serverless 之初,最大的担忧便是厂商绑定问题。

在 2021 年中国信息通信研究院发布的《中国云原生用户调查 2021》数据中明确提及:在采纳 Serverless 技术前,31.69% 的用户会考虑厂商绑定问题,30.62% 的用户考虑相关工具集的完善程度。

这些数据背后透露的实际上是:开发者对于完善工具链的强烈需求和渴望。

基于这一现象,中国信通院发布的全球首个云原生 Serverless 开放工具链模型,旨在融合不同实现方式之间的差异,抽象出一套行之有效的工具链规范,统一 Serverless 应用全生命周期的操作体验,驱动 Serverless 技术的标准化发展与广泛落地。

Serverless 开放工具链模型

Serverless Devs 作为开源开放的开发者工具,自其立项始,便以提升 Servelress 应用研发效能为目标,以让 Serverless 架构更好用、更易用为准则,期望在 Serverless 应用全生命周期发挥出重要作用。

Serverless Devs 不仅仅在工具链定位层面和信通院所发布的模型思路吻合(都是希望通过对 Serverless 应用全生命周期管理能力的建设,助力开发者研发效能提升,降低学习成本,提升使用幸福感),在功能支持层面以及工具链产品形态上,也与该模型高度一致。

模型解读

此次信通院所发布的《基于无服务器架构的工具链能力要求》标准,是对 Serverless 架构工具链体验层的规范与统一,做出规约。此举可以降低用户的使用与迁移成本,有助于屏蔽不同实现方式之间的差异,进而推动无服务器架构技术的广泛应用。

(中国信通院发布)

《基于无服务器架构的工具链能力要求》:从能力框架入手,通过接入范围、使用方法、操作形式等几个方面,对 Serverless 工具链的基本形态进行了规约;通过初始化配置、应用开发、应用调试、应用打包、部署发布以及应用下线几个阶段,对 Serverless 工具链的能力范围,即全生命周期管理能力进行了更为细致的规约;

最后通过对支撑能力(包括不限于授权管理、触发管理、应用管理、运维管理、研运管理等几个方面)以及开放能力(包括不限于拓展开发、组件管理等几个方面)进一步对 Serverless 工具链的具体形态,所需功能进行了相关的描述。

通过该模型,各个平台所提供的 Serverless 开发者工具将趋于统一,更为规范。

对用户的而言,对无服务器架构(Serverless)的工具链能力做出规范性的标准化要求,相当具有必要性。该模型的发布可以让不同平台较为割裂的 Serverless 使用体验,逐渐朝向统一规范的形态演进,消解用户厂商锁定的顾虑。

通过该模型实现的 Serverless 工具链项目,能够让开发者获得更为一致的开发使用体验,即便是使用不同平台所提供的 Serverless 产品或服务。以调试功能为例:该模型认为,工具应提供基于本地环境的调试能力,宜支持在沙箱环境执行本地调试,宜支持端云调试,可支持云端调试。

此外通过这样的规约,也可以帮助厂商积极开拓建设思路,查缺不足,补平自身的工具所应该具备的能力。这对行业统一规范建设,提升用户研发效能等都具有极高的价值和战略性意义。

另外值得注意的是,在《基于无服务器架构的工具链能力要求》中,还涉及到拓展开发、组件管理等相关能力的描述,可以感受到信通院对工具链开放生态的重要态度。

Serverless Devs

Serverless Devs 自 2020 年 10 月正式开源后,本着推动领域开发者规范统一的思想,一直为开发者生态不断繁荣,优化用户体验层面的规范标准持续努力着。

创新升级

基于开源开放建设的 Serverless Devs 开发者工具,信通院所发布的《基于无服务器架构的工具链能力要求》在开源的基础上,创新性提出了 Serverless Devs Model,并根据该模型对外提供开发者工具和 Registry 生态。

而这一部分将会以生态基础的思路进行建设,通过这一套体验,开发者可以快速适配框架层,并在自身的应用中发挥重要的作用和价值。

为开发者带来更为统一的功能体验,例如应用管理,发布,运维部署等,也可以为开发者提供多云平台的更为统一的使用体验,例如公有云,混合云。

基于模型和开源社区的最佳实践,Serverless Devs 开发者工具和 Serverless Registry 为企业或开发者提供快速将业务部署到多平台的 Serverless 服务。

而各个云平台或 Serverless 服务商,也可以通过这套生态基础,为用户们提供更为规范和统一的工具链、应用中心和最佳实践。

记得 Serverless Devs 社区在和 Laf 社区的负责人介绍 Serverless Devs 和 Serverless Registry 的时候,Laf 社区的负责人激动地说到:“Python 里面有 Pypi,Node.js 里面有 Npm,Serverless 领域有 Serverless Registry,配合开发者工具可以做无限的可能,这就是生态的基础啊,这太有格局,太有重要意义了。”

Serverless Devs 作为一款无厂商锁定,开源开放的 Serverless 开发者工具,不断地赋能 Serverless 创新升级,能够灵活自由地为不同平台的 Serverless 开发者和厂商用户提供全生命周期管理能力,是我们长期坚持的目标。

以阿里云函数计算(FC)为例,Serverless Devs 可以在初始化、开发、调试、部署、运维等多个领域发挥出重要的作用。

阿里云在Serverless Devs 基础上,构建了 Serverless 应用中心 [2],为开发者们提供了非常标准的 GitOps 能力,帮助开发者可以从应用纬度,对 Serverless 应用进行管理和操作,包括环境划分等相关功能。

德基集团,便是基于 Serverless 架构进行不同环境的划分,通过不同功能的加持,助力开发和运维效率全面加速提升。

德基集团的团队同学同学这样评价 Serverless Devs:"开源的 Serverless Devs 的出现,抹平了平台间的差异化,帮助我们开发者快速的部署到不同的云平台,打消用户的入坑焦虑同时,也给个厂商争取了共同协商统一标准的时间。由此,我们也不难看出,Serverless Devs 的功能确实是在不断的满足用户,其建设的根本目标,建设态度和思路,也是和广大开发者站在同一角度的。当然,我们也正在为体验层的规范,行业的繁荣,而不断努力贡献自己的一份力量。"

除了云厂商、企业的选择,开源社区也和 Serverless Devs 有着密切的合作联系,CNCF 的沙箱项目 OpenFunction,也正打算基于 Serverless Devs 构建其开发者工具链体系。社区负责人也表达:"Serverless Devs 通过打造开源开放、无厂商锁定的 Serverless 应用全生命周期管理工具解决了的 FaaS 平台各有各的规范这一问题。" 并表示 OpenFunction 社区将与 Serverless Devs 社区加紧合作,使用户可以用统一规范管理的 OpenFunction 函数。

结语

一方面 Serverless Devs 注重是安全,注重的是研发效能的提升;另一方面我们也十分关注它是不是“接地气” 的,开发者能不能好用,能不能易用;Serverless Devs 能不能真的在 Serverless 应用全生命周期,助力研发同学更好,更快的享受 Serverless 架构所带来的红利。

我们也希望 Serverless  Devs 能够持续为行业发展与生态繁荣贡献自己的力量,无论是推动、参与信通院发布《基于无服务器架构的工具链能力要求》,还是组建 Serverless 开发者社区,发布 Serverless 开发者手册,亦或是是举办各类 Serverless Meetup 线下活动,Serverless Devs 一直希望通过自身的努力,能够为行业发光发热,贡献力量。

在未来,Serverless Devs 不仅仅会作为开发者工具, 为开发者们提供好用的无厂商锁定的 Serverless 开发体验,也将会成为技术底座,逐渐的被更多厂商和开源项目所采纳。Serverless Devs 将会以开源代码,开发生态的形式持续建设,持续发力,为行业规范、繁荣,贡献力量。

附录:

Serverless Devs:https://www.serverless-devs.com/

Serverless应用中心:https://fcnext.console.aliyun.com/applications/

社区GitHub:https://github.com/serverless-devs/serverless-devs

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

基于信通院 Serverless 工具链模型的实践:Serverless Devs的更多相关文章

  1. 腾讯云原生数据库TDSQL-C入选信通院《云原生产品目录》

    近日,中国信通院.云计算开源产业联盟正式对外发布<云原生产品目录>,腾讯云原生数据库TDSQL-C凭借其超强性能.极致效率的弹性伸缩和完善的产品化解决方案体系,成功入围目录. 全球数字经济 ...

  2. 信通院发布《云计算发展白皮书 (2019年) 》 (附PPT解读)

    来源: 中国信息通信研究院CAICT 为了进一步促进云计算创新发展,建立云计算信任体系,规范云计算行业,促进市场发展,提升产业技术和服务水平.由中国信息通信研究院(以下简称“中国信通院”)主办,中国通 ...

  3. GitLab + Jenkins + Harbor 工具链快速落地指南

    目录 一.今天想干啥? 二.今天干点啥? 三.今天怎么干? 3.1.常规打法 3.2.不走寻常路 四.开干吧! 4.1.工具链部署 4.2.网络配置 4.3.验证工具链部署结果 4.3.1.GitLa ...

  4. Serverless 下的微服务实践

    作者:弈川 审核&校对:筱姜.潇航 编辑&排版:雯燕 微服务架构介绍 微服务架构诞生背景 在互联网早期即 Web 1.0 的时代,当时流行的是单体应用,研发团队比较小,主要是外部网页, ...

  5. [软件过程/软件生命周期模型]软件过程的工具链&技术链【待续】

    0 宣言:DevOps & RUP统一过程建模 1 项目管理 (需求管理 / 缺陷管理 / ...) 禅道(前身:bugfree) [在线协作] JIRA(项目与事务跟踪工具) 与禅道类同,但 ...

  6. Linux简单程序实例(GNU工具链,进程,线程,无名管道pipe,基于fd的文件操作,信号,scoket)

    一, GNU工具链简介: (1)编译代码步骤: 预处理 -> 编译 -> 汇编 -> 链接: 预处理:去掉注释,进行宏替换,头文件包含等工作: gcc -E test.c -o te ...

  7. [工具开发] 一信通 Web 短信发送客户端

    一.简介 为了协助公司运营部对几家短信平台进行测试,我根据各自的接口文档编写了几个简单的短信发送客户端: 下面是一信通 Web 短信发送客户端,使用 HTTP GET 方法. 二.效果图 1. 首页 ...

  8. DIY FRDM-KL25Z开发环境 -- 基于GNU工具链

    IDE大行其道的今天,一键make极大的便利了开发的同时,也每每让各种半路出家的猿们遇到工具链的问题感到束手无策(不就是说自己嘛?^_^!!!).也玩过不少板子了,始终没去深究工具链方面的问题,对于嵌 ...

  9. arm-linux交叉编译工具链的制作(基于S3C2440)【转】

    本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便, ...

  10. 微服务低代码Serverless平台(星链)的应用实践

    导读 星链是京东科技消金基础研发部研发的一款研发效能提升的工具平台,面向后端服务研发需求,尤其是集成性.场景化.定制化等难度不太高.但比较繁琐的需求,如服务前端的后端(BFF).服务流程编排.异步消息 ...

随机推荐

  1. MYSQL 是如何保证binlog 和redo log同时提交的?

    MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性. 先来看看什么是redo log 和binlog,以 ...

  2. Elasticsearch(es) 查询语句语法详解

    Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL.Elasticsearch 查询分类大致分为全文查询.词项查询.复合查 ...

  3. [置顶] drools规则引擎因为内存泄露导致的内存溢出

    进入这个问题之前,先了解一下drools: 在很多行业应用中比如银行.保险领域,业务规则往往非常复杂,并且规则处于不断更新变化中,而现有很多系统做法基本上都是将业务规则绑定在程序代码中. 主要存在的问 ...

  4. 08.Java反射问题

    目录介绍 8.0.0.1 反射的原理是什么?有哪些途径获取到Class对象,Class类的含义和作用是什么?什么是class类? 8.0.0.2 有哪些方式可以提高反射效率?为何反射消耗性能?究竟是怎 ...

  5. 快速上手系列:HTML

    一 HTML 基本元素 基本结构 <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  6. 如何安装和使用Docker

    本文深入解析Docker,一种革命性的容器化技术,从其基本概念.架构和组件,到安装.配置和基本命令操作.文章探讨了Docker在虚拟化.一致性环境搭建及微服务架构中的关键作用,以及其在云计算领域的深远 ...

  7. Postman模拟浏览器网页请求并获取网页数据

      本文介绍在浏览器中,获取网页中的某一个请求信息,并将其导入到Postman软件,并进行API请求测试的方法.   Postman是一款流行的API开发和测试工具,它提供了一个用户友好的界面,用于创 ...

  8. #倍增,floyd#CF147B Smile House

    题目 求一张有向图的最小正环(环上结点数最小) 分析 有环当且仅当 \(f[i][i]\) 为正数, 那么考虑跑 \(n\) 次 floyd 直接转移,时间复杂度为 \(O(n^4)\) 然而没必要这 ...

  9. 使用 Debian、Docker 和 Nginx 部署 Web 应用

    前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程.着重介绍了 Debian.Docker 和 Nginx 的安装和配置. 第 1 步:更新和 ...

  10. Array and Set work process

    目录 Array work principle 分析Array操作步骤数 read find insert delete Set work principle 分析Set操作步骤数 read find ...