All Products
Search
Document Center

Function Compute:Features

Last Updated:Aug 04, 2025

Function Compute is a fully managed, event-driven computing service. This topic describes the common usage scenarios of Function Compute and the features that you can use for each scenario. You can select features based on your business requirements.

Category

Feature

Description

Reference

Service management

Service management

A service is a resource management unit in Function Compute. Before you create a function, you must create a service. Functions that belong to a service inherit settings of the service, such as the permissions and log settings of the service.

Manage services

Version management

You can publish one or more versions for your service. A version is similar to a service snapshot that contains the information such as the service settings, and the code and settings of functions that belong to the service. A version does not contain trigger information.

Manage versions

Alias management

You can create an alias for a service version. An alias can be regarded as a pointer to a specific version of a service. You can use an alias to perform version publish, rollback, or canary release with ease. An alias is dependent on a service or a version. When you use an alias to access a service or function, Function Compute parses the alias into the version to which the alias points. This way, the caller does not need to know the specific version to which the alias points.

Manage aliases

Canary release

You can perform canary releases in Function Compute. The canary release feature allows you to have both a new version and the old version available at the same time. You can verify the capabilities of the new version before you divert all the traffic to the new version. You can also switch between the main version and the canary release version by changing the version number to which the alias points. This allows you to smoothly switch traffic between both versions.

Use versions and aliases to implement canary release

Network settings

By default, you can invoke the created functions only over the Internet. You cannot invoke the functions over virtual private clouds (VPCs). If you want a function to access resources in a VPC or allow requests from a specific VPC to invoke a function, you must manually configure the network settings and permissions for the service to which the function belongs.

Configure network settings

Logging

Before you use Log Service to store function invocation logs, you must specify a Log Service project and a Log Service Logstore for your service in Function Compute and authorize the service to access Log Service. Function invocation logs are stored in the specified Logstore. All function invocation logs that are generated for a service in the same region are stored in the same Logstore.

configure the logging feature

Storage

You can configure File Storage NAS (NAS) or Object Storage Service (OSS) mounting for a service in Function Compute. After that, functions in the service can use NAS or OSS to store data in the same way as using local file systems.

Tags

Function Compute allows you to classify service resources that have the same features by using tags. Tags facilitate resource searching and aggregation. You can use tags to group services and authorize different roles to manage services in different groups.

Tag management

Function management

Function management

A function is a unit that Function Compute schedules and runs. Functions must be deployed in services. In a service, you can create multiple functions that share some identical settings, such as service authorization and log settings. These functions are independent of each other.

Manage functions

Layer management

Layers allow you to publish and deploy custom resources such as common dependencies, runtimes, and function extensions. You can extract the public libraries on which functions depend into layers or use the common layers in Function Compute to reduce the sizes of code packages when you deploy and update the functions.

Environment variables

You can use environment variables to flexibly adjust the behaviors of functions in Function Compute without modifying the code.

Environment variables

Custom DNS

The custom DNS feature is suitable for scenarios such as accessing accelerated sites. You can use a specified DNS server to perform DNS resolution.

Configure custom DNS settings for functions

Function instance management

Instance lifecycle

Function Compute provides runtime extensions, which are developed based on traditional long-running applications to help you reduce the unnecessary costs that are generated by idle instances. Each extension corresponds to a hook, including the initializer hook, PreFreeze hook, and PreStop hook.

Function instance lifecycle

High concurrency

To reduce instance resource usage, optimize resource costs, and reduce cold starts, Function Compute supports high concurrency of each instance. By default, the concurrency value of an instance is one. In this case, a single instance can process only one request at a time. If you set the InstanceConcurrency parameter to a value greater than 1, Function Compute creates a new instance only when the number of requests to be concurrently processed by the existing instance exceeds the specified value.

Configure instance concurrency

Health check

Function Compute supports periodic health checks for function instances to avoid request failures caused by instance exceptions.

Configure a custom health check policy for instances

CLI-based instance management

CLI-based instance management allows you to run commands on instances in real runtime environments. For example, you can connect to an instance and check the environment details or collect context information by using tools such as Profiling or Coredump to optimize performance.

Run commands to manage function instances

Function invocation

Synchronous invocation

When a function is invoked in synchronous mode, Function Compute runs the function and waits for a response when an event triggers the function. After the function invocation is complete, Function Compute directly returns the execution results, such as the responses, execution summary, and log output.

Synchronous invocation

Asynchronous invocation

When Function Compute receives an asynchronous invocation request, the system immediately returns a response after the request is persisted instead of waiting for the request to be completed before a response is returned.

Asynchronous invocation

Asynchronous task

When you invoke a function in asynchronous mode, the requests are persisted to Function Compute queues before they are processed in a reliable manner. If you want to track and save the states of asynchronous invocations in each phase to obtain better task control capabilities and observability, you can enable the task mode to process asynchronous requests.

Overview

Scaling of pay-as-you-go instances

To prevent unexpected costs caused by excessive function invocations, Function Compute applies limits on the number of pay-as-you-go instances for each account in a region. In addition, Function Compute provides finer-grained control over the number of instances for on-demand invocations.

Overview of configuring the maximum number of on-demand instances

Trigger management

Trigger management

Function Compute provides a computing model in which function execution is driven by events. You can create a trigger for a specified function. The trigger contains a set of rules. When an event that meets the rules occurs, the event source triggers the associated function.

Custom domain name

Management of custom domain names

You can bind a custom domain name to a web application to allow users to use the domain name to access the web application.

Configure a custom domain name

WAF

Alibaba Cloud Web Application Firewall (WAF 3.0) identifies malicious traffic of functions and applications, scrubs and filters out malicious traffic, and returns normal traffic to backend functions to protect your functions against malicious intrusions.

Enable WAF

Multi-language runtime

Coding

Function Compute supports Java, Python, Node.js, PHP, Go and .Net Core. It can also build the runtime of other languages by using custom runtimes, such as custom Go runtime, custom Ruby runtime, and custom PowerShell runtime. You can also use custom images as runtimes.

For Python, Node.js, and PHP runtimes, you can use a developer tool or SDKs to deploy code, and debug code in the Function Compute console.

Overview

Programming model extensions

Function Compute provides runtime extensions that are developed based on traditional long-running applications to help you reduce costs that are generated by idle instances.

Programming model extensions

Serverless Application Center

Application

Serverless Application Center allows you to create scenario-specific applications and import applications.

On the Applications page in the Function Compute console, various scenarios and scenario-specific applications are displayed. You can select an application based on your business requirements.

Manage applications

Environment

The environment feature provides infrastructure management capabilities. You can isolate services in different environments. For example, you can isolate services in different regions and different VPCs to achieve high availability and low latency for production services.

Manage the environment of an application

Pipeline

Serverless Application Center provides basic pipeline capabilities, which allow editable and flexible execution of processes and help you publish code to serverless applications.

Monitoring and alerting

Monitoring metrics

In the Function Compute console, you can view the overview metrics of Function Compute resources and the metrics at the region, service, and function levels.

Monitoring metrics

Instance-level metrics

Function Compute provides instance-level metrics that allow you to view core metrics such as vCPU usage, memory usage, the network conditions of instances, and the number of requests that an instance concurrently processes.

Instance-level Metrics

Managed Service for OpenTelemetry

Function Compute is integrated with Managed Service for OpenTelemetry, which allows you to track function invocations and helps you analyze and diagnose performance bottlenecks in a serverless architecture. This improves development and diagnostics efficiency in serverless scenarios.

Developer tools

Serverless Devs

Serverless Devs 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 develop, create, test, and deploy projects in an efficient and easy manner. You can use Serverless Devs to manage the full lifecycles of projects.

What is Serverless Devs?

WebIDE

Web Integrated Development Environment (WebIDE) is an online IDE provided by Alibaba Cloud Function Compute. WebIDE delivers cloud-based development experience that is similar to that of Visual Studio Code (VS Code).

What is WebIDE?

Account management

Resource quota

Function Compute allows you to configure limits on the use of resources to avoid unexpected costs caused by wrong code.

Quotas and limits

Permission management

You can manage the required permissions to allow Function Compute to access other Alibaba Cloud services or trigger functions by using event sources.

RAM-based authorization

By using Resource Access Management (RAM) users, you can grant different permissions to RAM users and Alibaba Cloud account to avoid security risks caused by the exposure of the AccessKey pair of your Alibaba Cloud account. After you grant permissions to RAM users, you can allow only RAM users with the specified permissions to access or manage resources in the Function Compute console.