Openstack Tutorial

Introduction to OpenStack

OpenStack is a free and open-source software that facilitates a cloud computing platform to build and manage both the public and private clouds infrastructure, i.e., referred to as the future of Cloud Computing. It works by creating multiple virtual machines so that the use of physical resources can be minimized.
OpenStack is managed by one of the biggest communities: OpenStack Foundation as a non-profit organization that oversees both development and community.
Objective: To deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich.

Core Principles of OpenStack

Open Source: OpenStack is coded and released under the Apache 2.0 License and permits the community to use it freely. Open Design: For the upcoming release, the development community holds a Design Summitevery six months. Open Development: The developers maintain a publicly available source code repository through the entig100s of projects including the Ubuntu Linux distribution. Open Community: OpenStack goals to produce a healthy, vibrant development and user community under the process of open and transparent documentation.

Hardware Selection

OpenStack is designed with flexible configurations to run on industry-standard hardware. Compute
  • x86 Server (Hardware Virt.recommended)
  • Storage flexible (Local, SAN, NAS)
Object Storage
  • x86 Server (other architectures possible)
  • Do not deploy with RAID (Controller can be used for cache)

Uses of OpenStack

  • For resource a.1. Computing, storage, and networking available on physical infrastructure such as in a data-center facility.
  • To deploy virtual machines and other instances that handle different tasks for managing a cloud environment.

History of OpenStack

In July 2010, an IT company called Rackspace having collaboration with NASA designed an emerged system called Nebula further formed as an open-source Cloud Computing Platform to meet the needs of public and private clouds regardless of size by being simple to implement, massively scalable known as  OpenStack. After six years OpenStack is managed by the OpenStack Foundation to promote its software and its community.

Modular Architecture

OpenStack is designed by using the modular architecture components as follows:
  1. Horizon- OpenStack Dashboard:
Horizon is the dashboard of OpenStack and the only graphical interface (web UI) that provides a web interface for all OpenStack services including Nova, Swift, and Keystone, etc.
  1. Nova- OpenStack Compute
Nova is a cloud computing fabric controller designed to manage and automate pools of computer resources. It is a distributed component interacts with keystones for authentication, glances to capture images, and communications with the web interfaces horizon.
  1. Neutron- OpenStack Network
Neutron manages the virtual network infrastructure and IP addresses. It provides the network capability.
  1. Swift - OpenStack Object storage
It is a scalable, redundant storage system for objects and files.
  1. Cinder – OpenStack Block Storage
Cinder is a block storage service that provides persistent block level storage devices for use with OpenStack compute instances and organizes volume storage management for virtual machines.
  1. Keystone – OpenStack Identity
This component provides a centralized identity and acts as a common authentication system across the cloud operating system. Keystone supports multiple authorization services that include a standard username and password credentials and also provides token-based systems, AWS logins.
  1. Glance – OpenStack image
Glance is a registry or container of virtual machine images that provides image services to the OpenStack.
  1. Ceilometer – OpenStack Telemetry (Metering and Monitoring)
Ceilometer serves the monitoring resources on the OpenStack for monitoring and metering the data. Using Ceilometer, the administrator can create customer billing across all current and future OpenStack components.
  1. Heat - OpenStack Orchestration
Heat is a service used to orchestrate/compile/collaborate multiple composite cloud applications using templates, through both an OpenStack-native REST API and Cloud Formation- compatible Query API.
  1. Trove – OpenStack Database
Trove is the OpenStack database designed to run entirely on OpenStack and to provide the quick and easy utilization of relational database features without the burden of handling complex administrative tasks.

Benefits of OpenStack

OpenStack is a modern, robust cloud computing solution used by many large enterprises such as eBay, PayPal, Yahoo, etc. and provides a large voluminous benefit to all kinds of business (small to mid-scale business or even very large enterprises) to run their Infrastructure as a Service (IaaS) cloud platform. Some of those top five benefits are as follows:
  1. Strong Security:
OpenStack provides outstanding security features to the users as it keeps the data always secure without any fear of loss if the business owner wants to move his IT infrastructure to the cloud. Behind this strong security feature, there is a team of security experts to strengthen security by finding and fixing the security issues and security holes in the OpenStack software.
  1. Open-Source:
Being Open-Source, OpenStack is the favorite cloud software of the developers and entrepreneurs. Its Source Code can be found OpenStack is the flexible software by which the developers can modify it according to their growing needs by adding extra features. It is free of cost without any restrictions as can be used anywhere, in any way, for any purpose, and how long.
  1. Development Support:
OpenStack development support from the reputed organizations (Intel, IBM, AT&T, Cisco, Red Hat, Dell, Ubuntu, and so on) that improves leaps and bounds. The community of top developers of IT industry also supports OpenStack by working hard for its enhancement and make it better by giving efforts constantly.
  1. An Array of Services:
OpenStack is on a growth of services (Horizon for managing the dashboard, Nova for computing, Neutron for networking, Cinder for storage, and many as discussed above) that meet the needs of public and private clouds.
  1. Easy to Access and manage
It is easy to access and manage in different manners as can be used by using command-line tools, can be managed by the RESTful APIs, and also the administrator can easily access and manage the various aspects of GUI-based Dashboard.
Also ReadTop 20 OpenStack Interview Questions and Answers Reference: