All Products
Search
Document Center

Function Compute:What is Function Compute?

Last Updated:Oct 31, 2024

Function Compute is a fully managed, event-driven computing service. To use Function Compute, you need to only write and upload your code or images. This allows you to focus on coding without the need to plan and purchase infrastructure such as servers. Function Compute allocates computing resources, runs tasks in an elastic and reliable manner, and provides features such as logging, performance monitoring, and alerting.

Tutorial video

What is Function Compute?

Function Compute is a serverless compute engine that is designed with function computing in mind. It provides an event-driven solution to implement end-to-end functions between Alibaba Cloud services. Function Compute allows you to create and deploy applications and services of any type in a quick and efficient manner. Furthermore, you are charged only for the actual amount of resources that you use.

What is a serverless architecture?

Compared with serverful architectures, serverless architectures let you pay only for the resources you use instead of all provisioned servers. This allows enterprises to focus on developing their business logic without the need to manage servers.

Architecture

Function Compute uses components, such as services, functions, instances, runtimes, triggers, and layers, to provide services. The following figure shows the architecture of Function Compute.

For description about components in the following figure, see Terms.

image

How to use Function Compute

Before you start

Before you use Function Compute to deploy and debug applications, we recommend that you familiarize yourself with the following aspects:

  • Basic concepts of serverless architectures and forms of serverless architectures: function as a service (FaaS), platform as a service (PaaS), and backend as a service (BaaS)

  • A high-level programming language, such as Python, Node.js, Java, Go, and .NetCore, as well as basic concepts such as runtimes and dependency management

  • Network knowledge, such as the concepts of public networks and private networks

Workflow

The following figure shows the workflow of Function Compute.work_flow

The preceding procedure consists of the following steps:

  1. Activate Function Compute. Register an Alibaba Cloud account and activate Function Compute. For more information, see Step 1: Activate Function Compute.

  2. Write code to develop an application or service. For information about languages that are supported by Function Compute, see Overview.

  3. Upload an application to Function Compute.

    You can use one of the following methods to upload an application:

  4. Trigger the function. A function can be triggered by events and API operations. Function Compute support auto scaling based on requests. This process is imperceptible to users.

  5. You are charged based on the actual execution duration of the function. After the function is executed, you can view the execution fees on the bill. The billing granularity is accurate to the millisecond. For more information, see Billing overview.

Usage methods

You can use the following methods to create and manage your applications and functions:

  • Use the Function Compute console. The Function Compute console provides a web UI for you to access functions. For more information, see Quickly create a function.

  • Use Serverless Devs. Download an application template in Function Compute for quick development and deployment of functions and applications. For more information, see Manage function resources by using Serverless Devs.

  • Call the Function Compute SDKs. SDKs provides language-specific API operations and can manage connection settings, such as signature calculation, retry handling, and error handling. For more information, see Use SDKs to run HTTP trigger functions.

Language support

The following table lists the languages that can be used to write function code in Function Compute and the deployment methods that are supported in each language.

Programming language

Supported deployment methods

Node.js

Function Compute console, Serverless Devs, and SDK

Python

Function Compute console, Serverless Devs, and SDK

PHP

Function Compute console, Serverless Devs, and SDK

Java

Serverless Devs and SDK

C#

Serverless Devs and SDK

Go

Serverless Devs and SDK

Custom runtimes

Serverless Devs and SDK

Custom Container

Serverless Devs and SDK

For information about the languages that are supported by custom runtimes, see Event handlers and HTTP handlers.

Billing

For more information about the billing of Function Compute, see Billing overview.

References

Topic

Description

Common scenarios

Describes the common scenarios of Function Compute, including web applications, data extract, transform, load (ETL) processing, AI inference, and video transcoding.

Function type selection

Function runtime selection

Function storage selection

Describes function types (event functions and HTTP functions), function runtimes (built-in runtimes, custom runtimes, and Custom Container runtimes), and function storage types (File Storage NAS (NAS), Object Storage Service (OSS), temporary storage, and layers), that are supported by Function Compute.

Terms

Describes terms used in Function Compute to help you better understand related concepts and use Function Compute.

Overview

Summarizes FAQs of different categories in Function Compute.

Contact us

Provides methods to contact technical support when you encounter problems or want to provide feedback.