Serverless Devs是一个开源开放的Serverless开发者平台,您无需关心底层资源。通过Serverless Devs,您不仅可以可插拔式地使用Serverless的服务和框架,也可以参与组件和插件的开发,提高运维效率。同时,您还可以更简单、快速地开发、创建、测试和部署项目,实现项目全生命周期的管理。

说明 函数计算后续不再维护Funcraft,如果您正在使用Funcraft管理资源,建议您将资源迁移至Serverless Devs进行管理,以获得更好的用户体验。

关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs

由此带来的不便,敬请谅解!

支持的函数运行环境列表

Serverless Devs支持的Runtime运行环境:
  • Node.js 8、Node.js 10、Node.js 12、Node.js 14
  • Python 2.7、Python 3、Python 3.9
  • Java 8、Java 11
  • PHP 7.2
  • .NET Core 2.1
  • Custom Runtime
  • Custom Container

优势

Serverless Devs与其他开发者工具不同,可以更灵活开放的使用,具有如下优势:
  • 全生命周期管理

    拥有创建、开发、调试、部署和运维项目的全生命周期管理能力。

  • 安全发布

    通过控制台或调用SDK对函数进行变更,Serverless Devs可以感知到并安全更新。

  • 快速集成

    借助于Serverless Devs的集成性和被集成性,可以与常见的CI/CD平台或工具等集成。

  • 可观测性

    拥有完善的可观测性。您可以在客户端通过指标查询和日志查询等命令,从业务的数据指标、执行日志等多重维度实现观测。

  • 多模调试

    拥有多模调试方案,可以同时满足开发态、运维态等不同调试需求,例如本地运行、在线运行和端云联调等。

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

组件

基于Serverless Devs,阿里云函数计算团队为您提供了多种组件,其中,与函数计算相关的组件主要有FC组件和FC-API组件等,说明如下。

FC组件

FC组件是一个用于支持阿里云Serverless应用全生命周期的工具。该组件是Funcraft的进阶版本,和Funcraft的行为描述类似。通过资源配置文件,即s.yaml,FC组件支持快速开发、构建、测试以及将应用部署到函数计算

  • FC组件的使用模式:
    • FC组件(YAML模式)

      使用阿里云函数计算组件的YAML规范,即s.yaml文件定义Serverless资源。其包含函数计算服务、函数、触发器以及自定义域名等资源。阿里云函数计算组件的YAML规范的详细信息,请参见规范和权限管理

    • FC组件(非YAML模式)

      FC组件(非YAML模式)即FC组件CLI模式。该模式下您无需在本地创建s.yaml文件以及配置信息,即可实现资源管理。以同步管理资源为例,如资源已经成功部署到线上,想要免去手写配置信息等,您只需执行s cli fc sync相关命令,即可将云上资源,如函数配置或代码同步至本地。

  • FC组件的优势:
    • 简洁:使用一键式的部署模式进行创建、更新服务等资源。同时,为了保证组件使用的流畅性,所有的功能均是按需加载。
    • 高效性:具备开发和运维态能力,支持部署和移除功能,也支持在本地进行构建、端云联调、查询信息、安装依赖和调试等功能,提升开发和测试的效率。
    • 多样化部署:目前支持Pulumi和SDK部署模式。
说明 FC组件适用于所有部署函数计算应用的场景,例如迁移传统框架到函数计算、管理函数等。

关于FC组件的功能介绍和权限管理,请参见Serverless Devs操作命令

FC-API组件

FC-API组件是一款基于Serverless Devs的阿里云函数计算API操作工具。该组件是fcli的进阶版本,和fcli的行为描述类似,因此称为FC-API组件,所以您可以直接通过交互式命令进行函数计算相关API的使用。

FC-API组件的优势:
  • 由于是关于函数计算API的相关操作,所以在使用的过程中更容易管理权限,甚至可以细化到单个接口的权限管理。
  • 由于是纯命令式的,不依赖s.yaml文件描述资源,所以在自动化流程中,例如CI/CD工具、场景下的使用中更便捷。
  • 支持函数管理能力,例如查询服务列表、函数列表或触发器列表,也支持增删改查相关资源。
FC-API组件的适用场景
  • 自动化流程

    由于FC-API组件是纯粹通过命令行进行开发的,无需依赖s.yaml文件,所以在使用的过程中,可以通过参数的传递实现某些功能,而且这些功能相对来说都是原子性的,更容易做权限管理和自动化流程。您可以直接通过单个命令实现某些操作,例如更新函数代码、更新函数配置、更新服务、创建触发器和更新别名等。

  • 管理函数

    FC-API组件是基于阿里云函数计算API的命令行工具,具备已有的资源管理能力。例如可以更新服务、删除服务、查看服务列表、函数列表或触发器列表等。

关于FC-API组件的权限管理,请参见FC-API组件权限信息

相关信息