简介: 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. Web Audio API 第1章 基础篇

    Web Audio API 第1章 基础篇 我查了一下 Web Audio API 蝙蝠书居然在 2013 年就出版了 我又看了一下我的"豆瓣读书"频道内,这本书加入到" ...

  2. JAVA 相关

    1.  google guava  cache 2. presto 3. loadingcache 4. aspect

  3. TypeScript必知三部曲(二)JSX的编译与类型检查

    在本三部曲系列的第一部中,我们介绍了TypeScript编译的两种方案(tsc编译.babel编译)以及二者的重要差异,同时分析了IDE是如何对TypeScript代码进行类型检查的.该部分基本涵盖了 ...

  4. TP6框架--EasyAdmin学习笔记:Excel表单导入数据库

    这是我写的学习EasyAdmin的第四章,这一章我给大家分享下Excel表单导入数据库的全流程需要怎么处理并提供案例 首先给大家看下这个功能的原理,下面是PHP连接打印机的代码 public func ...

  5. 工作记录:TypeScript从入门到项目实战(基础篇)

    前言 TypeScript是什么? 引用官方原话 TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript.TypeScript可以在任何浏览器.任何计算机和任何操作系 ...

  6. 记录--vue中动态引入图片为什么要是require, 你不知道的那些事

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵, ...

  7. WPF 组件间通信 MVVM 进行解耦

    假设有这样一个需求,有这样一个聊天界面,主界面是选项卡,其一选项卡内部是真正的聊天列表和聊天界面,我们需要实时的在主界面显示未读消息的数量 假设我们已经有方法可以拿到未读消息的数量,那么如何在主界面的 ...

  8. Swift self, Self, ==, === 傻傻分不清楚?

    本文首发于 Ficow Shen's Blog,原文地址: Swift self, Self, ==, === 傻傻分不清楚?. 内容概览 前言 self 和 Self == 和 === 总结 前言 ...

  9. re_signin 【ctfshow_元旦水友赛】Reserve

    题目: IDA反编译 主函数 1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 char s2[144] ...

  10. java代码输出控制台输出菱形

    private static void rhombFuncation() { int row = 3; for (int i = 1; i <= row; i++) { for (int row ...