这就是 Serverless Devs
Serverless Devs 是一个开源开放的 Serverless 开发者平台,致力于为开发者提供强大的工具链体系。通过该平台,开发者可以一键体验多云 Serverless 产品,极速部署 Serverless 项目。
Serverless Devs 包含 Serverless Devs Tool (Serverless 开发者工具)和 Serverless Devs App Store(Serverless 应用中心):
1、Serverless Devs Tool 是一款可以让 Serverless 开发者的开发和运维效率翻倍的工具。通过使用该工具,开发者可以更简单、更快速的进行应用创建、项目开发、测试、发布部署等,实现项目的全生命周期管理。
2、Serverless Devs App Store 是一个集 Serverless 应用在线搜索,一键部署以及资源可视化编辑于一体的应用中心产品。应用中心拥有海量的生产级项目模板,案例模板,开发者可以自由选择,并将项目一键部署到指定的云平台上。
Serverless Devs 的开源为国内外开发者提供了 Serverless 工具的新选择,让开发者以更短的路径体验到多云Serverless 产品,以更快的速度创建和部署 Serverless 应用,以更简单和更自动化的方法进行项目管理和运维,Serverless 项目通过该平台完成全自动化后,可节省 99.9% 的管理成本。
Serverless 工具链之困
Serverless 正在改变未来软件开发的模式和流程,并被预测将引领云计算的下一个 10 年,但尽管如此,开发者在选择使用 Serverless 时仍有诸多担忧,这其中最受关注的无疑就是工具链体系的匮乏。
所谓的工具链匮乏,一方面表现在市面上工具链不完善,这导致开发和部署难度大,进而增加成本;另一方面表现在,缺乏相关的工具链在体验层将 Serverless 体验进一步规范,优质工具链的匮乏导致本来就担心被厂商绑定的Serverless 开发者变得更难与厂商解绑。
前不久,中国信息通信研究院发布国内首个《云原生用户调查报告》明确指出在使用 Serverless 架构之前,49% 的用户考虑部署成本,26% 的用户考虑厂商绑定情况,24% 的用户考虑相关工具集完善程度,这些数据背后透露的实际上是:开发者对于完善工具链的强烈需求。
Serverless Devs 的优势
Serverless Devs 帮助解决目前的工具链之困,让开发者一键体验多云产品,极速部署 Serverless 项目。
可支持主流 Serverless 服务/框架
Serverless Devs 是一个组件化与插件化的 Serverless 开发者平台,开发者可以在平台中可插拔式的使用不同 Serverless 的服务和框架,同时可参与组件和插件的开发。无论是工业级的 Serverless 服务,还是各类开源的 Serverless 框架,Serverless Devs 都可友好支持。开发者无需对市面上每一款 Serverless 工具进行研究和学习,只需通过 Serverless Devs ,就可以简单、快捷的“上手”主流 Serverless 服务和框架。
可视化编辑和部署
Serverless Devs 拥有可视化编辑和部署流程。在 Serverless Devs App Store 中,使用者可以通过关键词快速检索所需的应用案例或组件,并且通过可视化编辑完成项目配置,通过鼠标点击即可完成项目部署。
无论是进行项目体验,还是进行项目开发、运维,在应用中心的加持下,在可视化编辑和部署的加持下,Serverless 项目的整体部署时间缩短了近 1 倍。同时,Serverless Devs App Store 也是一个开发者开源共建的平台,所有用户都可以在应用中心发布自己的组件和应用供更多人学习、参考以及使用。
灵活与开放的使用方法
与绝大部分的开发者工具不同的是,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 可参与到项目的创建、开发、调试、部署与运维的全流程中,以阿里云函数计算组件为例:
1、在项目的创建阶段,可通过命令行工具或者应用中心进行项目的最初创建;
2、在项目开发过程中,可以通过本地开发、调试等能力来验证本地开发的正确性;
3、在项目调试的环节,可以通过本地调试与远程调用、日志查询等能力,来进行项目的最终调试;
4、在部署环节,可以先通过依赖安装、项目构建等流程构建出完整的部署包,再进行项目的部署;
5、在后期运维环节,可以通过指标查询来进行项目健康度检查,通过日志查询等来进行问题定位,通过项目发布等能力进行版本发布,别名发布以及灰度发布等;
未来规划
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 上正式开放:
Github 地址:
https://github.com/serverless-devsGitee 地址:
https://gitee.com/organizations/serverless-devs/projectsServerless Devs 官网:
https://www.serverless-devs.com