卡饭网 > 安全资讯 > 行业动态 > 正文

阿里开源首个 Serverless 开发者平台

来源:开源中国 作者:大东BE 时间:2020-10-23 12:05:37

北京时间 10 月 23 日,阿里巴巴正式宣布开源首个 Serverless 开发者工具 Serverless Devs,这也是首个支持主流 Serverless 服务/框架的云原生全生命周期管理工具。

从 2012 年 Serverless 概念的首次提出,到 2019 年伯克利预测 Serverless 将取代 Serverful 计算,Serverless 被业界称为云时代新的计算范式,引领云的下一个十年。开发者对于 Serverless 的关注度不断提升,同时对于 Serverless 应用的部署成本,技术知识库完备程度,厂商绑定以及工具集完善程度等问题非常关心。该项目就是为了辅助开发者实现一键体验多云产品,极速部署 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 Devs,可以像使用手机一样的使用 Serverless,举一个形象的例子:

Serverless Devs 的优势

支持多云厂商

目前 Serverless 领域在工具链层面的建设、最佳实践和学习路径层面的建设并不完善,行业内的规范标准百家争鸣。就目前而言,从云厂商角度来看,AWS 有 SAM 规范及对应的开发者工具;阿里云有 Funcruft 开发者工具;Azure、Huawei Cloud 等也都有自己开发者工具及相对应的规范标准;从开源角度来看,相对知名的 Serverless Framework 在其 Plugin 版本支持多云的函数计算,但是随着其产品的逐渐发展,重心的逐渐转移,Plugin 版本已经成为了过去式,Serverless Framework 推出了 Component 版本,以国内为例,Serverless Framework 在国内仅支持单一云厂商的 Serverless 服务。

所以可以认为,真正意义上的开源开放的多云 Serverless 工具链体系,并没有完整的建设起来。Serverless Devs 将会支持 AWS、Google Cloud、Azure、阿里云等国内外多个厂商的相关 Serverless 服务(目前已经完成了部分厂商的支持)。开发者无需对市面上每一款 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 Devs 是多云多资源全链路/生命周期管理平台。该平台可以在组件化和插件化共同作用下,参与到项目的创建、开发、调试、部署与运维的全流程中,以阿里云函数计算组件为例:

可以通过命令行工具或者应用中心进行项目的最初创建;在项目开发过程中,我们可以通过本地调试等能力,来验证本地开发的正确性等;在项目调试的环节,可以通过本地调试与远程调用、日志查询等能力,来进行项目的最终调试;在部署环节,可以先通过依赖安装、项目构建等流程构建出完整的部署包,在进行项目的部署;在后期运维缓解,可以通过指标查询来进行项目健康度检查,可通过日志查询等来进行问题定位,可以通过项目发布等能力进行版本发布,别名发布以及灰度发布等。

Roadmap

主流 Serverless 服务/框架支持:

支持多云平台

持开源框架等

Serverless Devs App Store 应用/组件完善

支持 VSCode 插件、云IDE 等,可以在多种编辑器上使用 Serverless Devs

预计在 2020 年 12 月,推出全新迭代版本。

参与贡献

Serverless Devs 欢迎所有开发者参与共建,目前代码已经在 Gitee 和 GitHub 上正式开放。

Gitee 地址:https://gitee.com/organizations/serverless-devs/projects

Github 地址:https://github.com/serverless-devs

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


相关推荐