OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds. It is backed by some of the biggest companies in software development and hosting, as well as thousands of individual community members. OpenStack is managed by the OpenStack Foundation, a non-profit that oversees both development and community-building around the project.
OpenStack lets users deploy virtual machines and other instances that handle different tasks for managing a cloud environment on the fly. It makes horizontal scaling easy.
OpenStack is open-source software, which means that anyone who chooses to can access the source code, make any changes or modifications they need, and freely share these changes back to the community at large.
OpenStack is made up of many different moving parts. Because of its open nature, anyone can add additional components to OpenStack to help it to meet their needs.
The OpenStack community has collaboratively identified nine key components that are a part of the core of OpenStack, which are distributed as part of any OpenStack system:
OpenStack is a cloud operating system that controls large pools of compute, storage and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms. Beyond standard infrastructure as a service functionality, additional components provide orchestration, fault management and service management amongst other services.