Serverless Devs is an open source platform for serverless application developers. When you use Serverless Devs, you do not need to manage underlying resources. Serverless Devs allows you to use serverless services and frameworks in a pluggable manner and develop components and plug-ins. This improves the efficiency of operations and maintenance (O&M). Serverless Devs also allows you to develop, create, test, and deploy an application with ease and efficiency, to manage the full lifecycle of the application.
- Serverless Devs can identify resources in Alibaba Cloud services such as Function Compute, API Gateway, and Object Storage Service (OSS) by using the s.yml file. Serverless Devs can also identify behaviors such as install, build, and publish by using the built-in plug-ins and hooks.
- Serverless Devs does not restrict component commands. You are encouraged to develop more capabilities for different components to deal with more complicated scenarios. For example, Function Compute components support both conventional capabilities, such as the deployment and removal of functions, and customized capabilities, such as log query, metric query, local building, dependency installation, and debugging.
Alibaba Cloud provides various components based on Serverless Devs. The following section describes the FC and FC-API components, which are two components relevant to Function Compute.
The FC component supports the full lifecycle of an Alibaba Cloud serverless application. FC serves as an advanced version of Funcraft. Similar to Funcraft, FC uses a resource configuration file named s.yml to identify behaviors. This helps you develop, build, test, and deploy applications to Function Compute with efficiency.
- Supported modes
- YAML mode
You can use the s.yml file based on the YAML syntax of Function Compute components to define resources for your serverless application. The resources that can be defined in the file include Function Compute services, functions, triggers, and custom domain names. For more information about the YAML syntax of Function Compute components, see YAML syntax.
- Command mode
You can develop and deploy a serverless application by running commands. In command mode, you can verify the s.yml file, build functions, debug functions on your computer, and deploy functions to Function Compute for testing.
- YAML mode
- Simplicity: FC allows you to create and modify resources such as services in Function Compute with a few clicks. In addition, all features are loaded on demand. This prevents interruptions during the use of FC.
- Efficiency: FC provides development and O&M capabilities. It allows you to deploy and remove online resources, and build resources, configure interconnection between on-premises and cloud applications, query data, install dependencies, and perform debugging on your computer. FC helps improve the efficiency of development and testing.
- Diversity: FC allows you to deploy resources by using Pulumi or SDKs.
The FC-API component is developed based on Serverless Devs for you to call the Function Compute API. FC-API servers as an advanced version of fcli. Similar to fcli, FC-API can identify behaviors. You can call the Function Compute API by running interactive commands.
- FC-API allows you to call the Function Compute API and provides simple and fine-grained permission management by API operation.
- FC-API does not require you to use the s.yml file to describe resources. You need only to run commands. Therefore, FC-API applies to automation processes, such as the scenarios where continuous integration or continuous delivery (CI/CD) tools are used.
- FC-API allows you to manage Function Compute resources. For example, you can use FC-API to create, delete, modify, and query services, functions, and triggers.
- Automation processes
When you use FC-API to develop your application, you run commands instead of using the s.yml file. Therefore, you can enable specific atomic features by using the relevant parameters. This allows you to manage permissions and implement automation in a convenient manner. You can run a single command to perform the relevant operation. For example, you can modify function code, modify function configurations, modify a service, create a trigger, and change an alias.
- Function management
FC-API is a CLI developed based on the Function Compute API and is built in with the resource management capabilities of Function Compute. For example, you can use FC-API to modify, delete, and query services, functions, and triggers.
For information about the permissions on FC-API, see Custom policies for the FC-API component.