Updated on 2025-07-09 GMT+08:00

Function Storage Selection

This section describes the application scenarios and differences of the storage types supported by FunctionGraph.

Function Storage Comparison

FunctionGraph provides various storage types, including Elastic Cloud Server (ECS), Scalable File Service (SFS) Turbo, Object Storage Service (OBS), Ephemeral Storage, and Dependency. For details about the storage comparison, see Table 1.

Table 1 Function storage comparison

Item

ECS

SFS Turbo

OBS

Ephemeral Storage

Dependency

Scenarios

Log and service file storage

Log and service file storage

Log and service file storage

Ephemeral service file storage

Release and deployment of public dependency libraries, runtime environments, and function extensions

Maximum space

Expandable

Scalable

Scalable

The default value is 512 MB. You can change the value to a maximum of 10 GB.

300 MB

Persistence

Persistent

Persistent

Persistent

Temporary

Persistent

Invocation sharing

Supported

Supported

Supported

Not supported

Supported

Storage content

Writable

Writable

Writable

Writable

Unwritable

Storage type

File system

File system

Object

File system

Code dependency archiving

Event source integration

Not supported

Not supported

Supported

Not supported

Not supported

Function access speed

Fast

Fast

Faster

Fastest

Faster

Billing

ECS Billing Overview

SFS Turbo Billing Overview

OBS Billing Overview

Free of charge when the disk size is less than or equal to 512 MB. For details, see Billing Item.

None

Storage Type Description

FunctionGraph supports the following storage types:

ECS provides secure, high-performance, reliable, and easy-to-use file storage services by enabling the NFS file service.

FunctionGraph can seamlessly integrate with ECS, allowing functions to mount ECS shared paths. Once configured, functions can access the specified ECS shared paths the same way as accessing a local file system.

Advantages of using ECS for function mounting include:

  • Ephemeral files can be stored in ECS shared paths. Their size will not be limited by instance local disk space.
  • Multiple functions can share the same ECS shared path.

For details, see Configuring Disk Mounting.

SFS Turbo provides scalable, high-performance shared file storage (NAS) for shared file access from ECSs, Bare Metal Servers (BMSs), Cloud Container Engine (CCE) containers, and Cloud Container Instance (CCI) containers.

FunctionGraph supports seamless integration with SFS Turbo, allowing functions to mount the SFS Turbo file system. After configuration, functions can access the specified file system the same way as accessing a local file system.

The advantages of using SFS Turbo for function mounting are as follows:

  • Ephemeral files can be stored in the SFS Turbo file system. Their size will not be limited by instance local disk space.
  • Multiple functions can share an SFS Turbo file system.

For details, see Configuring Disk Mounting.

OBS provides massive, secure, and cost-effective data storage for you to store data of any type and size. It is suitable for various scenarios, such as enterprise-level backup/archiving, video on demand (VoD), and video monitoring.

FunctionGraph integrates with OBS via EventGrid (EG) triggers. You can customize functions to process OBS events. For example, you can invoke functions to process image or audio data and save results to various storage services. You only need to focus on writing function logic. The system will process massive data concurrently in real-time.

For details, see Creating an EG Trigger (OBS Application Service). In addition, you can use the SDK tool of the corresponding language to implement OBS read/write operation in your function code.

FunctionGraph provides two ephemeral storage specifications: 512 MB and 10 GB.

The lifecycle of the ephemeral storage is the same as that of the underlying function instance. If there are continuous requests, the instance remains. Therefore, the data previously stored on the disk is retained. If the function does not receive requests for a long time, the system will recycle the instance and the data on the disk will be lost.

A dependency contains public libraries that support the running of function code. You can encapsulate the required public libraries into a dependency for easier management, sharing, and smaller deployment sizes.

For details about the operation and restrictions of function dependencies, see Configuring Dependency Packages.