Cloud Computing.com

OpenStack

By Kinza Yasar

What is OpenStack?

OpenStack is a collection of open source software modules and tools that provide organizations with a framework to create and manage both public cloud and private cloud infrastructure. It's considered one of the most active open source projects worldwide.

OpenStack delivers infrastructure-as-a-service (IaaS) functionality -- it pools, provisions and manages large concentrations of compute, storage and network resources. These resources, which include bare-metal hardware, virtual machines (VMs) and containers, are managed through application programming interfaces (APIs), as well as an OpenStack dashboard. Other OpenStack components provide orchestration, fault management and services intended to support reliable, high availability operations.

Businesses and service providers can deploy OpenStack on premises in the data center to build a private cloud, in the cloud to enable or drive public cloud platforms, and at the network edge for distributed computing systems.

What does OpenStack do?

The main purpose of OpenStack is to create and deploy a cloud computing environment. An organization typically creates a cloud computing environment by building off its existing virtualized infrastructure, using a well-established hypervisor, such as Microsoft Hyper-V, VMware vSphere or Kernel-based Virtual Machine. However, cloud computing offers more than just virtualization; a public or private cloud provides extensive provisioning, lifecycle automation, user self-service, cost reporting and billing, orchestration and other features.

Installing OpenStack software on top of a virtualized environment forms a cloud operating system (OS). An organization can use that to organize, provision and manage large pools of heterogeneous compute, storage and network resources. Whereas an IT administrator typically provisions and manages resources in a more traditional virtualized environment, OpenStack lets individual users provision resources through management dashboards and an API.

This cloud-based infrastructure created through OpenStack supports an array of use cases, including web hosting, big data projects, software-as-a-service delivery and container deployment.

OpenStack competes most directly with other open source cloud platforms and tools, including Apache CloudStack and Eucalyptus. Some organizations consider it an alternative to public cloud platforms, such as Amazon Web Services (AWS) or Microsoft Azure, and some smaller public cloud providers use OpenStack as their native cloud platform.

How does OpenStack work?

OpenStack isn't a cloud application in the traditional sense, but rather a platform composed of several dozen separate components called projects, which interoperate with each other through APIs. Each component is complementary, but not all components are required to create a basic cloud. Organizations can install only select components that build the features and functionality in a desired cloud environment.

OpenStack also relies on the following two additional foundation technologies:

  1. A base OS. This includes an OS such as Linux that handles the commands and data exchanged from OpenStack.
  2. A virtualization platform. The virtualization engine manages the virtualized hardware resources that are abstracted from hardware and used by OpenStack projects. Common examples of virtualization software include VMware and Citrix.

Once the OS, virtualization platform and OpenStack components are deployed and configured properly, IT administrators can provision and manage the resource instances that apps require. Actions and requests made through a dashboard produce a series of API calls, which are authenticated through a security service and delivered to the destination component, which executes the associated tasks.

As a simple example, an administrator logs in to OpenStack and manages the cloud environment through a dashboard. They can create and connect new compute instances and storage instances and configure network behaviors. Additionally, an IT admin might connect various other services, such as to monitor the performance of a provisioned instance and employ resource billing and chargeback.

The OpenStack platform's vast scope and sheer number of interrelated components can be confusing and even daunting. Most OpenStack adopters start with a small number of essential components and gradually deploy other components over time to build out their cloud's operational and business capabilities.

Who uses OpenStack?

Because of its flexibility and open source nature, OpenStack appeals to a wide range of users. The following are examples of industries and institutions using OpenStack:

What are the different OpenStack components?

The OpenStack cloud platform is a combination of software components. These components are shaped by open source contributions from the developer community, and OpenStack adopters can choose to deploy some or all of these components as business needs dictate.

Figure 1 shows all OpenStack components, as of May 2023.

OpenStack setups vary but typically start with a handful of central components, including the following:

What are the pros and cons of OpenStack?

OpenStack infrastructure offers organizations the following benefits:

But potential adopters must also consider some drawbacks, including the following:

To reduce the complexity of an OpenStack deployment and to gain direct access to technical support, an organization can select an OpenStack distribution from a vendor. This is a version of the open source platform packaged with other components, such as an installation program and management tools. It often comes with technical support options.

Organizations have many OpenStack distributions to choose from, including Mirantis OpenStack for Kubernetes, Rackspace OpenStack Private Cloud and Red Hat OpenStack Platform.

OpenStack vs. other cloud platforms

When comparing OpenStack to other cloud platforms, such as CloudStack, OpenStack stands out for its powerful open source nature, integrated architecture, scalability and multihypervisor support. Designed to build and manage cloud computing platforms for both public and private clouds, OpenStack's flexibility and extensive community support make it a popular choice among organizations.

However, even simple clouds are complex and require extensive automation, orchestration and management to operate. This means there are few direct alternatives to OpenStack that are practical and proven and that can simplify or speed an enterprise's adoption of next-generation technology.

Alternatives to OpenStack include the following:

How to get started with OpenStack

OpenStack adoption is a process. There are potentially dozens of components to understand, install and employ. Organizations that want to build a private cloud based on OpenStack need time, financial investment and support from upper management.

The following steps are usually involved when getting started with OpenStack:

  1. Evaluation. OpenStack adoption typically starts with a technology evaluation -- a test drive to see what an OpenStack setup looks like and how it operates. OpenStack Public Cloud Passport offers trial programs from several OpenStack public cloud providers. Organizations that prefer to install and run OpenStack locally for a hands-on examination can use the DevStack distribution, which focuses on the dashboard and OpenStack administration or user interactions and can be installed on a single computer.
  2. Preparation. Once an organization chooses to adopt OpenStack, it must prepare to address the following three elements:
    • Education. Learn more about OpenStack components, how they operate and how they're used.
    • Support. Identify and engage with OpenStack support services, from simply finding online communities to identifying competent OpenStack employees and third-party contractors.
    • Infrastructure. Identify the hardware infrastructure to initially deploy OpenStack, which might require procurement and installation.
  3. Deployment. Organizations should consider starting with limited, proof-of-concept OpenStack projects. For example, OpenStack Compute Starter Kit focuses on the Nova compute service, Glance image services, Keystone identity management service, Neutron networking project and Placement service for tracking resource usage.
  4. Testing. Following the deployment of OpenStack, comprehensive testing should be done to ensure that all services are functioning correctly. Organizations should test a range of scenarios, such as launching instances, creating networks and gaining access to resources, to validate the functionality of the OpenStack deployment.
  5. Monitoring and maintenance. To keep an eye on the functionality and overall health of the OpenStack deployment, organizations should use tools for logging and monitoring. They should also apply patches and upgrades as needed to the OpenStack environment as part of routine maintenance and updates.
  6. Expansion. As an organization gains expertise in the OpenStack environment, it might want to add components. Although it's unlikely that every business use case needs every available component, organizations can select components, such as monitoring or billing, that fit their specific business goals.

OpenStack releases

OpenStack versions are released in the spring and fall of each year. These releases follow an alphabetical naming scheme, starting with the initial Austin release in 2010.

OpenStack releases 2010-2019

OpenStack releases 2020-2021

OpenStack releases 2022-2023

Future OpenStack releases include Caracal, which has an anticipated release date of April 2024.

OpenStack Foundation

OpenStack was originally developed through a partnership between the National Aeronautics and Space Administration and Rackspace, a managed hosting and cloud computing service provider. In September 2012, the OpenStack Foundation was created as an independent nonprofit organization to oversee the OpenStack platform and community.

In October 2020, the OpenStack Foundation was relaunched as the Open Infrastructure Foundation (OpenInfra Foundation) with a mission to more broadly support other open source infrastructure communities and foster continued development around public, private and hybrid clouds. It's governed by a board of directors composed of many direct and indirect competitors, including IBM, Intel and VMware. Various OpenInfra Foundation projects involve artificial intelligence and machine learning, continuous integration/continuous delivery software development paradigms, container infrastructure and edge computing.

OpenStack platform providers

While comprehensive and capable, an OpenStack platform is difficult to deploy from scratch. The OpenStack market provides a variety of alternatives, including the following:

Cloud computing has gained immense recognition in recent years. Delve into the top frequently asked questions about cloud computing to ensure informed decision-making when transitioning to the cloud.

09 Feb 2024

All Rights Reserved, Copyright 2010 - 2024, TechTarget | Read our Privacy Statement