OPENSTACK (Cloud Computing)

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 32

OPENSTACK

What is Openstack?
• Openstack is a combination of open source projects that use
pooled virtual resources to build and manage private and public
clouds.
• Openstack is free and opensource software platform for cloud
computing , mostly deployed as an infrastructure as a service.
• End user can interact through common web interface(horizon) or
directly to each service through their API.
• All service authenticate through common source.
• Individual services interact with each other through their public
API.
• Everything is written in python
• The software platform consists of interrelated components that
control diverse, multi-vendor hardware pools of processing,
storage, and networking resources throughout a data center.
• Users either manage it through a web-based dashboard, through
command-line tools, or through a RESTful API
Why to use OpenStack ?
• OpenStack lets users deploy virtual machines and other instances that
handle different tasks for managing a cloud environment on the fly.
• It makes horizontal scaling easy, which means that tasks that benefit
from running concurrently can easily serve more or fewer users on the
fly by just spinning up more instances. 
• And most importantly, OpenStack is open source software, which
means that anyone who chooses to can access the source code, make
any changes or modifications they need, and freely share these
changes back out to the community at large.
HISTORY
• Openstack is launched by NASA and rackspace in 2010.
• It is managed by openstack foundation.
• OpenStack.org released it under the terms of the Apache
License.
• More than 200 members, among those: Canonical/Ubuntu,
VMware, HP, IBM, RackSpace, Microsoft, AT&T, SuSE,
RedHat
• Openstack is based on python Django framework.
Current Version Of OpenStack
• Openstack ROCKY, 18th release of openstack.
• Originally Released: 30 August, 2018
OPENSTCK-ARCHITECTURE
OPENSTACK COMPONENTS AND MAIN
SERVICES
• Nova
• Glance
• Swift
• Horizon
• Keystone
• Quantum
• cinder
1. NOVA(COMPUTE)
•Nova is a cloud computing controller, which is the main part of an IaaS
system.
•Without nova openstack would become unmanageable.therefor it must have
very high level of avaibility.
•Nova which is. provides virtual servers upon demands.
•Provides ondemand access to compute resources.
•Supports for virtulization,containers and bare-metal.
•Marshals resources to provide virtual machines
•Mysql database supports nova.
•This is similar to Amazon EC2.
NOVA COMPONENTS
• API-public facing interface.
• Message queue-broker to handle interactions between
services , currently based on RabbitMQ.
• Scheduler :- coordinates all services , determines placement
of new resources requested
• Compute worker-hosts VMs,controls hypervisiors and VMs
when receives cmds on msg Queue
• Volume :- manages permanent storage.
2.GLANCE-IMAGING SERVICE
• Glance image services include discovering, registering, and
retrieving virtual machine (VM) images.
• Glance has a RESTful API that allows querying of VM image
metadata as well as retrieval of the actual image.
• Supports a large variety of image formats like qcow2,vmdk.
GLANCE
glance-api :  It accepts Image API calls for
image discovery, image retrieval and image
storage.
glance-registry : it stores, processes and
retrieves metadata about images (size, type,
etc.).
glance database : A database to store the image
metadata.
A storage repository for the actual image files.
Glance supports normal filesystems, RADOS
block devices, Amazon S3, HTTP and Swift.
Glance accepts API requests for images (or
image metadata) from end users or Nova
components and can store its disk files in the
object storage service, Swift or other storage
repository.
3.SWIFT(OBJECT STORAGE)
• OpenStack Swift, also known as OpenStack Object Storage, is an open source object
storage system that is licensed under the Apache 2.0 license and accessible via REST API.
•  OpenStack Swift is best suited to backup and archive unstructured data such as
documents, images, audio and video files, email and virtual machine images.
• Supports front-end-Scaling via additional proxies.
• Supports back-end-scaling via additional storage nodes.
• Object store allows you to store or retrieve files. It provides a fully distributed, API-
accessible storage platform that can be integrated directly into applications or used for
backup, archiving and data retention.
• Object Storage is not a traditional file system, but rather a distributed storage system for
static data such as virtual machine images, photo storage, email storage, backups and
archives.
SWIFT
Proxy server (swift-proxy-server)
accepts incoming requests, like files to
upload, modifications to metadata or
container creation; it also serve files
and container listing.
Accounts server manage accounts
defined with the object storage service.
Container servers manage a mapping
of containers, folders, within the object
store service.
Object servers manage actual objects,
files, on the storage nodes.
4. HORIZON(DASHBOARD)
• Dashboard will be used by administrators  and  tenant.  For tenant or
user , it will act like a self service portal where they can launch the
instance , allocate the storage and configure the network resource
within the limits set by administrator.
•  Administrator can control the projects (tenant), user management,
hypervisor management and images.
• Dashboard is a web-based graphical user interface to access,
provision and automate cloud resources.
•  It supports the plugins where the third party products(Ex:
Management tools, Billing , Monitoring ) and services can be
integrated quickly.  Horizon service is responsible to provide the
dashboard along with Apache.
At the time of installation , there will be two users created by default.
1.demo   – Demo user is part of demo project . Its a sample user for tenant .
2.admin  – Administrator user which is part of admin group.
We will login as admin user & explorer the available tabs and options.
3. Open the browser and enter the Openstack host URL .
2. Once you have logged in to the dashboard, you will get
screen like below by default.
If you login as demo user,you will not be able to see the admin
tab.identity tab will just show the assigned projects in read
only mode.
5. KEYSTONE(IDENTITY)
• Keystone is a framework for authentication and authorization
for all the OpenStack services.
• Keystone handles API requests as well as providing
configurable catalog, policy, token and identity services.
• It provides the ability to add users to groups (also known as
tenants) and to manage permissions between users and
groups. Permissions include the ability to launch and
terminate instances.
KEYSTONE
1) Identity: The Identity service
provides credential validation and data
about Users, Tenants and Roles, as well
as any associated metadata.
2) Token: The Token service validates
and manages Tokens used for
authenticating requests once a
user/tenant’s credentials have already
been verified.
3) Catalog: The Catalog service
provides an endpoint registry used for
endpoint discovery.
4) Policy: The Policy service provides a
rule-based authorization engine
6. QUANTUM
• It provides “ network connectivity as a service ” between
interface devices (e.g., vNICs) managed by other OpenStack
services (e.g., nova).
• The service works by allowing users to create their own
networks and then attach interfaces to them. Quantum has a
pluggable architecture to support many popular networking
vendors and technologies.
• Quantum will interact mainly with Nova, where it will
provide networks and connectivity for its instances.
QUANTUM
quantum-server accept API requests
and route them to the correct
quantum plugin.
Plugins and agents perform actual
actions, like plug/unplug ports,
creating networks and subnets and
IP addresing.
It also has a message queue to route
info between quantum-server and
various agents.
It has a quantum database to store
networking state for particular
plugins.
7.CINDER – BLOCK STORAGE
• Cinder is a Block Storage service for OpenStack.
• It provides snapshot management functionality for backing
up data stored on block storage volumes that can be restored
or used to create new block storage volumes.
• Cinder provides a API create/delete volume backup/restore
volume snapshot volume and many more.
CINDER
cinder-api accepts requests and routes them
to cinder-volume for action.
cinder-volume reacts reading or writing to
the cinder database to maintain state,
interacts with other processes (like cinder-
scheduler) through a message queue and
directly on block storage providing hardware
or software.
cinder-scheduler picks the optimal block
storage node to create the volume on.
The messages queue route information
between Cinder processes.
A  cinder database store volumes state.
ADVANTAGES
• Open source
• AWS Compatibility
• Strong Security
• A Powerful Dashboard
• Development support
• An array of services for different tasks
• Codebase is simplified(python only)
DISADVANTAGES
• Very complex to setup and troubleshoot.
• Although common code base , might differ from
implementations.
• Need high numbers of management nodes.
• High skills required to run the cluster.
• Lots of configuration required.
Let’s Proceed Towards The
Demo !!

You might also like