Who is this for?

This introductory topic for software developers migrating Envoy Proxy workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines (VMs) built on Axion processors.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Provision an Arm-based C4A VM on Google Cloud Platform (GCP)
  • Install and configure Envoy Proxy on a C4A instance
  • Validate Envoy functionality with baseline tests
  • Benchmark Envoy performance on both Arm64 (AArch64) and x86_64 architectures

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll deploy and benchmark Envoy Proxy on a Google Cloud Axion C4A VM running RHEL 9. First, you’ll install the static Arm64 binary, configure a listener that forwards to httpbin.org, and verify responses on port 10000. Then, you’ll build and run Siege to measure availability, throughput, response time, and failures.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which Google Cloud machine type should I choose for the example VM?
Use the C4A family with the c4a-standard-4 machine type (four vCPUs, 16 GB memory).
How do I verify that Envoy installed correctly on the C4A VM?
Follow the verification step after installing the official static Arm64 binary to confirm it’s present and executable. You should be able to start Envoy with the provided minimal configuration before continuing.
What result should I expect from the baseline Envoy test?
Requests to the listener on port 10000 should be proxied to httpbin.org and return HTTP 200 OK. The response confirms the listener is active and routing works as configured.
When I run Siege, which endpoint should I target?
Target the Envoy listener defined in your configuration, typically the VM’s address on port 10000 or localhost:10000. Keep the same target across runs to compare results consistently.
How do I compare results between Arm64 C4A and x86_64?
Use the same Envoy version, configuration, and Siege workload on both instance types. Compare throughput, response time, availability, and failure rates reported by Siege.
Next