Jump to content

Apache CloudStack

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Thomasvincent (talk | contribs) at 04:10, 29 May 2025 (Expanded information and made sure links were there to support the sources.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Apache CloudStack
Developer(s)Apache Software Foundation
Initial releaseMay 4, 2010; 15 years ago (2010-05-04)
Stable release
4.20.0.0 / December 2, 2024; 7 months ago (2024-12-02)[1]
Repositorygithub.com/apache/cloudstack
Written inJava, Python
Operating systemCross-platform
PlatformJava 17
TypeCloud computing
LicenseApache License 2.0
Websitecloudstack.apache.org

Apache CloudStack is a free, open source cloud computing platform for creating, managing, and deploying infrastructure as a service (IaaS) in both public and private clouds. The software platform consists of a management server that orchestrates resources and an agent that runs on each host to manage virtual machines. Users manage it through a web-based dashboard, command-line tools, or through RESTful web services.

CloudStack began in 2008 as a project of Cloud.com (originally VMOps). As of 2013

, Cloudstack is managed by the Apache Software Foundation, a non-profit organization that accepted CloudStack into its incubator program in April 2012[2] after Citrix Systems donated the project. CloudStack graduated as an Apache Top-Level Project in March 2013.[3]

History

VMOps and Cloud.com (2008–2011)

In 2008, VMOps was founded by Sheng Liang (former Sun Microsystems JVM architect), Shannon Williams, Alex Huang, Will Chan, and Chiradeep Vittal.[4] The startup company intended to help organizations offer cloud-computing services running on standard hardware. The company raised $17.6 million in venture funding from Redpoint Ventures, Nexus Ventures, and Index Ventures.[5]

On May 4, 2010, VMOps rebranded as Cloud.com and released CloudStack under an open source license.[6] The initial release came from Cloud.com's commercial cloud platform, with approximately 95% of the code released under the GNU General Public License version 3 (GPLv3), while 5% remained proprietary.[7]

Cloud.com initially supported OpenStack, another cloud computing platform, at its announcement in July 2010.[8] In October 2010, Cloud.com announced a partnership with Microsoft to develop code for integrating Windows Server 2008 R2 Hyper-V support into OpenStack.[9]

Citrix acquisition and Apache donation (2011–2013)

Citrix Systems acquired Cloud.com on July 12, 2011, for approximately $200 million.[10] Following the acquisition, Citrix released the remaining proprietary code under the Apache License 2.0.[7]

In February 2012, Citrix released CloudStack 3.0, which added support for Swift, OpenStack's object storage solution, along with other enhancements.[11]

In April 2012, Citrix donated CloudStack to the Apache Software Foundation, where it was accepted into the Apache Incubator.[12] This move coincided with Citrix ending its involvement with the OpenStack project. On November 6, 2012, CloudStack 4.0.0-incubating was announced as the first stable release after joining ASF.[13]

CloudStack graduated from the Apache Incubator to become a Top-Level Project (TLP) on March 20, 2013.[14]

Development under Apache (2013–present)

Since becoming an Apache project, CloudStack has maintained regular releases following a time-based release cycle. The project has evolved from focusing purely on virtual machine orchestration to supporting containers, bare metal provisioning, and multiple hypervisor technologies.

Major vendors have continued to support CloudStack development and deployment. In 2013, Red Hat introduced commercial support for CloudStack.[15] Oracle joined as a sponsor in December 2013 and later released Oracle CloudStack distributions for Oracle Linux and Oracle Solaris.[16]

As of December 2024, the current release is CloudStack 4.20.0.0, which introduced Java 17 support, ARM64 architecture compatibility, VMware NSX-T integration, and other enhancements.[17]

Release history

CloudStack releases
Release name Release date Notes
Austin 2010-10-21 First release after open sourcing
2.1.x 2010-2011 Early Cloud.com releases
2.2.x 2011-06-30 Last release before Citrix acquisition
3.0.x 2012-02-13 Added Swift support
4.0.0-incubating 2012-11-06 First Apache Incubator release
4.0.2 2013-04-24 First release after Apache graduation
4.1.x 2013-06-05 Feature release
4.2.x 2013-10-01 Added region support
4.3.x 2014-03-25 Improved network management
4.4.x 2014-07-29 Added managed storage
4.5.x 2015-03-10 First LTS release
4.6.x 2015-11-20 Feature release
4.7.x 2016-01-13 Improved hypervisor support
4.8.x 2016-04-19 Feature release
4.9.x (LTS) 2016-07-01 Long-term support release
4.10.x 2017-06-16 Feature release
4.11.x (LTS) 2018-04-03 Long-term support release
4.12.x 2019-01-14 Feature release
4.13.x 2019-10-14 Feature release
4.14.x 2020-06-26 Feature release
4.15.x (LTS) 2021-03-17 Long-term support release
4.16.x 2021-11-26 Feature release
4.17.x (LTS) 2022-05-19 Long-term support release
4.18.x (LTS) 2022-12-01 Long-term support release
4.19.x (LTS) 2024-03-28 Long-term support release
4.20.x (LTS) 2024-12-02 Current release, Java 17 support[17]

The CloudStack community collaborates around a time-based release cycle with both feature releases and Long-Term Support (LTS) releases. LTS releases receive bug and security fixes for 18 months after the initial release.[17]

Components

CloudStack has a modular architecture with various components that work together to provide cloud infrastructure services.[18]

Management Server

The Management Server is the main component that orchestrates all CloudStack operations. It provides the web interface, API endpoints, and coordinates communication between all other components. The Management Server can be deployed in a clustered configuration for high availability, with all instances connecting to a shared database (typically MySQL or MariaDB).[19]

Agent

The Agent is software that runs on each hypervisor host and manages the lifecycle of guest virtual machines. It communicates with the Management Server to receive commands and report the state of resources on the host. Different agents exist for different hypervisor types (KVM, VMware, XenServer/XCP-ng).[20]

System Virtual Machines

CloudStack uses specialized system virtual machines to handle infrastructure services:

  • Secondary Storage VM (SSVM): Manages templates, ISO images, and snapshots stored on secondary storage. It handles the upload and download of these resources.
  • Console Proxy VM (CPVM): Provides browser-based console access to guest virtual machines without requiring direct network connectivity to the VMs.
  • Virtual Router: Provides networking services including DHCP, DNS, source NAT, static NAT, port forwarding, load balancing, and VPN services for guest networks.[21]

Storage

CloudStack distinguishes between two types of storage:

  • Primary Storage: Stores the disk volumes for running VMs. Supports local storage, NFS, iSCSI, Fibre Channel, and various vendor-specific storage systems.
  • Secondary Storage: Stores templates, ISO images, disk volume snapshots, and disk volume backups. Typically uses NFS or object storage protocols.[22]

Database

CloudStack uses a relational database to store configuration data, user accounts, and the current state of all resources in the cloud. MySQL 8.0 is the recommended database, though MariaDB and Percona are also supported.[23]

Features

Compute orchestration

CloudStack provides comprehensive compute orchestration capabilities:

  • Multi-hypervisor support including KVM, VMware vSphere, Citrix Hypervisor, and XCP-ng
  • Virtual machine lifecycle management with automated provisioning and decommissioning
  • Live migration of virtual machines between hosts without downtime
  • High availability for virtual machines with automatic restart on host failure
  • Support for both x86-64 and ARM64 architectures as of version 4.20[17]
  • GPU passthrough for compute-intensive workloads
  • Affinity and anti-affinity groups to control VM placement

Network virtualization

CloudStack offers software-defined networking capabilities:

  • Isolated Layer 2 networks using VLANs
  • Virtual Private Cloud (VPC) with multiple tiers and network ACLs
  • Built-in virtual router providing DHCP, DNS, firewall, NAT, port forwarding, and load balancing
  • Site-to-site and remote access VPN support
  • IPv4 and IPv6 dual-stack support
  • Integration with hardware network devices from vendors including F5, Citrix NetScaler, and Juniper
  • VMware NSX-T integration for advanced network services (added in version 4.20)[17]

Storage management

The platform provides flexible storage options:

  • Support for multiple primary storage types: local disk, NFS, iSCSI, Fibre Channel, and vendor-specific solutions
  • Volume snapshots with scheduling capabilities
  • Backup and restore functionality
  • Storage migration between different storage pools
  • Thin provisioning support
  • Shared filesystem support for instances using NFS (added in version 4.20)[17]

User and account management

CloudStack implements a hierarchical account system:

  • Multi-tenancy with complete isolation between accounts
  • Projects for collaboration between multiple users
  • Role-based access control (RBAC) with customizable roles
  • Integration with external authentication systems including LDAP and SAML 2.0
  • Two-factor authentication support
  • Resource limits and quotas at domain and account levels

API and interfaces

CloudStack provides multiple interfaces for interaction:

  • Native RESTful API covering all functionality
  • AWS EC2 and S3 compatible APIs for hybrid cloud scenarios
  • Web-based user interface with separate views for administrators and end users
  • CloudMonkey command-line interface
  • Integration with configuration management tools like Ansible, Terraform, and Puppet

Deployment

Architecture models

CloudStack supports several deployment architectures:

  • Basic Zone: Simple networking model using a single guest network, suitable for proof-of-concept or small deployments
  • Advanced Zone: Full Layer 2 network isolation with VLANs, multiple guest networks, and advanced network services
  • VPC-enabled Advanced Zone: Supports Virtual Private Clouds with multiple network tiers
  • Multi-Region: Federation of multiple CloudStack deployments for geographic distribution[24]

Minimum requirements

A minimal CloudStack deployment requires:

  • One machine for the Management Server (8GB RAM, 200GB disk recommended)
  • One or more hypervisor hosts with hardware virtualization support
  • Network infrastructure supporting the chosen deployment model
  • Storage infrastructure for primary and secondary storage

For production deployments, multiple management servers are recommended for high availability, along with dedicated database servers and redundant storage systems.[25]

Adoption

CloudStack is used by service providers, enterprises, and educational institutions worldwide. Notable users have included:

  • Service Providers: BT, China Telecom, KDDI, NTT, Orange, Tata Communications, Verizon[26]
  • Enterprises: Many Fortune 500 companies use CloudStack for private cloud deployments
  • Educational Institutions: Universities deploy CloudStack for research and teaching cloud computing
  • Government Organizations: Various government agencies use CloudStack for secure private cloud infrastructure

In 2012, Datapipe launched what was reported as the largest public cloud built on CloudStack at the time, spanning six data centers across the United States, United Kingdom, and Asia.[27]

Community and governance

CloudStack is governed by the Apache Software Foundation according to the Apache Way, which emphasizes collaborative, consensus-based development processes. The project is overseen by a Project Management Committee (PMC) consisting of committers elected based on merit.[28]

The CloudStack community organizes regular events including:

  • CloudStack Collaboration Conference: Annual global conference bringing together users and developers
  • Regional User Groups: Active communities in Europe, India, China, and other regions
  • Virtual Meetups: Regular online sessions for knowledge sharing and technical discussions

Development is coordinated through public mailing lists, with separate lists for users, developers, and commit notifications. The project uses GitHub for source code management and issue tracking.[29]

Distributions and support

While Apache CloudStack provides the core open source platform, several vendors offer commercial distributions and support:

  • ShapeBlue CloudStack: Enterprise distribution with commercial support and additional management tools
  • Apiculus: CloudStack-based platform with billing and business support systems
  • Cloud.ca: Public cloud service based on CloudStack

Many vendors also provide CloudStack-as-a-Service offerings where they manage the CloudStack infrastructure while customers manage their virtual resources.[30]

Comparison with other platforms

CloudStack competes with other open source and proprietary cloud platforms:

  • OpenStack: More modular architecture with separate projects for each service, larger community but higher complexity
  • OpenNebula: Simpler architecture focused on ease of use, smaller feature set
  • Proxmox VE: Focused on virtualization with some cloud features, simpler deployment
  • Proprietary platforms: VMware vCloud Director, Microsoft Azure Stack, AWS Outposts

CloudStack differentiates itself through its monolithic architecture, which provides easier deployment and operation compared to more modular alternatives, while still offering enterprise-grade features.[31]

See also

References

  1. ^ "Releases · apache/cloudstack". GitHub. Retrieved 2025-05-28.
  2. ^ Metz, Cade (2012-04-04). "Citrix Splits With OpenStack, Takes Cloud to Apache". Wired. Retrieved 2025-05-28.
  3. ^ "CloudStack Graduates from Apache Incubator". Apache Software Foundation Blog. 2013-03-20. Retrieved 2025-05-28.
  4. ^ Fontana, John (2009-01-28). "Start-up VMOps aims to ease cloud deployments". Network World. Retrieved 2025-05-28.
  5. ^ "More Cash for Hot New Cloud Startup, VMOps". Gigaom. 2010-02-18. Retrieved 2025-05-28.
  6. ^ "Cloud.com Launches, Extends Leadership Team and Announces New Funding" (Press release). Cloud.com. 2010-05-04. Archived from the original on 2010-09-19. Retrieved 2025-05-28.
  7. ^ a b "CloudStack Process Changes: Working the Apache Way". CloudStack. 2012-04-17. Archived from the original on 2012-04-29. Retrieved 2025-05-28.
  8. ^ "NASA and Rackspace open source cloud fluffer". The Register. 2010-07-19. Retrieved 2025-05-28.
  9. ^ Harris, Derrick (2010-10-22). "Microsoft Joins OpenStack to Add Hyper-V Support". Gigaom. Retrieved 2025-05-28.
  10. ^ "Citrix Buys Cloud.com for More Than $200 Million". TechCrunch. 2011-07-12. Retrieved 2025-05-28.
  11. ^ "Citrix CloudStack 3 Brings the Power of Amazon-Style Clouds to Customers of All Sizes". Citrix. 2012-02-13. Archived from the original on 2012-05-11. Retrieved 2025-05-28.
  12. ^ Metz, Cade (2012-04-04). "Citrix Splits With OpenStack, Takes Cloud to Apache". Wired. Retrieved 2025-05-28.
  13. ^ "Apache CloudStack 4.0.0-incubating Released". Apache Software Foundation. 2012-11-06. Retrieved 2025-05-28.
  14. ^ "CloudStack Project Incubation Status". Apache Software Foundation. 2013-03-20. Retrieved 2025-05-28.
  15. ^ "Red Hat Announces OpenStack-powered Product Offerings to Deliver on Open Hybrid Cloud Vision". Red Hat. 2013-06-12. Retrieved 2025-05-28.
  16. ^ "Oracle Sponsors OpenStack Foundation; Offers Customers Ability to Use OpenStack to Manage Oracle Cloud Products and Services". Oracle. 2013-12-10. Retrieved 2025-05-28.
  17. ^ a b c d e f "Apache CloudStack 4.20.0.0 Release". Apache CloudStack. 2024-12-02. Retrieved 2025-05-28.
  18. ^ "CloudStack Architecture". CloudStack Documentation. Retrieved 2025-05-28.
  19. ^ "Management Server Overview". CloudStack Documentation. Retrieved 2025-05-28.
  20. ^ "CloudStack Agent". CloudStack Documentation. Retrieved 2025-05-28.
  21. ^ "System Virtual Machines". CloudStack Documentation. Retrieved 2025-05-28.
  22. ^ "Storage Overview". CloudStack Documentation. Retrieved 2025-05-28.
  23. ^ "Database Configuration". CloudStack Documentation. Retrieved 2025-05-28.
  24. ^ "Zone Types". CloudStack Documentation. Retrieved 2025-05-28.
  25. ^ "Minimum System Requirements". CloudStack Documentation. Retrieved 2025-05-28.
  26. ^ "CloudStack Case Studies". Apache CloudStack. Retrieved 2025-05-28.
  27. ^ "Datapipe launches largest CloudStack deployment". NetworkWorld. 2012-07-17. Retrieved 2025-05-28.
  28. ^ "Apache CloudStack Project Management Committee". Apache CloudStack. Retrieved 2025-05-28.
  29. ^ "CloudStack Community". Apache CloudStack. Retrieved 2025-05-28.
  30. ^ "CloudStack Commercial Support". Apache CloudStack. Retrieved 2025-05-28.
  31. ^ "CloudStack vs OpenStack Comparison". TechRepublic. 2019-03-15. Retrieved 2025-05-28.

Further reading

  • Sabharwal, Navin; Shankar, Ravi (2013). Apache CloudStack Cloud Computing. Packt Publishing. ISBN 978-1782160106.
  • Khedher, Syed Ahmed (2015). Learning Apache CloudStack. Packt Publishing. ISBN 978-1785889189.
  • Rautenbach, Paul; Karski, Dag (2016). Apache CloudStack Cloud Computing. Packt Publishing. ISBN 978-1785889196.