Use Service Extensions for edge compute

You can use Service Extensions to run your own WebAssembly (Wasm) code in a fully serverless, Google-managed compute environment. This page describes extensibility by using Service Extensions.

About Service Extensions edge extensions for Cloud CDN

You build plugins using Wasm and the Proxy-Wasm ABI. The Proxy-Wasm ABI offers support for Rust, C++, and Go. Service Extensions plugins run on a fully serverless, Google-managed infrastructure. They run close to the data plane, and latency optimization is managed. Service Extensions plugins are intended for lightweight use cases with tight limits on CPU and memory. You attach a Service Extensions plugin to a global external Application Load Balancer through an edge extension.

For more information, see How edge extensions work.

Common use cases

Use Service Extensions plugins with global external Application Load Balancers in the following sample scenarios:

Custom traffic steering
Manipulate request headers to influence backend service selection.
Cache optimization
Influence which content is served from a Cloud CDN cache.
Exception handling
Redirect clients to a custom error page for certain response classes.
Custom logging
Log user-defined headers or custom data into Cloud Logging.
Header addition
Create new headers relevant for your applications or specific customers.
Insert new headers for request.
Header manipulation
Rewrite existing request headers or override client headers on their way to the backend.
Security
Write custom security policies based on client requests and make enforcement decisions within your plugin.

Get started

  1. Create a plugin
  2. Configure an edge extension

What's next