What is OpenStack?
OpenStack is an open source platform that uses pooled virtual resources to build and manage private and public clouds. The tools that comprise the OpenStack platform, called "projects," handle the core cloud-computing services of compute, networking, storage, identity, and image services. More than a dozen optional projects can also be bundled together to create unique, deployable clouds.
In virtualization, resources such as storage, CPU, and RAM are abstracted from a variety of vendor-specific programs and split by a hypervisor before being distributed as needed. OpenStack uses a consistent set of application programming interfaces (APIs) to abstract those virtual resources 1 step further into discrete pools used to power standard cloud computing tools that administrators and users interact with directly.
Is OpenStack just a virtualization management platform?
Not quite. There are a lot of similarities, but they're not the same.
Yes, OpenStack and virtualization management platforms both sit on top of virtualized resources and can discover, report, and automate processes in vendor-disparate environments.
But while virtualization management platforms make it easier to manipulate the features and functions of virtual resources, OpenStack actually uses the virtual resources to run a combination of tools. These tools create a cloud environment that meets the National Institute of Standards and Technology's 5 criteria of cloud computing: a network, pooled resources, a user interface, provisioning capabilities, and automatic resource control/allocation.
How does OpenStack work?
OpenStack is essentially a series of commands known as scripts. Those scripts are bundled into packages called projects that relay tasks that create cloud environments. In order to create those environments, OpenStack relies on 2 other types of software:
- Virtualization that creates a layer of virtual resources abstracted from hardware
- A base operating system (OS) that carries out commands given by OpenStack scripts
Think about it like this: OpenStack itself doesn't virtualize resources, but rather uses them to build clouds. OpenStack also doesn’t execute commands, but rather relays them to the base OS. All 3 technologies—OpenStack, virtualization, and the base OS—must work together. That interdependency is why so many OpenStack clouds are deployed using Linux®, which was the inspiration behind RackSpace and NASA’s decision to release OpenStack as open source software.
The OpenStack components
OpenStack's architecture is made up of numerous open source projects. These projects are used to set up OpenStack's undercloud and overcloud—used by sys admins and cloud users, respectively. Underclouds contain the core components sys admins need to set up and manage end users' OpenStack environments, known as overclouds.
There are 6 stable, core services that handle compute, networking, storage, identity, and images while more than a dozen optional ones vary in developmental maturity. Those 6 core services are the infrastructure that allows the rest of the projects to handle dashboarding, orchestration, bare-metal provisioning, messaging, containers, and governance.
Nova
Nova is a full management and access tool to OpenStack compute resources—handling scheduling, creation, and deletion.
Neutron
Neutron connects the networks across other OpenStack services.
Swift
Swift is a highly fault-tolerant object storage service that stores and retrieves unstructured data objects using a RESTful API.
Cinder
Cinder provides persistent block storage accessible through a self-service API.
Keystone
Keystone authenticates and authorizes all OpenStack services. It's also the endpoint catalog for all services.
Glance
Glance stores and retrieves virtual machine disk images from a variety of locations.
What can I do with OpenStack?
Private clouds
Private cloud distributions run on OpenStack can provide more substantial benefits than private clouds built using custom code. IDC evaluated the value of Red Hat OpenStack Platform for private clouds and found that organizations realized annual benefits of $6.81 million.
Network functions virtualization
451 Research found that using OpenStack for network functions virtualization (NFV)—which involves separating a network's key functions so they can be distributed among environments—could very well be the next big thing. It's on the agenda of virtually every global communications services provider surveyed by the analyst.
Public clouds
OpenStack is the leading open source option for building public cloud environments. Whether your company is a multibillion-dollar publicly traded enterprise or a startup, you can use OpenStack to set up public clouds with services that compete with major public cloud providers.
Containers
OpenStack is a stable foundation for public and private clouds. Containers speed up application delivery while simplifying application deployment and management. Running containers on OpenStack can scale containers' benefits from single, siloed teams to enterprise-wide interdepartmental operations.
Why Red Hat OpenStack?
Because we stabilize OpenStack for enterprises while staying true to its open source roots. We keep OpenStack open source, which gives you complete control over the cloud infrastructure and everything that relies on it. You can modify a Red Hat® OpenStack deployment to work with (or without) any vendor because the code isn't locked behind proprietary walls—it’s yours. And we work closely with cloud providers so you get peak performance no matter what infrastructure you deploy on.
But it's not just about products, support, consulting, and training. We're your partner—helping you introduce an open source culture to your enterprise.