开发工具 重磅 | 阿里开源首个 Serverless 开发者平台 Serverless Devs

alicloudnative for 阿里巴巴云原生 · 2020年10月23日 · 299 次阅读

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、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio
cloudy GoCN 每日新闻 (2020-10-25) 中提及了此贴 10月25日 19:21
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册