Openstack: Presentation

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Thunderclouds

Openstack
Presentation
Plan
1. Introduction
a. Why Openstack?
b. How did it start?
c. General Architecture
2. Openstack Components
Meet The Thundercloud Team

MARYEM FAROUK GHOFRANE


TAYEB BOUSSAID FERCHICHI

RIADH MONTASSER MED NOUR


GHARBI OUNA MISSAOUI
Why Openstack?

Compatibility and portability


Security
Management and visibility
Solution for Vendor Locking
How did it start?

NASA as the Nebula Plateform


Partnership with Rackspace
Date : 21st October 2010
Started as an immature project
Now: Half of Fortune 100 Companies
use OpenStack
General Architecture
Openstack Components
More than 40 projects in different categories:
Compute
Storage
Networking
Data & Analytics
Security & Identity
Management Tools
Deployment Tools
Application Services
Monitoring & Metering
Horizon

What is Horizon?
OpenStack
Horizon is a web-based graphical interface that cloud administrators and users can access to manage
OpenStack compute, storage and networking services.

Requirements
Python 2.6 or 2.7 (not compatible with Python 3.0).
An identity and authentication service endpoint: Keystone
A Compute endpoint, with all compute services (API, scheduler, compute, network, etc.) running: Nova
An Image Store endpoint: Glance
User Interface web
Based on Django and APIs
Dashboard and provided version
the visible services they are listed on keystone
Specific Zone for « admin »
Zone for « tenant » or project
Keystone

What is Keystone?

or OpenStack Identity service acts as a catalog of all OpenStack services. It provides the ability to
The Keystone
authenticate and manage user accounts and role information for the cloud environment. It is the first component to be
installed when starting an OpenStack cloud.

Keystone supports multiple forms of authentication, including login name and password, token-based credentials,
and REST API log ins, from an architectural point of view, Keystone is the simplest service in the cloud.

As for many otherOpenStack services, OpenStack Identity service uses the MariaDB/MySQL database

Keystone uses the Apache web server as the frontend, so you no longer need to start openstack-keystoneservice.
Monitoring & Metering
Services

The telemetry requirements of an OpenStack environment are vast and varied, they include use cases such
as metering, monitoring, and alarming to name a few. The scope of these uses cases is diverse and beyond
the scope of a single project and team. Currently, the telemetry project provides a set of functionality split
across multiple projects; each project designed to provide a discrete service in the telemetry space.

Ceilometer - Metering & Data Collection Service


CloudKitty - Billing and chargebacks
Monasca - Monitoring
AODH - Alarming Service
PANKO - Event, Metadata Indexing Service
Ceilometer

What is Ceilometer?

It is an OpenStack Components that meters and monitors every type of resource and it
generates alarms

Metering
Measure and record what's happening
Ceilometer meters whether you ask it to or not
you can query it later when you realize you need it
Monitoring
Notify "alarm" when one of the meters reaches a threshold
Alarming
Notify "alarm" when one of the meters reaches a threshold condition is be reached
Threshold Alarms
Combinational Alarms
Neutron

What is Neutron?

OpenStack Networking is one of the most complicated OpenStack services


OpenStack Neutron is an SDN networking project focused on delivering networking-as-a-service (NaaS) in virtual
compute environments.

components OpenStack Networking


Tenant network
Router
Security Group
Floating IP address
Port
vNIC or VIF
Neutron consists of several services that are implemented as standard
GNU/Linux daemons :
neutron-server
neutron-openvswitch-agent
neutron-l3-agent
neutron-dhcp-agent
neutron-metadata-agent
such as hostname, SSH keys, etc

Nova

What is Nova?
Nova is the
OpenStack project that provides a way to provision compute instances
Manages the instance catalog
one of the basic services
installed on all cluster computer nodes
It manages the level of abstraction of virtual equipment (processors, memory, block devices, network adapters)
Nova provides the management of instances of virtual machines addressing the hypervisor and giving such
commands as it is launching and stopping
OpenStack Compute (Nova) service is the heart of the OpenStack cloud
Its main goal is to manage basic virtual machines functions like creating, starting, stopping, etc.
Nova uses a message broker and database.
by default the database is MariaDB and the message broker is RabbitMQ
Nova
Heat
Component
Orchestration Service:
Started in Antelope
Version 18.0.0
Heat
Component
Implements an orchestration
engine
Launches composite cloud
applications based on
templates from text files
Compatible with AWS
CloudFormation
How it works
Template based orchestration in text
files
Templates specify the relationships
between resources
The templates allow creation of most
OpenStack resource types as well as
some more advanced functionality
Integrates well with software
configuration management tools such as
Puppet and Ansible.
Heat Architecture
Glance
Component
Image Service

Started in Bexar
release
Version 24.1.0
What is Glance?
Store , browse, share, distribute
and manage bootable disk images.
Used mainly with Nova since all
compute instances launch from
Glance images.
Supported Image format : raw,
vmdk, qcow , iso, ...
Support many storage backends.
Glance Architecture
glance-api accepts api calls like nova-
api
Database for storing metadata from the
registry
Storage repository for images
Has some issues in using the API in pike
and queens versions
Type of Storage
Cinder Manila Swift
Block Storage File Storage Object Storage
•Generally SCSI protocol •Files organized in •Efficient flat namespace:
objects organized by
based, directory hierarchyand
accounts, containers, object
organizedbyvolumes accessedbypathname
keys, and metadata
•Bootvolumes forVMs •File-based NAS
•HTTP / REST / URL based –
•Ephemeral vs. Persistent protocolslikeNFSand
easily scriptable,
•Not directly consumed CIFS manylanguage choices
byapplications,usually •Rich and complex •Relativelysimple interface
usedtoholda filesystem application support: compared to filestorage
•Low level storage randomaccess, •Scalable to very high object
abstractionuponwhich file multiplereaders,in- place counts
and object storage isbuilt file updates, locking,etc. •More easily scaled across


multiplegeographies

Cinder

What is Cinder?

Block Storage service (cinder) provides persistent block storage for compute instances. The Block
The OpenStack
Storage service is responsible for managing the life-cycle of block devices, from the creation and attachment of
volumes to instances, to their release.

Cinder was originally known as nova-volume when it was a component of the OpenStack Compute project, which is
known by its code name, Nova. The OpenStack Block Storage project emerged in the fall of 2012 with the OpenStack
Folsom release.

Provides persistent block storage resources to instances that they can consume via drivers for physical
infrastructure

Can be used to create volume snapshots for bootable volumes that can be detached and re-attached to a new
instance or used as a backup volume
Block storage-Cinder
Types of block storage
•Ephemeral storage
•Persistent block storage
•NovaVolume
Originally OpenStack Compute (Nova) included support for ephemeral
volumes
Used for boot/runtime storage of VMs
Volumes were typically backed by VM server files
NovaVolume had limited support persistent volumes on iSCSI Beginning
with the Folsom release,a separate persistent block storage
service,Cinder, was created
Consists of a plug-in interface for supporting various block storage
devices
Cinder Supported Devices

•Drivers are available for

Dell EqualLogic volume driver


IBM GPFS volume driver
NFS driver
SolidFire
VMware VMDK driver
XenAPINFS
XenAPI Storage Manager volume driver
Windows
SWIFT
Component
v2.29.1

Openstack's object
store
SWIFT
Component
In 2011, OpenStack Object
Storage, code-named Swift was
released
swift is used for redundant,
scalable data storage
swift uses clusters of standardized
servers to store petabytes of
accessible data
swift is used for long term storage
SWIFT
Component
objects organized by accounts,
containers, object keys, and metadata
HTTP / REST / URLbased – easily
scriptable,many language choices
Relatively simple interface compared to
file storage
Scalable to very highobject counts
More easily scaled across multiple
geographies
Ideal for relatively static data
Swift Storage Model

Users authenticate with Keystone


Each account owns a set of
containers
Containers hold a set of objects
Containers have metadata
objects contain data
objects are distributed across
object stroage/blob servers
objects also have metadata
Rings are used to map between the
names of entities stored on disk
and their physical location
Accounts and containers

https://thunderclouds.example.com/AUTH_acct/cont/obj
The ring
THANK YOU

You might also like