Openstack Comp 1
Openstack Comp 1
o n e n t s
comp 1
Some Core Openstack services
Components
More than 40 projects in different categories:
Compute
Storage
Networking
Data & Analytics
Security & Identity
Management Tools
Deployment Tools
Application Services
Monitoring & Metering
https://www.openstack.org/software/project-navigator/
3
Compute
Nova - Compute Service
Glance - Image Service
Ironic - Bare Metal Provisioning Service
Magnum - Container Orchestration Engine
Provisioning
Storlets - Computable Object Store
Zun - Containers Service
4
Compute - Nova
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.
5
Compute - Nova
One of the original 2 openstack projects
Provides instance lifecycle management
Multiple hypervisors supported
NOVA is not a hypervisor, but instead it manages the
hypervisor or hypervisor environment.
6
• nova-api which receives REST-api
Compute - Nova
calls from other services and
responds to them. It also intiates
most of the orchestration
activities such as instance
creation.
• ALl communication within the
project takes place with the
QUEUE in between which uses
rabbit mq.
7
Compute - Glance
OpenStack Image Service (Glance) runs the
catalog of virtual machines’ images, which
users can use as templates to run instances of
virtual machines in the cloud.
This service also delivers the backup
functionality and snapshots creation.
Glance supports many different formats,
including vhd , vmdk , vdi , iso ,qcow2 , and
ami.
8
Compute - Glance
glance-api: Accepts
Image REST API calls
for image discovery,
retrieval, and storage.
glance-registry:
Stores, processes, and
retrieves metadata
about images.Glance
itself does not store
images by themselves.
Glance uses glance-
registry api to manage
the image repository
9
Storage
Swift - Object Store
Cinder - Block Storage
Manila - Shared Filesystems
Karbor - Application Data Protection as a
Service
Freezer - Backup, Restore, and Disaster
Recovery
10
Storage - Cinder
Cinder is a Block Storage service for
OpenStack.
Instances use an ephemeral volume by default.
This kind of volume does not save the changes
made on it and reverts to its original state
when the current user relinquishes control.
One of the methods for storing data
permanently in OpenStack cloud is the use of a
block storage service named Cinder.
11
Storage - Cinder
cinder-scheduler:
Scheduler service reads
requests from the message
queue and selects the
optimal storage provider
node to create or manage
the volume by various
filters.
cinder-volume : The
service works with a
storage back end through
the drivers. It gets requests
from the scheduler and
responds to read and write
requests sent to the block
storage service.
cinder-backup: The backup
service works with the
backup back end through
the driver architecture.
12
Networking
Neutron - Networking
Designate - DNS Service
Dragonflow - Neutron Plugin
Kuryr - Container plugin
Octavia - Load Balancer
Tacker - NFV Orchestration
Tricircle - Networking Automation for Multi-
Region Deployments
13
Networking - Neutron
OpenStack Neutron is a networking project
focused on delivering networking-as-a-service
(NaaS) in virtual compute environments.
OpenStack Networking is one of the
most complicated OpenStack services.
Neutron, offers a complete software-defined
networking (SDN) solution, along with various
network services. The network services
Neutron can support include routing, firewall,
DNS, DHCP, load balancing, VPN, and more.
14
Networking - Neutron
neutron-server: The main service
of Neutron. Accepts and routes
API requests through message
bus to the OpenStack Networking
plug-ins for action.
neutron-openvswitch-agent:
Receives commands from
neutron-server and sends them
to Open vSwitch (OVS) for
execution.
neutron-l3-agent : Provides
routing and Network Address
Translation (NAT.
neutron-dhcp-agent : Manages
dnsmasq services. dnsmasq
caches DNS records, reducing the
load on upstream nameservers
neutron-metadata-agent :
Provides the ability for instances
to get information such as
hostname, SSH keys, etc.
15
Security & Identity
Keystone - Identity service
Barbican - Key Management
Congress - Governance
Mistral - Workflow service
16
Security & Identity – Keystone
The Keystone or OpenStack Identity service
acts as a catalog of all OpenStack services and
provides the ability for authenticating and
managing user accounts and role information
for the cloud environment.
Usually Keystone 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.
17
Security & Identity – Keystone
From an architectural point of view, Keystone
is the simplest service in the cloud.
As for many other OpenStack services,
OpenStack Identity service uses the
MariaDB/MySQL database.
Keystone uses the Apache web server as the
front end, so you no longer need to start
openstack-keystone service.
20
Management Tools
Horizon - Dashboard
OpenStack Client (CLI) - Command-line client
Rally - Benchmark service
Senlin - Clustering service
Vitrage - RCA (Root Cause Analysis service)
Watcher - Optimization Service
21
Management Tools – Horizon
OpenStack Dashboard (Horizon) service allows
management of cloud resources through the
web console.
Horizon gives access to only about 70-80% of
its overall functions.
OpenStack Dashboard is a Python project
aimed at providing a complete dashboard
along with an extensible framework for
building new dashboards.
Horizon aims to support all core OpenStack
projects.
22
Management Tools – Horizon
Verify Operation of the Dashboard
OpenSta
23
Application Services
Heat - Orchestration
Zaqar - Messaging Service
Murano - Application Catalog
Solum - Software Development Lifecycle
Automation
24
Application Services - Heat
Heat orchestrates the infrastructure resources
for a cloud application based on templates in
the form of text files that can be treated like
code.
Orchestration here means how each service
gets triggered.
It can also help in implementing standards
such as aws cloudformation
The main purpose of the service is to
manage the entire lifecycle of the
infrastructure and applications within
OpenStack clouds. 25
Application Service - Heat
heat-api: Processes API
requests and then sends them
to Heat engine via the
message queue
heat-api-cfn: Provides an aws
style query api that is
compatible with aws
CloudFormation
heat-engine: The main
service of Heat. The engine
does all the work of
orchestrating, launching
templates, and providing
feedback to the client.
heat-api-cloudwatch: It is
primarily required to enable
metric collection for high
availability and autoscaling
functionality.
heat: The CLI tool that
communicates with the heat-
api.
26
Monitoring & Metering
Ceilometer - Metering & Data Collection
Service
CloudKitty - Billing and chargebacks
Monasca - Monitoring
AODH - Alarming Service
PANKO - Event, Metadata Indexing Service
27
Monitoring - Ceilometer
Ceilometer's goal is to efficiently collect,
normalise and transform data produced by
OpenStack services.
The data it collects is intended to be used to
create different views and help solve various
telemetry use cases.
Its data can be used to provide customer billing,
resource tracking, and alarming capabilities
across all OpenStack core components.
28