Share:

CloudStack Multi-Arch Zones

CloudStack Multi-Architecture Zones

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.

 

Add Clusters in Multi Arch Zones

 

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.

Share:

Related Posts:

ShapeBlue

No installation, no configuration, instant access. Register and access Apache CloudStack Public Demo Cloud in minutes!