Openstack is a set of tools which makes building and managing cloud computing infrastructure on both public and private clouds easier.
Project Openstack is managed by Openstack foundation which is a non-profit organisation which takes care of the development work on the project and also helps in community building around the project.
OpenStack project is backed by some of the leading companies of the world including Intel, Rackspace, Redhat, Tencent cloud, Cisco, Dell, Netapp, Fujitsu et cetera.
Openstack allows teams to have modular cloud infrastructure which can then be run on standard hardware. Using openstack teams can deploy virtual machines and other instances which helps to manage cloud infrastructure on the fly. This makes the entire process of horizontal scaling super simple.
Openstack is a combination of multiple open source tools which handles cloud computing services such as computing, networking, storage and identity and image services.
The cloud environment created by openstack provides all the nuts and bolts to run a standard cloud environment on any underlying hardware. It provides capabilities like a network, pooled resources, a user interface, provisioning capabilities, and automatic resource control/allocation.
Openstack is an evolving technology which is supported by the entire industry and it is based on the foundation of standardization.
Openstack has multiple components and moving parts. Since the project is entirely open source anyone can add or customise these components to meet their unique needs. There are 6 stable core services that handle the networking, storage, compute, identity and images in openstack.
Neutron provides the networking capabilities to openstack framework. It connect the networks across the other openstack services in an efficient manner.
Swift is a component which is responsible for providing highly fault tolerant object storage service in openstack. Swift can be used to store and retrieve unstructured data objects with the use of simple RESTful api.
Nova is the primary computing component which works behind the scene in Openstack. It is essentially used for deploying and managing virtual machines instances to handle different types of computing tasks. Nova takes care of the handling, scheduling, creation and deletion of compute resources.
Cinder is responsible for providing persistent block storage which can be used via self service api. It is similar to having a computer access to specific locations on a hard disc and used in cases where data access speed is the most important factor.
Glance is used to store and retrieve virtual disk images from different locations. These images or virtual copies of the hard disc can be used via templates when the teams have to deploy new virtual machine instances.
Keystone is the component responsible for providing identity services for openstack. It manages a central list of all the users of the openstack cloud instance and takes care of the permission schema of those users against the services they are allowed to use.
For more information on OpenStack you can check out their website https://www.openstack.org/