Today we talk about OpenStack: what is it and how it works?
OpenStack is a free open source software of Cloud Management, originated from a project of Red Hat and NASA in 2010. OpenStack enables to manage pools of computing resources, storage and networking through a single platform, by giving to its users the possibility to build and manage public and private Cloud environments. It is the most popular platform globally, with over 150 companies like Yahoo and Dell and more than 4000 active developers (CloudStack, its closer option, has just over 300 developers), which contribute to the project’s growth and to its continuous improvement.
OpenStack is composed by a series of modules that allow to create and manage a range of environments, including Public Cloud, Private Cloud and Containers. The main software’s components are the ones related to computing, storage and networking that are the “core” of the project. Different additional resources can be added to build customized Cloud environments ready to deploy.
Components and features
Nova: it manages the computing resources and makes available to users virtual machines in real time.
Swift: it’s a scalable and redundant Object Storage system, an architecture that manages data as they are “objects”.
Neutron: it’s the component related to networking and it is dedicated to the management of network resources and IP addresses.
Cinder: it provides a persistent block storage
Glance: it’s the images repository, by archiving and restoring them form virtual machines disks
Keystone: that module manages the software’s authentication and authorisation procedures
Horizon: it’s the OpenStack dashboard, the graphic interface with which both users and administrators can access to the platform and manage resources.
Magnum: it’s the component to create and manage containers, the alternative to the classical hypervisors.
OpenStack is a very flexible platform which allows to change resources allocated in real time, but is still pretty difficult to use and it needs a proper technical training.