Serverless Devs is an open source platform for serverless application developers. Serverless Devs frees you from underlying resource management and allows you to use serverless services and frameworks in a pluggable manner and develop components and plug-ins. This helps improve O&M efficiency. Serverless Devs also allows you to efficiently develop, create, test, and deploy projects with ease. You can use Serverless Devs to manage the full lifecycles of projects.
For more information about how to migrate Function Compute-related resources from Funcraft to Serverless Devs, see Migrate resources from Funcraft to Serverless Devs.
We apologize for any inconvenience caused.
Supported runtime environments
- Node.js 8, Node.js 10, Node.js 12, and Node.js 14
- Python 2.7, Python 3, and Python 3.9
- Java 8 and Java 11
- PHP 7.2
- .NET Core 2.1
- Custom Runtime
- Custom Container
Benefits
- Full lifecycle management
Serverless Devs allows you to manage the full lifecycles of projects. You can use Serverless Devs to create, develop, debug, and deploy projects.
- Secure release
Serverless Devs automatically detects and securely updates the changes in functions when you use the console or SDKs to modify the functions.
- Quick integration
Serverless Devs can integrate with common continuous integration or continuous delivery (CI/CD) platforms and tools.
- Observability
Serverless Devs provides excellent observability. You can run metric query and log query commands on your client to observe data metrics and execution logs of your business.
- Multi-mode debugging
Serverless Devs allows multi-mode debugging that can meet the debugging requirements during the development and O&M of applications. For example, you can debug an application that runs on your on-premises machine or on the cloud, or perform cloud-terminal joint debugging.
Components
Alibaba Cloud Function Compute provides various components that are supported by Serverless Devs. The following section describes the FC and FC-API components in Function Compute.
FC
The FC component supports the full lifecycles of Alibaba Cloud serverless applications. This component is similar to Funcraft and works as an advanced edition of Funcraft. The FC component supports rapid development, construction, testing, and deployment of applications to Function Compute by using s.yaml.
- Usage modes of the FC component:
- YAML mode
You can use the s.yml file based on the YAML syntax of Function Compute components to define resources for your serverless applications. The resources that can be defined in the file include the services, functions, triggers, and custom domain names of Function Compute. For more information about the YAML syntax of Function Compute components, see YAML syntax and permission management.
- Non-YAML mode
The non-YAML mode of the FC component is the CLI mode. In this mode, you do not need to create and configure the s.yaml file on your on-premises machine to manage resources. For example, if you want to synchronize managed resources and you do not want to manually configure parameters after you deploy resources online, you need to only run the
s cli fc sync
command to synchronize resources such as function configurations and code from the cloud to your computer.
- YAML mode
- Benefits
- Simplicity: The FC component allows you to create and modify resources such as services in an efficient manner. In addition, all features are loaded on demand. This prevents interruptions when you use the FC component.
- Efficiency: The FC component provides capabilities in development and O&M. You can use the FC component to deploy and remove online resources, build resources, perform cloud-terminal joint debugging, query data, install dependencies, and perform debugging on your on-premises computer. The FC component helps improve the efficiency in developing and testing applications.
- Diversity: The FC component allows you to deploy resources by using Pulumi or SDKs.
For more information about features and permissions of the FC component, see Serverless Devs commands.
FC-API
The FC-API component is developed based on Serverless Devs. You can use FC-API to perform Function Compute API-related operations. FC-API is similar to fcli and works as an advanced edition of fcli. You can use interactive commands to perform Function Compute API-related operations.
- The FC-API component allows you to perform Function Compute API-related operations and manage permissions by API operation with ease.
- You can use FC-API without the need to use the s.yml file to define resources. You need to only run commands to manage resources. FC-API is suitable for automation processes, such as the scenarios in which CI/CD tools are used.
- The FC-API component allows you to manage Function Compute resources. For example, you can use the FC-API component to create, delete, modify, and query services, functions, and triggers.
- Automation processes
The FC-API component allows you to develop applications by using commands. The s.yml file is not required. You can enable specific atomic features by passing parameters. This allows you to easily manage permissions and implement automation processes. You can run a single command to perform an operation. For example, you can modify function code, modify function configurations, modify a service, create a trigger, and change an alias.
- Function management
The FC-API component is a CLI tool that is developed based on the Function Compute API and provides built-in resource management capabilities. For example, you can use the FC-API component to modify, delete, and query services, functions, and triggers.
For information about the permissions that may be involved when you use the FC-API component, see Custom policies for the FC-API component.