OpenStack is an open source cloud computing platform that allows controlling large pools of compute, storage and network resources throughout a data center. It is licensed under Apache License 2.0.
The project was released by Rackspace Hosting and NASA in 2010. Indeed, its early code was based on NASA’s Nebula platform and Rackspace’s Cloud Files platform. However, since 2012, it has been developed and maintained by the OpenStack Foundation (Open Infrastructure Foundation, since 2021) and the community. The OpenStack project is supported by a large community and hundreds of companies — like Canonical, Intel and Hewlett Packard Enterprise.
As stated on its wiki:
“The OpenStack Mission is to produce an ubiquitous Open Source Cloud Computing platform that is easy to use, simple to implement, interoperable between deployments, works well at all scales, and meets the needs of users and operators of both public and private clouds.”
Nowadays, there are more than 40 million cores in production around the world, the most popular Linux distributions have official OpenStack images available, and the project continues to integrate new, emergent technologies year after year.
OpenStack can be deployed as IaaS in private clouds, public clouds, dedicated servers and GPU servers. Users can manage it through command-line tools, RESTful web services or web-based dashboards like Soax.
As the cloud platform matures, vendors are increasingly offering options for businesses to deploy it, from hosted OpenStack Private Cloud solutions to on-premises OpenStack distributions.
OpenStack Modular architecture
The platform’s modular architecture is composed of diverse projects and services, such as:
Compute component: Nova
Nova is focused on the provisioning, management and automation of pools of resources. It aims to provide greatly scalable, on demand and self-service access to compute resources, by implementing services and libraries. Nova was launched in the first release, “Austin”, in 2010.
Object Store component: Swift
Swift is an object store service that stands out for being highly available, distributed and reliable, providing great fault tolerance. It can be used to store lots of data efficiently, safely, and cheaply. Swift was launched in the first release, “Austin”, in 2010.
Many users also opt for Ceph, as an alternative compatible with Swift’s API.
Image component: Glance
Glance is a service that includes discovering, registering, and retrieving virtual machine images (VM images). Its RESTful API allows querying VM image metadata and retrieval of the actual image. Glance was launched in the 2nd release, “Bexar”, in 2011.
Dashboard component: Horizon
Horizon is the canonical implementation of OpenStack’s dashboard. It was launched in the 5th release, “Essex”, in 2012.
Identity component: Keystone
Keystone provides API client authentication, service discovery and distributed multi-tenant authorization by implementing OpenStack’s Identity API. Keystone was launched in the 5th release, “Essex”, in 2012.
Networking component: Neutron
Neutron, formerly known as Quantum, intends to deliver NaaS (Networking as a Service) in virtual computing environments. Neutron was launched in the 6th release, “Folsom”, in 2012.
Block Storage component: Cinder
Cinder is a service that virtualizes the provisioning and management of block storage devices. It provides end users with a self-service API. Cinder was launched in the 6th release, “Folsom”, in 2012.
Orchestration component: Heat
Heat is designed to orchestrate infrastructure resources for cloud applications based on templates in the form of text files that can be treated like code. Heat was launched in the 8th release, “Havana”, in 2013.
Bare Metal provisioning component: Ironic
Ironic is a bare metal provisioning service intended to provide greatly scalable, on demand and self-service access to compute resources, by implementing services and libraries. Ironic was launched in the 11th release, “Kilo”, in 2015.
Container Orchestration component: Magnum
Magnum is focused on making container orchestration engines like Docker Swarm or Kubernetes available in OpenStack. Magnum was launched in the 13rd release, “Mitaka”, in 2016.
OpenStack Latest release: Zed
OpenStack Zed includes enhanced security features and expanded hardware enablement. Besides, the community has introduced two new projects that respond to user feedback: Venus — to improve log aggregation for large deployments — and Skyline — to improve the web user interface.
OpenStack High Availability architecture
High Availability on an OpenStack Private Cloud architecture can be achieved within the same datacenter, at node level, as well as relying on 2 geographically distant datacenters. Here is an example of High Availability architecture including 2 datacenters:
In the example, nodes and all network elements are redundant both in the active datacenter and in a second data center to achieve a HA private cloud. Therefore, in case of a major contingency in the active datacenter, the second datacenter node or nodes can take over the service. Nevertheless, to ensure a zero RTO service, operating systems, databases and applications must also support this type of architecture, and must be configured accordingly.
If you are looking for a secure, reliable and cost-efficient cloud solution for your company’s mission critical applications, do not hesitate to contact our Private Cloud experts for a custom quote.