Apache CloudStack vs. OpenStack: Which Is the Best?
CloudStack and OpenStack are two giants in the CMP realm. But where are they best used? See how their components compare head-to-head.
Join the DZone community and get the full member experience.
Join For FreeApache CloudStack Vs OpenStack: Two of the most popular and successful cloud management platforms (CMP). We have already witnessed the fact that industry is adopting open source based cloud management platform (CMP). In this blog, we will compare these two CMPs.
Apache CloudStack:
Apache CloudStack is one of the popular and battle-tested OpenSource CMPs. Most of the service providers run on top of Apache CloudStack to power their infrastructure as a service offering. Apache CloudStack supports Citrix XenServer, KVM, VMware, and Microsoft HyperV hypervisors.
Key Components of CloudStack:
- Cloud Management Service
- This is the central management service that orchestrates VM deployment, volume provisioning, cloud management, and user management.
- Cloud Usage Service
- This service runs periodically to meter the cloud usage for different user accounts managed by CloudStack.
- UI Portal to Sign-Up
- The UI Portal supports multiple roles. Root Admin, Domain Admin, and User Role.
- Root Admin can manage the physical infrastructure and virtual infrastructure.
As you can see, CloudStack has only two services as compared to different projects in OpenStack (nova, cinder, magnum, keystone, etc).
Subsystem | Handled By |
Compute | Cloud Management Service |
Storage | Cloud Management Service (Secondary Storage VM) |
Network | Cloud Management Service (Virtual Router/VPC) |
Template | Cloud Management Service (Secondary Storage VM) |
Performance Metrics | Cloud Management Service (Native support for PV Drivers installed XenServer VMs) |
Usage Data | Cloud Usage Service |
Multi-App Deployment | Not available. |
Autoscaling | Cloud Management Service |
Billing | Not available. |
Compliance/Auditing | Cloud Management Service – Limited |
Capacity Planning | Not available. |
Post OS Configuration | via Cloud-init Scripts |
OpenStack
OpenStack is the most popular CMP. The OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.
Key Components of OpenStack:
The components of Openstack are managed via different subprojects of the OpenStack foundation. Projects in OpenStack include nova, cinder, magnum, and keystone.
Subsystem | Handled By |
Compute | Nova Compute Service |
Storage | Swift Service: Object Storage Cinder Service: Block Storage |
Network | Neutron Service |
Template | Glance Service |
Performance Metrics | Ceilometer Service |
Usage Data | Ceilometer Service |
Multi-App Deployment | Heat Service |
Autoscaling | Heat Service |
Billing | Not available. |
Compliance/Auditing | Horizon Dashboard |
Capacity Planning | Not available. |
Post OS Configuration | via Cloud-init Scripts |
Orchestration | Heat Service |
Governance | Congress |
Containers | Magnum |
Bare Metal Provisioning | Ironic |
As you can see, that OpenStack projects are cleanly organized and designed in such a way that it is extendable to cover broader use cases of Infrastructure-, Platform-, Storage-, Network-, and Load-Balancer-as-a-Service.
With the so much of granularity, there comes the complexity of installing all of the projects to getting them to work together well. Getting OpenStack up and running is one of the hardest parts.
CloudStack vs OpenStack
Who is the winner out of CloudStack vs. OpenStack? It depends. CloudStack solves IaaS needs most clearly, while OpenStack addresses broader use cases beyond IaaS.
Opinions expressed by DZone contributors are their own.
Comments