Apache CloudStack 4.20 marks a significant milestone with the introduction of ARM64 support, reflecting the growing adoption of ARM64 architecture for its power efficiency and cost-effectiveness. This new feature enables CloudStack Zones to support both ARM64 and x86_64 (AMD64) Hosts and Clusters, introducing the concept of Multi-Architecture Zones.
Multi-Architecture Zones allow the deployment of both ARM64 and x86_64 clusters within the same CloudStack Zone, providing Users with the flexibility to allocate workloads based on specific requirements. ARM64’s benefits, such as reduced power consumption and lower operational costs, make it particularly suitable for scenarios like mobile backend services, cloud-native applications, and large-scale compute environments.
By leveraging ARM64 alongside traditional x86_64 systems, Administrators can strategically optimize resource utilization while supporting a diverse range of workloads. Apache CloudStack 4.20 empowers users to take full advantage of these benefits, ensuring a seamless and efficient deployment experience across different architectures.
Technical Details
Clusters and Hosts
In previous versions of CloudStack, all Clusters and Hosts within a Zone were implicitly assumed to use the x86_64 (AMD64) architecture, with no way to explicitly define or differentiate CPU architectures. This restriction prevented Administrators from integrating ARM64-based systems, limiting the flexibility to choose an architecture, forcing them to use x86_64 instead.
With Apache CloudStack 4.20, Administrators can now explicitly define CPU architectures for Clusters, introducing support for both x86_64 and ARM64 within the same Zone. Now, when creating a new Cluster, Administrators must define the architecture using the new Arch field, which is available in both the user interface (UI) and the API.
By default, the selected Architecture is set to x86_64. For the “addCluster” API, if the ‘arch’ parameter is not passed, then the cluster Arch will be set to x86_64 by default.
When Administrators add Hosts to a Cluster, CloudStack automatically verifies the Host’s CPU architecture against the Cluster’s defined architecture. If the Host’s architecture does not match the Cluster’s architecture, the Host cannot be added, ensuring consistency and compatibility within the Cluster.
Multi-architecture Resources
Templates, ISO and Kubernetes ISO Images
In addition to the creation of Clusters and Hosts, Templates, ISO images, and Kubernetes ISOs must align with the architecture chosen by users when creating Instances. To achieve this, these resources now include a new “Arch” field, allowing users to register them with a specific CPU architecture—either x86_64 or ARM64. By default, the architecture is set to x86_64, but Administrators and Users can customise this selection during the registration process to match their deployment needs.
The “Arch” field on Templates, ISOs, and Kubernetes ISOs is utilised by CloudStack to filter compatible Hosts during deployment. Hosts that do not match the specified CPU architecture are excluded from consideration. If no suitable Host is available, the Instance deployment will fail, ensuring consistency and compatibility between resources and infrastructure.
When a CloudStack zone includes at least one x86_64 cluster and one ARM64 cluster, it is classified as a Multi-Arch Zone. In such zones, CloudStack enables users to select the desired CPU architecture during Instance deployments, displaying only the Templates or ISOs that correspond to the selected architecture. This ensures a seamless and accurate deployment process tailored to the chosen architecture.
Important Considerations
For existing CloudStack environments upgrading to CloudStack 4.20.0:
- All the existing Clusters and Hosts will be set to x86_64 architecture.
- All the existing Templates, ISOs and Kubernetes ISOs will be set to x86_64 architecture.
- Administrators can create ARM64 Clusters and Hosts to existing Zones.
- Users can register new Templates, ISOs and Kubernetes ISOs selecting the architecture type.
- Users can select the Instance deployment architecture type on Multi-Architecture Zones.
Limitation in CloudStack 4.20.0:
In this release, the zone creation wizard does not allow administrators to select the cluster architecture directly. This limitation prevents ARM64 hosts from being added during the initial zone creation process. However, administrators can work around this by:
- Manually creating ARM64 clusters from the Clusters section.
- Adding ARM64 hosts through the Hosts section.
Future Improvements:
This limitation will be addressed in CloudStack 4.20.1, which will introduce the Arch field to the zone creation wizard, allowing administrators to define cluster architectures during the initial setup. This enhancement will simplify the process of adding ARM64 clusters and hosts, streamlining Multi-Architecture Zone creation.
Apache CloudStack 4.20 introduces Multi-Architecture Zones, enabling the deployment of both ARM64 and x86_64 Clusters within the same Zone. This flexibility allows Administrators to define CPU architectures explicitly for Clusters and Resources, ensuring compatibility between infrastructure and workloads.
Multi-Architecture Zones provide a robust solution for diverse workload requirements, supporting ARM64’s energy-efficient, cost-effective benefits alongside traditional x86_64 systems. This update enhances CloudStack’s ability to meet the demands of modern cloud environments.
Discover: ShapeBlue and Ampere Reference Architecture for IaaS Cloud on ARM64 Architecture
ShapeBlue and Ampere Computing collaborated on preparing a Reference Architecture guide that offers a straightforward set of instructions to help you deploy a CloudStack-based IaaS cloud on ARM64 architecture powered by Mt. Collins by Ampere.

Nicolas Vazquez is a Senior Software Engineer at ShapeBlue and is a PMC member of the Apache CloudStack project. He spends his time designing and implementing features in Apache CloudStack and can be seen acting as a release manager also. Nicolas is based in Uruguay and is a father of a young girl. He is a fan of sports, enjoy playing tennis and football. In his free time, he also enjoys reading and listening to economic and politics materials.