Cloud Native 9 min read

Debug and Optimize Serverless Functions with Alibaba Cloud’s Instance Exec Feature

This article explains the background, design, and usage of Alibaba Cloud Function Compute's Instance Exec capability, showing how developers can securely access live function instances via the console or SDK, and apply it to troubleshooting, performance profiling, and custom runtime optimization.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
Debug and Optimize Serverless Functions with Alibaba Cloud’s Instance Exec Feature

Background

Fully managed Serverless platforms reduce operational overhead and improve stability, but they also limit users' visibility and control over their services, creating trust issues that hinder migration and scaling.

Instance Exec Feature

Alibaba Cloud Function Compute introduces a Serverless‑compatible Exec function that lets users log into a running function instance from the console or invoke commands programmatically, providing the same experience as kubectl exec or docker exec.

Key Differences from K8s/Docker Exec

Exec can only target instances that are currently alive (including reserved and active on‑demand instances); terminated instances cannot be accessed.

InstanceExec requests do not consume the instance's concurrency quota, so they can run alongside normal InvokeFunction calls.

Each InstanceExec operation is billed as a regular InvokeFunction request; the underlying WebSocket connection keeps the instance alive until it is closed or the configured idleTimeout expires.

How to Use

Console Login : In the Function Compute console, go to the function’s detail → Monitoring → Instance Metrics page and click the “Login Instance” button to open an interactive terminal.

SDK Invocation (Go example) :

command := []string{"/bin/bash"}
execConn, err := client.InstanceExec(
    fc.NewInstanceExecInput(serviceName, functionName, instanceID, command).
        WithStdin(true).
        WithStdout(true).
        WithStderr(true).
        WithTTY(true).
        WithIdleTimeout(120).
        OnStdout(func(data []byte) { fmt.Printf("STDOUT: %s
", data) }).
        OnStderr(func(data []byte) { fmt.Printf("STDERR: %s
", data) })
)
if err != nil { fmt.Printf("%v", err) }
if err := execConn.WriteStdin([]byte("ls\r")); err != nil { fmt.Println("Write Stdin error", err) }

The SDK wraps the InstanceExec API, requiring OnStdout and OnStderr callbacks to handle streamed output, and optionally sending input via WriteStdin.

Typical Scenarios

1. Troubleshooting Live Issues

Developers can quickly inspect environment variables, run diagnostic tools (e.g., apt-get update && apt-get install tcpdump), capture network traffic with tcpdump, and upload results to OSS for offline analysis.

2. Performance Profiling

By logging into the instance, developers can run language‑specific profiling tools (e.g., go tool pprof) to generate CPU/memory profiles, then upload the generated .pb.gz files to OSS for further visualization with tools like Wireshark.

3. Custom Runtime Debugging

For custom runtimes, developers can download and install the required language runtime inside the instance, run profiling commands, and retrieve analysis artifacts via OSS.

Conclusion

The Instance Exec feature removes the “last mile” barrier of Serverless by exposing the real runtime environment, turning the platform from a black box into a transparent, trustworthy system that developers can use for rapid debugging, deep performance analysis, and custom runtime management.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DebuggingCloud NativeServerlessperformance profilingAlibaba CloudInstance Exec
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.