Serverless 从概念提出到应用,已经走过了 8 个年头,开发者对 Serverless 的使用热情不断高涨。为帮助开发者实现一键体验多云产品,极速部署 Serverless 项目,10 月 23 日,阿里巴巴正式宣布开源首个 Serverless 开发者平台 Serverless Devs,这也是业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台。

这就是 Serverless Devs

Serverless Devs 是一个开源开放的 Serverless 开发者平台,致力于为开发者提供强大的工具链体系。通过该平台,开发者可以一键体验多云 Serverless 产品,极速部署 Serverless 项目。

Serverless Devs 包含 Serverless Devs Tool (Serverless 开发者工具)和 Serverless Devs App Store(Serverless 应用中心):

  • Serverless Devs Tool 是一款可以让 Serverless 开发者的开发和运维效率翻倍的工具。通过使用该工具,开发者可以更简单、更快速的进行应用创建、项目开发、测试、发布部署等,实现项目的全生命周期管理。

  • Serverless Devs App Store 是一个集 Serverless 应用在线搜索,一键部署以及资源可视化编辑于一体的应用中心产品。应用中心拥有海量的生产级项目模板,案例模板,开发者可以自由选择,并将项目一键部署到指定的云平台上。

Serverless Devs 的开源为国内外开发者提供了 Serverless 工具的新选择,让开发者以更短的路径体验到多云 Serverless 产品,以更快的速度创建和部署 Serverless 应用,以更简单和更自动化的方法进行项目管理和运维,Serverless 项目通过该平台完成全自动化后,可节省 99.9% 的管理成本。

Serverless 工具链之困

Serverless 正在改变未来软件开发的模式和流程,并被预测将引领云计算的下一个 10 年,但尽管如此,开发者在选择使用 Serverless 时仍有诸多担忧,这其中最受关注的无疑就是工具链体系的匮乏。

所谓的工具链匮乏,一方面表现在市面上工具链不完善,这导致开发和部署难度大,进而增加成本;另一方面表现在,缺乏相关的工具链在体验层将 Serverless 体验进一步规范,优质工具链的匮乏导致本来就担心被厂商绑定的 Serverless 开发者变得更难与厂商解绑。今年 10月,中国信息通信研究院发布国内首个《云原生用户调查报告》明确指出在使用 Serverless 架构之前,49% 的用户考虑部署成本,26% 的用户考虑厂商绑定情况,24% 的用户考虑相关工具集完善程度,这些数据背后透露的实际上是:开发者对于完善工具链的强烈需求。

Serverless Devs 的优势

Serverless Devs 帮助解决目前的工具链之困,让开发者一键体验多云产品,极速部署 Serverless 项目。

1. 可支持主流 Serverless 服务/框架

Serverless Devs 是一个组件化与插件化的 Serverless 开发者平台,开发者可以在平台中可插拔式的使用不同 Serverless 的服务和框架,同时可参与组件和插件的开发。无论是工业级的 Serverless 服务,还是各类开源的 Serverless 框架,Serverless Devs 都可友好支持。开发者无需对市面上每一款 Serverless 工具进行研究和学习,只需通过 Serverless Devs ,就可以简单、快捷的“上手”主流 Serverless 服务和框架。

2. 可视化编辑和部署

Serverless Devs 拥有可视化编辑和部署流程。在 Serverless Devs App Store 中,使用者可以通过关键词快速检索所需的应用案例或组件,并且通过可视化编辑完成项目配置,通过鼠标点击即可完成项目部署。

无论是进行项目体验,还是进行项目开发、运维,在应用中心的加持下,在可视化编辑和部署的加持下,Serverless 项目的整体部署时间缩短了近 1 倍。同时,Serverless Devs App Store 也是一个开发者开源共建的平台,所有用户都可以在应用中心发布自己的组件和应用供更多人学习、参考以及使用。

3. 灵活与开放的使用方法

与绝大部分的开发者工具不同的是,Serverless Devs 在进行项目描述时不仅仅可以对函数计算、API 网关、对象存储等资源进行描述,也可以通过 Serverless Devs 提供的插件以及 Hook 进行 Install、Build、Publish 等行为描述。与此同时 Serverless Devs 不会对每个组件的命令进行限制,而是鼓励开发者针对不同的组件,开发不同的能力来应对更多、更复杂的场景,以阿里云函数计算组件为例,它不仅仅支持函数的部署和移除这样的传统能力,还支持日志查询,指标查询,本地构建,依赖安装,调试等更多定制化的能力。

Serverless Devs 的这种灵活与开放的使用方法,可以在自动化部署、运维等领域发挥非常大的作用,将 Serverless Devs 与项目全生命周期进行有机融合,使得 Serverless 项目的开发运维效能提升 90%。

像使用手机一样玩转 Serverless

通过 Serverless Devs,我们可以像使用手机一样的使用 Serverless。在使用手机时,我们需要通过在手机应用市场中搜索、下载各种应用,并安装到手机中进行使用;对于 Serverless Devs 开发平台来说,我们可以通过 s gui 快捷调出 Serverless Devs App Store,并在其中搜索并下载组件/插件到 Serverless Devs Tool 开始使用 Serverless,如图所示:

使用场景

Serverless Devs 可参与到项目的创建、开发、调试、部署与运维的全流程中,以阿里云函数计算组件为例:

  • 在项目的创建阶段,可通过命令行工具或者应用中心进行项目的最初创建;

  • 在项目开发过程中,可以通过本地开发、调试等能力来验证本地开发的正确性;

  • 在项目调试的环节,可以通过本地调试与远程调用、日志查询等能力,来进行项目的最终调试;

  • 在部署环节,可以先通过依赖安装、项目构建等流程构建出完整的部署包,再进行项目的部署;

  • 在后期运维环节,可以通过指标查询来进行项目健康度检查,通过日志查询等来进行问题定位,通过项目发布等能力进行版本发布,别名发布以及灰度发布等;

Roadmap

  • 2020 年 10 月,完成阿里云函数计算组件的全部能力建设;

  • 2020 年 11 月,完成代号“130”计划,一个月内完成 30 个 Web 框架/CMS 的支持,包括不限于 Django,Express,Flask,Koa,Egg,Nuxt,Next 以及 Webpy 等项目的一件迁移能力;

  • 2020 年 11 月,完成代号“32100”计划,3 周 21 天,让 Serverless Devs App Store 拥有 100 个组件/应用,可以覆盖人工智能、大数据、Web 开发、监控告警等多个领域,并且这些内容全部开源;

  • 2020 年 12 月,推出全新迭代版本;

  • 2021 年 1 月,完成代号“88“计划,8 周完成 8 个云平台的函数计算等相关能力的支持,可以通过 Serverless Devs Tool 快速把项目部署到阿里云等多云平台,甚至某些组件,只需要修改 provider,就可以实现多云部署;

  • 2021 年 3 月,完成 VScode 插件、云 IDE 等支持,通过编辑器、GUI 形式,使用 Serverless Devs

参与贡献

Serverless Devs 的开源为国内外开发者提供了 Serverless 工具的新选择,让开发者可以以更短的路径体验到多云 Serverless 产品,以更快的速度创建和部署 Serverless 应用,以更简单和更自动化的方法进行项目管理/运维,未来期待更多开发者参与共建。

目前代码已经在 Gitee(码云)和 GitHub 上正式开放:

如果你有任何疑问,欢迎钉钉搜索群号:33957367 进群交流!

快速体验 Serverless Devs

通过简单的几行指令,部署一个写诗神器,点击链接:

https://developer.aliyun.com/adc/scenario/c6415182ebba4c9f990c2298e9a73eba

体验就送 1024 专属好礼!

重磅 | 阿里开源首个 Serverless 开发者平台 Serverless Devs的更多相关文章

  1. 阿里开源首个移动AI项目,淘宝同款推理引擎

    淘宝上用的移动AI技术,你也可以用在自己的产品中了. 刚刚,阿里巴巴宣布,开源自家轻量级的深度神经网络推理引擎MNN(Mobile Neural Network),用于在智能手机.IoT设备等端侧加载 ...

  2. ServerlessBench 2.0:华为云联合上海交大发布Serverless基准测试平台

    摘要:华为云联合上海交大重磅推出ServerlessBench 2.0,为社区提供涵盖12类基准测试用例.新增5大类跨平台测试用例.4大类关键特性指标.且多平台兼容的Serverless开放基准测试集 ...

  3. 开发者必看!探秘阿里云Hi购季开发者分会场:海量学习资源0元起!

    摘要: 开发者分会场致力于帮助开发者学习了解阿里云最新技术,为开发者设计全方位的技术成长与进阶之路. 2019阿里云云上Hi购季活动已经于2月25日正式开启,从已开放的活动页面来看,活动分为三个阶段: ...

  4. 利用Azure Functions和k8s构建Serverless计算平台

    题记:昨晚在一个技术社区直播分享了"利用Azure Functions和k8s构建Serverless计算平台"这一话题.整个分享分为4个部分:Serverless概念的介绍.Az ...

  5. 涂鸦基于OAuth2在开发者平台上的探索与实践

    前言 开发授权(OAuth2)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资料(如照片.视频.联系人列表),而无需将用户名和密码提供给第三方应用. OAuth2允许用户提供一 ...

  6. Google发布跨云Serverless管理平台Knative

    企业只要使用由Google与Pivotal.IBM.红帽和SAP等企业共同开发的跨云Serverless管理平台Knative,就能在支持Kubernetes的云平台上自由的迁移工作负载,无论是跨私有 ...

  7. 触控发布《Cocos开发者平台白皮书》

    Cocos 2014 开发者大会(秋季)组委会今天正式发布了<Cocos开发者平台白皮书>,GameRes游资网得到Cocos官方授权发布该白皮书电子版. 白皮书主要内容包括对行业的趋势解 ...

  8. 在阿里云上搭建 Spark 实验平台

    在阿里云上搭建 Spark 实验平台 Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程 [传统文化热爱者] 阿里云服务器搭建spark特别坑的地方 阿里云实现Hadoop+Sp ...

  9. iOS开发之HelloKitty(移动社交平台项目)

    iOS开发之HelloKitty(移动社交平台项目,2015.3,parishe)

随机推荐

  1. The First Week luckyzpp

    一 ,LINUX系列有很多版本,只是我们很少去了解到更多,我们熟知红帽CentOS,Ubuntu,Debian,   Kali,  Rocky各种版本系列. 二 目前Linux 生产主流版本如下: C ...

  2. rabbitMq镜像集群

    rabbitMq延迟投递的方案 1 把消息记录到数据路,通过定时器进行刷新 2 TTL 加上死信队列 :通过路由把过期的消息同步到死信队列,通过死信队列的消费者进行消费 3

  3. jdbc操作mysql(三):利用注解封装

    案例五:利用注解封装 重复步骤 我们使用jdbc操作mysql时发现,操作不同表中数据,所写的方法基本相同:比如我们根据id向用户表添加数据,根据id删除商品表的数据,或者查询所有数据并用list集合 ...

  4. MySQL-库表操作详述

    一.库操作 创建库 create database 库名(charset utf8 对库的编码进行设置,不写就用默认值) 库名可以由字母.数字.下划线.特殊字符,要区分大小写,唯一性,不能使用关键字, ...

  5. vue系统总结2

    注册组件 组件其他补充 组件数据存放 父子组件通信 父级向子级传递信息 子级向父级传递信息 插槽slot 1.1什么是组件化 1.2 注册组件的基本步骤 创建组件构造器 注册组件 使用组件 <d ...

  6. 菜鸟入门Linux之路(方法论浅谈)

    Linux是为人熟知的OS之王,已"统治"世界.要想学好绝非易事. 作为菜鸟,可以与Linux亲密接触的方法很多,如视频.书籍.各种企培资料等等,如今的在线教育也如火如荼. 总结说 ...

  7. Docker之Alpine制作jre镜像(瘦身)+自定义镜像上传阿里云

    alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBo ...

  8. Spring事务管理回滚问题

    Spring事务管理不能回滚问题 在前段时间学习SpringMVC的练习中,碰到声明式事务管理时,事务不能回滚的情况,通过查看博客和资料,解决了问题. 原因 导致Spring事务管理不能回滚的原因有两 ...

  9. golang sync.noCopy 类型 —— 初探 copylocks 与 empty struct

    问题引入 学习golang(v1.16)的 WaitGroup 代码时,看到了一处奇怪的用法,见下方类型定义: type WaitGroup struct { noCopy noCopy ... } ...

  10. linux 下 I/O 多路复用初探

    本文内容整理自B站up主 free-coder 发布的视频:[并发]IO多路复用select/poll/epoll介绍 引入 一般来讲,服务器在处理IO请求(一般指的是socket编程)时,需要对so ...