Hello Dear Rears and Welcome to Part 2 of this Article
OpenStack has a modular architecture with various code names for its components:
- Nova (Compute )
- Swift (Object Storage )
- Cinder (Block Storage)
- Glance (Image Service)
- Neutron (Networking)
- Horizon (Dashboard )
- Ceilometer (Telemetry)
- Heat (Orchestration)
Keystone (Identity Service)
It’s the main authentication and authorization service as I heard from someone, it’s the a who are you and what do you want service. It authorizes
Keystone uses tokens for authorization and maintains Session state
Nova compute or the king service provides a platform on which we are going to run our guest machines; It’s the virtual machine provisioning and management module that defines drivers that interact with underlying virtualization. It provides a Control plane for an underlying hypervisors. Each hypervisor requires a separate Nova Instance. Nova supports almost all hypervisors known to man.
Glance (Image Service)
In simple words glance is the Image Registry, it stores and Manage our guest (VM) images, Disk Images, snap shots etc. It also contains prebuilt VM templates so that you can try it on the fly. Instances are booted from our glance image registry. User can create custom images and upload them to Glance later reuse. A feature of Glance is to store images remotely so to save local disk space.
Swift (Object Storage)
Swift Offers cloud storage software, Look at it as Dropbox or Google drive, as they are not attached to servers, they are individual addressable objects. It’s built for scale and optimized for durability, availability, and concurrency across the entire data set. Swift is ideal for storing unstructured data that can grow without bound. Swift provides redundancy checksum for files, Files are stored as segments and a manifest file tracks them.
Cinder (Block Storage)
Cinder is also one of the storage modules of Openstack; Think of it as an external hard drive or like a USB device. It has the performance characteristics of a Hard drive but much slower then Swift and has low latency. Block Volume are created in swift and attached to running Volumes for which you want to attach an extra partition or for copying data to it. It survives the termination of an Instance. It is used to keep persistence storage. Cinder Images are mostly stored on our shared storage environment for readily availability. These Images can be clones and snapshot which can be turned in to bootable images. Its similar to Amazon Elastic block Storage.
Neutron, the networking component which was formally called Quantum. This component provides the software defined Networking Stack for Openstack. It Provides networking as a service. It gives the cloud tenants an API to build rich networking topologies, and configure advanced network policies in the cloud. It enables innovation plugins (open and closed source) that introduce advanced network capabilities which let anyone build advanced network services (open and closed source) that plug into Openstack tenant networks means that you can create advance managed switches and routers. You can even create an intelligent switch from a PC (Yes you can use it as a standalone component) and use it to replace your managed switch or atleast make it act as a backup Switch.
The Horizon (explained later) has a GUI support for
- Neutron L2 and L3 network and subnet creation/deletion
- Booting VMs on specific Neutron networks.
It creates a human and machine-accessible service for managing the entire lifecycle of infrastructure and applications within Openstack clouds. It contains human readable templates with simple instruction that is read by the Heat Engine. Heat along with ceilometer (explained below) can create an auto-scaling the cloud.
This module is responsible for metering Information. It can be used generate bills and based on the statistics of usage. Its API can be used with external billing systems. Administrators can create certain alarms that are triggered based on performance statistics
Horizon (Dashboard )
Horizon is the Dashboard to Openstack, your eyes and ears. It provides a web based user interface to OpenStack services including Nova, Swift, Keystone etc
Next Section, We will discus different scenarios which we can Implement using Openstack. Click Here to Continue…