Introduction to the Eleven Key Components of OpenStack – Part 1

By | June 18, 2015

openstack_havana_conceptual_arch

What is this OpenStack? Does that mean opening the stack of applications? No no…that’s a set of software tools in order to build and manage cloud computing platforms for both public as well as private clouds. OpenStack basically, helps in managing the pool of resources in any datacenter by turning all the set of these software tools into a pool of resources that can be managed from a single place.

Understanding the Terms in OpenStack –

Since OpenStack is a set of software tools for constructing and managing cloud computing platforms for all three types of clouds, it’s made of several parts that are moving. Being an open source, there’s freedom to add additional components to OpenStack to meet the needs of the users. According to its community, there are nine key components that are a part of the “core” of it, distributed as a part of any OpenStack system and officially maintained by the community. Two more have been added to the list in the last Icehouse release, improving the figure to eleven from nine.

OpenStack Compute (Nova) –

Nova is a name of the project given to Compute service that offers and manages large networks of virtual machines that creates a scalable and redundant cloud computing platform. In simple terms, it can be said that Nova is the brain of the Cloud. Different components like disk space, memory and CPU contribute to Compute Servers and can be provisioned in minutes. Users can interact with the Compute Servers in the form of programs through the OpenStack Compute API or the Dashboard.

Object Storage (Swift) –

Swift is actually the code name for OpenStack Object Storage that uses commodity server clusters particularly for static data storage – documents and photo images for a long period. Excels in storing web content, backups and in handling massive concurrency. It is used internally by many companies, For instance – all media files in Wikipedia are served by the Wikimedia foundation’s Swift cluster. Swift was open sourced in 2010 under the Apache 2.0 license. It stores and recovers unstructured data objects via HTTP based APIs. It is a fault tolerant due to its architecture that enables data replication and scalability.

Identity Service (Keystone) –

Keystone is an integrated identity management system for OpenStack that offers authentication and authorization for all its relative services. This leads to formation of a central directory of users plotted to the services of OpenStack.

Block Storage (Cinder) –

Cinder is the code name referred to the open source project to develop OpenStack Block Storage. Block Storage gives exposure to block devices and connects them to compute instances for expanded storage, integration with enterprise storage platforms and better performance. Creating block devices, attaching and detaching them to servers is the major role of block storage system. Cloud users can manage their own storage requirements with the fully integrated block storage volumes into Openstack Compute and the Dashboard. Cinder helps in separating the block storage functionality that was a part of OpenStack Compute into its own service.

OpenStack Image Service (Glance) –

Glance is the project name given to OpenStack Image Service where it’s possible to upload and discover data assets that are to be used with other services. Currently, it only includes images and metadata definitions. Users can discover, register and retrieve virtual machines images with glance image service. Querying of VM image metadata and retrieval of the actual image is allowed by the RESTful API. The VM images can be stored in several locations – from simple files to object-storage system like OpenStack Swift project.

OpenStack is actually built in the form of modular architecture consisting of eleven components. Only five of them are listed here, other six will be included in next part.  Stay tuned for further information on components!