Serverless Devs是一个开源开放的Serverless开发者平台,您无需关心底层资源。通过Serverless Devs,您不仅可以可插拔式地使用Serverless的服务和框架,也可以参与组件和插件的开发,提高运维效率。同时,您还可以更简单、快速地开发、创建、测试和部署项目,实现项目全生命周期的管理。
关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs。
由此带来的不便,敬请谅解!
支持的函数运行环境列表
- 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
优势
- 全生命周期管理
拥有创建、开发、调试、部署和运维项目的全生命周期管理能力。
- 安全发布
通过控制台或调用SDK对函数进行变更,Serverless Devs可以感知到并安全更新。
- 快速集成
借助于Serverless Devs的集成性和被集成性,可以与常见的CI/CD平台或工具等集成。
- 可观测性
拥有完善的可观测性。您可以在客户端通过指标查询和日志查询等命令,从业务的数据指标、执行日志等多重维度实现观测。
- 多模调试
拥有多模调试方案,可以同时满足开发态、运维态等不同调试需求,例如本地运行、在线运行和端云联调等。
组件
基于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组件(YAML模式)
- FC组件的优势:
- 简洁:使用一键式的部署模式进行创建、更新服务等资源。同时,为了保证组件使用的流畅性,所有的功能均是按需加载。
- 高效性:具备开发和运维态能力,支持部署和移除功能,也支持在本地进行构建、端云联调、查询信息、安装依赖和调试等功能,提升开发和测试的效率。
- 多样化部署:目前支持Pulumi和SDK部署模式。
关于FC组件的功能介绍和权限管理,请参见Serverless Devs操作命令。
FC-API组件
FC-API组件是一款基于Serverless Devs的阿里云函数计算API操作工具。该组件是fcli的进阶版本,和fcli的行为描述类似,因此称为FC-API组件,所以您可以直接通过交互式命令进行函数计算相关API的使用。
- 由于是关于函数计算API的相关操作,所以在使用的过程中更容易管理权限,甚至可以细化到单个接口的权限管理。
- 由于是纯命令式的,不依赖s.yaml文件描述资源,所以在自动化流程中,例如CI/CD工具、场景下的使用中更便捷。
- 支持函数管理能力,例如查询服务列表、函数列表或触发器列表,也支持增删改查相关资源。
- 自动化流程
由于FC-API组件是纯粹通过命令行进行开发的,无需依赖s.yaml文件,所以在使用的过程中,可以通过参数的传递实现某些功能,而且这些功能相对来说都是原子性的,更容易做权限管理和自动化流程。您可以直接通过单个命令实现某些操作,例如更新函数代码、更新函数配置、更新服务、创建触发器和更新别名等。
- 管理函数
FC-API组件是基于阿里云函数计算API的命令行工具,具备已有的资源管理能力。例如可以更新服务、删除服务、查看服务列表、函数列表或触发器列表等。
关于FC-API组件的权限管理,请参见FC-API组件权限信息。