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
What's next
- Learn more about Service Extensions concepts.
- View Rust, Go, and C++ plugin examples and testing tools in the Service Extensions GitHub repository for plugins.
- Learn how to prepare and upload the files required to create plugins by using Service Extensions.
- Learn how to create a plugin.
- Learn how to configure an edge extension.