All Products
Search
Document Center

Function Compute:DevPod

Last Updated:Apr 01, 2026

DevPod is a cloud-based integrated development environment (IDE) for Function Compute. It delivers a Visual Studio Code (VS Code)-like experience entirely in the browser — write, debug, and build container images without setting up anything locally. DevPod supports custom image runtime functions only and is especially suited for AI model development and containerized workflows.

Overview and advantages

DevPod gives you a full container development environment backed by persistent storage and image-building tools. Key advantages:

  • One-click launch — start a cloud IDE directly from the Function Compute console with no local configuration.

  • VS Code experience — familiar interface, extensions, and terminal reduce onboarding time.

  • Online collaboration — team members can develop and debug in a unified environment.

  • Persistent storage — your data in /mnt/<function_name> survives instance restarts and deletions.

  • Image building — package your current environment into a Docker image and push it to Alibaba Cloud Container Registry (ACR) for reuse or deployment.

  • Remote HTTP debugging — expose any HTTP service running inside DevPod through a proxy URL for testing and frontend integration.

  • AI-ready — preset environment variables (HF_HOME, MODELSCOPE_CACHE, OLLAMA_MODELS) point to the persistent NAS directory, so model files are never lost between sessions.

  • Consistent environments — your development, testing, and production environments stay in sync.

Limits

Before getting started, verify that your setup meets these requirements:

  • Runtime — DevPod supports custom image runtimes only. Python, Node.js, and PHP runtimes are not supported.

  • Operating system — AMD64-based Linux with glibc 2.28 or later. Recommended base images: debian:10, ubuntu:20.04, centos:8, or later versions. The alpine image is not supported.

  • Pre-installed toolscurl must be present in the image.

  • User — the default user is root.

  • GPU — Function Compute GPUs use driver version 570.133.20, which corresponds to CUDA user-mode driver version 12.8. Use CUDA Toolkit 11.8 or later, and do not exceed the CUDA user-mode driver version provided by the platform. For details, see GPU driver version upgraded from 550.54.15 to 570.133.20.

Configure a DevPod in the console

Prerequisites

Before you begin, ensure that you have:

  • A custom image runtime function in your account. To create one, see Create a function

Procedure

  1. Log on to the Function Compute console. In the left-side navigation pane, click Functions.

  2. In the top navigation bar, select a region. On the Functions page, click the target function.

  3. On the function details page, click the Code tab, then click Create DevPod.

  4. In the DevPod interface, write and test your function code, and install dependencies as needed.

Persistent storage

All DevPod instances mount a NAS directory at /mnt/<function_name>. This directory is attached to the NAS file system bound to your function — not to any specific DevPod instance.

What persists and what doesn't:

Scenario/mnt/<function_name>Other paths (local storage)
Stop and restart DevPodData retainedData may be lost
Delete and recreate DevPodData retainedData lost

Files outside /mnt are stored in the instance's local storage and may be lost if the instance restarts. They are lost when the DevPod is deleted.

DevPod sets the following environment variables by default, pointing AI framework caches to the persistent NAS path:

HF_HOME=/mnt/<function_name>/hf
MODELSCOPE_CACHE=/mnt/<function_name>/modelscope
OLLAMA_MODELS=/mnt/<function_name>/ollama

This means Hugging Face, ModelScope, and Ollama model files download to NAS once and remain available across all future DevPod sessions — no re-downloading needed.

Additional characteristics of persistent storage:

  • NAS content is not packaged into the image when you export one.

  • Data in /mnt is retained even after the DevPod is deleted.

  • Storing large model files in /mnt keeps your container image smaller.

Remotely debug HTTP services

DevPod exposes HTTP services running inside the instance through a proxy URL. After you start a service, the proxy address appears in the console — click Access Development Environment to open it directly.

Procedure

  1. In the DevPod terminal, start an HTTP service. For example:

    python -m http.server 9000
  2. In the console, click Access Development Environment. The proxy address follows this format:

    https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/
  3. Access the service with the proxy URL:

    curl https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/
Single-page applications (SPAs) built with React, Vue, or other frameworks that use absolute paths may fail to load static resources. The proxy path prefix /proxy/9000/ changes the base URL, which breaks absolute asset references.

Build and save images

Package your DevPod environment — including installed code, dependencies, and configurations — into a Docker image and push it to ACR. Use this to lock in your development environment, share it with teammates, or deploy it as a function runtime.

Limits

  • Image building requires the DevPod to be in running state.

  • The ACR instance must be in the same region as the DevPod. ACR Personal Edition supports cross-region creation, but use the same region to avoid network latency and push failures.

Choose an ACR edition

FeatureACR Personal EditionACR Enterprise Edition
FeeFreeBilled by instance type
NetworkPublic networkVPC internal network
PerformanceLimited by public bandwidthHigh-speed internal transfer
Best forIndividual learning and feature validationProduction environments and large images (>10 GiB)

Prepare an ACR instance

ACR Personal Edition

Set up the following resources in the same region as your DevPod:

  1. Create a Personal Edition ACR instance

  2. Create a namespace

  3. Create an image repository under the namespace

ACR Enterprise Edition

Set up the following resources in the same VPC as your DevPod instance:

  1. Create a VPC and a vSwitch

  2. Create a security group and attach it to a VPC

  3. Create an Enterprise Edition ACR instance and configure VPC access

  4. Use an Enterprise Edition instance to build an image

Build an image

  1. In the console, click Export Image.

  2. Select the ACR edition (Personal or Enterprise) and configure the following fields:

    Content in the NAS mount directory (/mnt/<function_name>) is never packaged into the image.
    FieldDescription
    ACR RegionRegion where your ACR instance is located. Must match the DevPod region.
    ACR NamespaceSelect from the namespaces in your ACR instance.
    ACR Image RepositorySelect the target repository within the selected namespace.
    Image Name (Version)Set an image tag, such as v1.0 or latest.
    Custom Excluded PathsDirectories to exclude from the image, for example /data/cache. Specify paths to prevent sensitive data from being packaged or to reduce image size. The following paths are excluded automatically: /.function_ai, /usr/local/share/jupyter/labextensions.
  3. Click OK and wait for the build and push to complete.

Billing

A DevPod runs as an FC function in your account, with the function name prefixed by _DEV_POD_. You are charged for:

  • Function Compute fees — invocations and resource usage while the DevPod is running. See Billing overview.

  • NAS storage fees — the mounted NAS file system is billed separately. See Billing of General-purpose NAS file systems.

  • Image build fees — building an image creates an FC function in your account to assist with the build process. You are charged for those function invocations.

Delete the DevPod and manually clean up related resources — including NAS — after you finish using it to avoid ongoing charges.

DevPod vs. WebIDE

DimensionWebIDEDevPod
Supported runtimesPython, Node.js, PHP, and custom runtimesCustom image runtimes only
Interface areasFour: resource manager, file editor, function operations, command-line terminalThree: resource manager, command-line terminal, file editor
Storage limits5 GB per userFewer than 100,000 changed files, total size under 5 GB
Persistent storageDedicated Edition supports NAS and OSSBuilt-in NAS mount at /mnt/<function_name>. Data is saved permanently.
VPC accessNot supported in Serverless Edition. Supported in Dedicated Edition.Based on function configuration
Image buildingNot supportedExports images to ACR (Personal or Enterprise Edition)
Remote debuggingNot supportedHTTP service proxy debugging
AI scenario supportNot specifiedPreset environment variables: HF_HOME, MODELSCOPE_CACHE, OLLAMA_MODELS
EditionServerless Edition or Dedicated EditionNo editions — all instances are dedicated
Primary useLightweight code editing, debugging, and dependency packagingContainerized development, image building, and AI model development
BillingServerless Edition is free. Dedicated Edition billed per instance.FC function usage + NAS storage

When to use WebIDE: lightweight editing and debugging for Python, Node.js, or PHP functions. The Serverless Edition is free and requires no setup.

When to use DevPod: building, testing, and packaging custom container environments — especially for AI model development and workflows that require persistent model storage, GPU access, or image export.