3.4: OpenStack - Open Source Cloud Infrastructure

Introduction to Cloud Computing · LibreTexts

0%

Contents

    Text

    Size
    100%
    Theme
    Typeface
    Line length
    Spacing

    From LibreTexts, under CC BY 4.0, as the source states it; its equations are written in TeX, which the PDF shows typeset. This page at LibreTexts.

    3.4: OpenStack - Open Source Cloud Infrastructure

    While AWS, GCP, and other public clouds are proprietary platforms, there are also open-source solutions for building cloud infrastructures. OpenStack is the most prominent open-source cloud computing platform, which allows organizations to set up their own cloud (often a private cloud) on-premises or for service providers to offer AWS-like services. This section provides an overview of OpenStack and its role in the cloud ecosystem.

    What is OpenStack? OpenStack is an open source platform that uses pooled virtual resources to build and manage private and public clouds [11]. It originated in 2010 as a joint project between NASA and Rackspace, who open-sourced code for compute (Nova) and storage (Swift) services. Since then, OpenStack has grown into a large, modular project governed by the OpenStack Foundation (now the OpenInfra Foundation). It essentially provides the software to orchestrate networks, storage, and compute in a multi-tenant environment, much like a public cloud provider would – but you can run it in your own data center or colocation.

    OpenStack is sometimes called a “cloud operating system.” It consists of a collection of interrelated projects (modules), each handling a core cloud service:

    • Nova – Manages computing instances (VMs). Nova interfaces with the underlying hypervisor (e.g., KVM, Xen) to provision and manage virtual machine lifecycles .
    • Neutron – Provides networking-as-a-service (manages networks, subnets, routers for tenant isolation and connectivity).
    • Cinder – Block storage service (for provisioning volumes to VMs).
    • Swift – Object storage service (scalable storage of objects/blobs, similar to AWS S3).
    • Glance – Image service (stores and retrieves VM disk images for use in launching instances).
    • Keystone – Identity service (authentication and multi-tenant authorization).
    • Horizon – Dashboard (a web-based UI for users/admins to interact with OpenStack services).
    • Others: There are numerous optional projects: Heat for orchestration (infrastructure-as-code templates), Ceilometer for telemetry/monitoring, Barbican for key management, etc. Over a dozen projects can be integrated depending on needs.

    In Figure 3.4.1, we have an architectural diagram showing the core components of OpenStack and how they interconnect. At the top is a gold-colored horizontal bar labeled 'Horizon (Dashboard),' representing the web-based user interface. Along the left side is a tall vertical dark blue bar labeled 'Keystone (Identity and Auth),' which connects via arrows to all other components, indicating that it provides authentication and authorization across the entire platform. In the center are six teal-colored component boxes arranged in a three-by-two grid: Nova (Compute) and Neutron (Networking) in the top row, Cinder (Block Storage) and Swift (Object Storage) in the middle row, and Glance (Image Service) and Heat (Orchestration) in the bottom row. Dashed lines connect these components to each other, representing inter-service communication via APIs. At the bottom is a dark blue horizontal bar labeled 'Hypervisor / Physical Infrastructure (KVM, Xen, etc.),' representing the underlying physical layer that OpenStack manages. The diagram illustrates that OpenStack is made up of separate software components that each handle a different job, all tied together by a shared login system and a single control dashboard.
    OpenStack. Details in caption.

    Figure \(\PageIndex{1}\):OpenStack is made up of separate software components that each handle a different job, all tied together by a shared login system and a single control dashboard. (CC BY 4.0; Felix Amoruwa) Access to a detailed description of Figure \(\PageIndex{1}\)

    All these components communicate via APIs. OpenStack uses a consistent set of APIs to abstract the underlying resources and present them as services. For example, Nova API lets you request a new VM, Neutron API lets you create a network or firewall rule. This is analogous to AWS’s APIs (EC2 API, etc.), but OpenStack’s are open standards.

    How OpenStack Works: OpenStack itself does not virtualize resources – instead, it relies on existing virtualization in the environment (like a hypervisor on each server) [11] . Think of OpenStack as a management layer that sits on top of pools of virtualized compute, storage, and network resources. It issues commands (through its various project components) to create virtual machines, connect them to networks, allocate storage, etc., using underlying technologies (e.g., Linux KVM for virtualization, Linux networking and SDN for networks).

    To deploy OpenStack, typically one configures a cluster of servers: some controller nodes running the OpenStack services (APIs, schedulers, etc.) and a number of compute nodes providing CPU/RAM for VMs, plus nodes for storage if needed. Users then interact with OpenStack via a web dashboard or CLI, similarly to how they would on a public cloud, to launch instances, define networks, and so on. Essentially, OpenStack turns a pool of physical servers into a multi-tenant cloud environment through software.

    One way to distinguish OpenStack from a simple virtualization management platform (like VMware vCenter or similar) is that OpenStack aims to provide the full cloud experience: self-service for users, APIs for automation, and the ability to scale out on commodity hardware. Virtualization management handles VMs on a host or cluster, but OpenStack pools those virtual resources one step further into discrete cloud services that users interact with directly. For example, instead of an admin provisioning a VM for a user, the user in OpenStack can request it themselves via API; OpenStack finds a suitable host in the cluster and creates it, similar to AWS EC2 behavior. Thus, OpenStack brings cloud-style multi-tenancy and automation to anyone who can run the software.

    Role and Use Cases of OpenStack: OpenStack is often used to deploy private clouds – cloud environments dedicated to one organization (and often on-premises or in a colocation facility). Organizations that want the agility of cloud but need to keep control of data or use existing hardware investments can use OpenStack to create an internal cloud service. For instance:

    • Enterprise Private Cloud: Large enterprises (banks, telecoms, research institutions) have used OpenStack to run their internal Infrastructure-as-a-Service, giving their developers AWS-like capabilities while keeping data on-prem and potentially lowering costs once at scale. Companies like Comcast, Bloomberg, BMW, and others have run substantial OpenStack deployments.
    • Public Cloud Service Providers: Some regional or specialized cloud providers use OpenStack as the software basis to offer public cloud services in competition with AWS. Because it’s open source, they can customize and avoid licensing fees. Notably, in the early-to-mid 2010s, many telcos and hosting companies launched OpenStack-based public clouds (with varying success).
    • Network Function Virtualization (NFV): Telecom operators embraced OpenStack to virtualize network appliances (like routers, firewalls) on commodity servers. OpenStack’s flexibility to integrate with custom networking backends (through Neutron plugins) made it suitable for NFV use cases in telco clouds.
    • Hybrid Cloud Gateway: Some organizations might use OpenStack to manage overflow or edge cases. For example, a company could run OpenStack in-house but also use public cloud; tools exist to help manage workloads between OpenStack and AWS/Azure for hybrid cloud scenarios.

    OpenStack’s value proposition is control and open standards. Unlike proprietary clouds, OpenStack is free to use (though it requires expertise to deploy/operate), and data remains under the organization’s control.

    There’s no risk of a provider “lock-in” in terms of technology, since OpenStack is vendor-agnostic and many vendors support it (multiple Linux distributions package OpenStack, and companies like Red Hat, Canonical, and Mirantis offer commercial support). OpenStack’s APIs are also open, which was appealing to those seeking interoperability and avoidance of any single vendor dominance.

    However, OpenStack is not without challenges. Operating a cloud is complex; many organizations found early OpenStack releases difficult to stabilize and scale. It requires significant in-house IT skills in Linux, networking, and virtualization. Over time, the software matured, but some early hype (that OpenStack would be an “AWS killer”) subsided as public clouds grew faster. In practice, OpenStack often thrives in specific niches or where a dedicated community supports it (like scientific research clouds or countries/ regions that prefer open-source solutions for sovereignty reasons).

    A key development was the rise of hybrid cloud, where OpenStack can serve as a bridge. For example, an enterprise might run sensitive workloads on an OpenStack private cloud but burst to AWS for peak loads, using a common toolset to manage both. There are also efforts to align OpenStack APIs with public clouds for compatibility. Additionally, as containerization became popular, OpenStack integrated container orchestration (e.g., Magnum project to run Kubernetes on OpenStack, ironic use of bare-metal provisioning for containers). So OpenStack evolved to not just VM orchestration but also to support modern cloud-native patterns.

    In summary, OpenStack is the leading open-source cloud framework enabling the implementation of cloud service models on commodity hardware. It essentially lets any organization act as their own cloud provider. Its role in the cloud landscape is to provide an alternative model to public clouds – one that emphasizes openness, community-driven development, and flexibility to run anywhere. For businesses and service providers that require tailor-made cloud solutions or have constraints preventing full public cloud adoption (such as strict regulatory or latency requirements), OpenStack offers a viable solution. As of 2025, OpenStack remains actively developed and used, particularly in private clouds and certain industries. It embodies the idea that cloud computing principles (on-demand self-service, elasticity, resource pooling) can be achieved outside the large public clouds, by leveraging open technology.


    This page titled 3.4: OpenStack - Open Source Cloud Infrastructure was last modified on Tue, 22 Sep 2026 21:13:22 GMT and is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Felix Amoruwa.