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. 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 is a full management and access tool to OpenStack compute resources—handling scheduling, creation, and deletion.
Neutron connects the networks across other OpenStack services.
Swift is a highly fault-tolerant object storage service that stores and retrieves unstructured data objects using a RESTful API.
Cinder provides persistent block storage accessible through a self-service API.
Keystone authenticates and authorizes all OpenStack services. It's also the endpoint catalog for all services.
Glance stores and retrieves virtual machine disk images from a variety of locations.
What can I do with OpenStack?
Private cloud distributions run on OpenStack are better than DIY approaches—and there's proof. 451 Research found that it only takes a 6% increase in the number of virtual machines—facilitated by OpenStack's easy installation and management—for OpenStack distributions to become significantly more valuable than private clouds created on your own.
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.
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.
Keep learning about OpenStack
All the pieces you need to start using OpenStack
This is it—a scalable and secure foundation to build and manage an open private or public cloud. Benefit from open source project innovation while maintaining a stable platform for production deployment.
This is what makes OpenStack so effective at creating, deploying, and supporting cloud environments. This is the native operating system OpenStack is designed to run on.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks / service marks or trademarks / service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation or the OpenStack community.