SlideShare a Scribd company logo
QUICK OVERVIEW
OBJECTIVE
To produce the ubiquitous Open
Source cloud computing platform that
will meet the needs of public and
private cloud providers regardless of
size, by being simple to implement
and massively scalable.
WHAT’S OPENSTACK?
Openstack is a Platform free and Libre Open Source of IaaS
Cloud Computing
WHAT’S OPENSTACK?
Openstack is a Platform free and Libre Open Source of
IaaS Cloud Computing
• Different components
• Interrelated Components
• Define component functions
• Define what services offer
WHAT’S OPENSTACK?
Openstack is a Platform free and Libre Open
Source of IaaS Cloud Computing
• Collaborative
• Open Code / Modifiable (Multiple implementations)
• Free
Managed by the nonprofit OpenStack Foundation
WHAT’S OPENSTACK?
Openstack is a Platform free and Libre Open Source of
IaaS Cloud Computing
• Infraestructure as a service
• Storage, Computing, Networking
WHAT’S OPENSTACK?
Openstack is a Platform free and Libre Open Source of
IaaS Cloud Computing
• Infraestructure as a service
• Storage, Computing, Networking
• Networks on demand
• Storage on demand
• Computing on demand
• Security groups
HISTORY
Started in July of 2010 by the NASA and
Rackspace, evolved two existing projects
• Nebula project of the NASA
• Cloud Files project of Rackspace
HISTORY/VERSIONS
Every six month has released a new version
PRINCIPAL SPONSORS
PLATINUM
GOLD
ARCHITECTURE
COMPONENTS
• DASHBOARD (HORIZON) provides a modular web-based
user interface for all the OpenStack services. With this
web GUI, you can perform most operations on your cloud
like launching an instance, assigning IP addresses and
setting access controls
• COMPUTE (NOVA): provides virtual servers upon demand,
based in images
• IMAGE (GLANCE): provides the images catalog (virtual
disks), available for use by compute service
• OBJECT STORAGE (SWIFT): Allows you to store or
retrieve files (but not mount directories like a fileserver.
ARCHITECTURE
COMPONENTS (CONT)
• BLOCK STORAGE(CYNDER): Provides persistent block
storage to guest VMs
• NETWORKING (QUANTUM): Provides "network
connectivity as a service" between interface devices
managed by other OpenStack services. The service works
by allowing users to create their own networks and then
attach interfaces to them.
• IDENTIFY (KEYSTONE): Provides the authentication and
authorization to all Openstack services and the all
services available catalog in the Openstack
implementation
ARCHITECTURE
ARCHITECTURE
ARCHITECTURE
COMPONENTS
(HORIZON)
Horizon is a modular Django web application that provides
an end user and administrator interface to OpenStack
service.
Provides support for two roles, admin and member
Ussually is deployed as mod_wsgi in Apache web server
The code is separated in reusable python modules
Need a DDBB but as it relies mostly in the another services
of Openstack, it store very little data
COMPONENTS
(HORIZON)
COMPONENTS (NOVA)
Nova is the most complicated and distributed component of
OpenStack. A large number of processes cooperate to turn
end user API requests into running virtual
nova-api - manages API calls
nova-compute - manages hypervisor calls
nova-scheduler - determines assigned host to a VM
nova-volume and nova-network are replaced in
folsom by cinder and quantum
COMPONENTS (NOVA)
• nova-api:
• Supports EC2 API, OpenStack Compute API and Admin API
• Manages the API calls inside nova service
• API frontend to OpenStack environment
• It also initiates most of the orchestration activities (such as running an
instance) as well as enforces some policy (mostly quota checks)
• nova-compute:
• Manages the VM execution on the different hypervisors
supported by OpenStack (XenAPI for XenServer/XCP, libvirt
for KVM or QEMU, VMwareAPI for VMware, etc)
• Orchestrates image usage by VM's with Glance service through
glance-api component
• Manages networks to be used by VM's through the quantum server
component
COMPONENTS (NOVA)
• nova-schedule:
• Determines in which physical host should run a given VM
based on the resources required
Nova interacts with many other OpenStack services: Keystone for
authentication, Glance for images and Horizon for web interface.
The Glance interactions are central. The API process can upload
and query Glance while nova-compute will download images for
use in launching images
ADDITIONAL
COMPONENS (NOVA)
• Queue:
• provides a central hub for passing messages between daemons.
This is usually implemented with RabbitMQ today, but could be
any AMPQ message queue (such as Apache Qpid). New to the
Folsom release is support for Zero MQ
• SQL database:
• stores most of the build-time and run-time state for a cloud
infrastructure. This includes the instance types that are
available for use, instances in use, networks available and
projects. Theoretically, OpenStack Nova can support any
database supported by SQL-Alchemy but the only databases
currently being widely used are MySQL and PostgreSQL
• nova-console, nova-vncproxy and nova-consoleauth:
• Provides console services to allow end users to access their virtual
instance's console through a proxy
COMPONENTS
DEPRECATED (NOVA)
• nova-volume:
• manages the creation, attaching and detaching of persistent
volumes to compute instances (similar functionality to Amazon’s
Elastic Block Storage). It can use volumes from a variety of
providers such as iSCSI or Rados Block Device in Ceph. A new
OpenStack projects, Cinder, will eventually replace nova-
volume functionality.
• nova-network:
• is very similar to nova-compute and nova-volume. It accepts
networking tasks from the queue and then performs tasks to
manipulate the network (such as setting up bridging interfaces
or changing iptables rules). This functionality is being
migrated to Quantum, a separate OpenStack service. In the
Folsom release, much of the functionality will be duplicated
between nova-network and Quantum.
COMPONENTS (NOVA)
NOVA-CLI
List availables image and flavors
nova image-list
nova flavor-list
Create a keypair in order to access the VM
nova keypair-add mykey > mykey.pem
Launch a VM using images and flavors
nova boot <MYMACHINE_NAME> --image "<IMAGE_ID>" –flavor <FLAVOR_ID> --key_name
<MYKEY_NAME> --file /root/.ssh/authorized_keys=my_authorized_keys
It's possible to resize a VM from a flavor to a different one
nova resize <VM_ID> <NEW_FLAVOR_ID>
And send data to the cloud-init executed on the VM
nova resize-confirm / nova resize-revert
COMPONENTS (NOVA)
NOVA-CLI
Managing security groups. Check the default one
nova secgroup-list
Each security group has an associated rule set
nova secgroup-list-rules default
Adding new rules to our security group
nova secgroup-add-rule default tcp 80 80 0.0.0.0/0
List floating ip’s in our pool
nova floating-ip-pool-list
Create new floating ip
nova floating-ip-create nova
Floating IP can be associated to a running VM
nova add-floating-ip <VM_NAME> <FLOATINGIP_IP>
COMPONENTS
(GLANCE)
Provides a VM image catalog and repository services
allowing the registration and retrieval of those.
Provides a RESTful API that allows querying of VM image
metadata as well as retrieval of the actual image
Support the retrieval of the images from multiple storages
(Filesystem based, Swift based, S3 based)
Images supported (raw, vhd, vmdk, vdi, iso, qcow2, aki, ari and
ami)
Containers supported (ovf, aki, ari and ami)
Creation image tools supported (Oz – KVM, VMBuilder - KVM,
Xen, VeeWee – KVM)
http://docs.openstack.org/trunk/openstackcompute/admin/content/
starting-images.html
COMPONENTS
(GLANCE)
• glance-api accepts Image API calls for image
discovery, image retrieval and image storage
• glance-registry stores, processes and retrieves metadata
about images (size, type, etc)
• A database to store the image metadata
• A storage repository for the actual image files
COMPONENTS
(SWIFT)
Provides object storage services
Fault-tolerance and highly scalable architecture
Designed to run on commodity hardware
Large object support (Object maximum size is 5GB)
Considerations Swift Cluster
• RAID not good for disk backend
• Proxy servers are I/O and CPU intensive
• Object, container and account services more I/O and
disk intensive
COMPONENTS
(SWIFT)
COMPONENTS
(SWIFT)
• Proxy server
• Manages the swift service infrastructure
• Look for the account, container and object, and route to
the appropriate resource
• Manages the swift API
• Provides fault-tolerance architecture for object servers
providing alternatives to failing hosts
• The ring
• Maps the logical name of a resource stored in swift to its
physical location
• Separate rings for accounts, containers and objects
• Manages how many times a partition is replication along
the swift cluster (3 by default, on different zones)
COMPONENTS
(SWIFT)
• Object server
• Blob storage server
• Objects stored as binary files + xattrs (FS supported)
• Replicas of the objects across the cluster are consistent with
the last write (if removed .ts)
• Object server - xattrs
• Extended attributes of a file provided by the filesystem
• XFS recommended by Rackspace
• Container server
• Manages the object-container relationship and some stats
about it
• Knows what objects are associated to a given container and
its total size
• Its backend is replicated along the cluster (default sqlite)
COMPONENTS
(SWIFT)
• Consistency servers · Replication
• Manages replication for objects, containers and accounts
• Capable to handle hw outages (disk failure, network outage)
• rsync for object, HTTP/rsync db for containers and accounts
• Objects stored as binary files + xattrs (FS supported)
• Replicas of the objects across the cluster are consistent with
the last write (if removed .ts)
• Consistency servers · Updaters
• Manages the update process under high load behaviours on
the swift cluster
• Consistency window
• Consistency servers · Auditors
• Check the integrity of objects, containers and accounts
• Reload from replicas those which are not consistent
COMPONENTS
(SWIFT)
• The Account Ripper
• Manages the deletion of an account and all the data
associated to it (both objects and containers)
• Undelete feature is not currently supported
COMPONENTS
(CINDER)
Provides block storage to VM's managed by Nova
Supports new third party storage drivers
Ability to create image from volume
Support for NFS as block storage
Storage backend support for(Netapp,EMC,IBM)
• A storage driver for Cinder is provided
• Allows to connect directly the storage with the
hypervisor
COMPONENTS
(CINDER)
• cinder-volume
• Manages the volume creation and the interaccion with the
backend storage
• cinder-api
• Manages the calls to the Cinder API
• cinder-scheduler
• Manages the volume location
COMPONENTS
(QUANTUM)
Provides network services to VM's running in Nova
Several backends plugins (OVS, LinuxBridge, ...)
Floating IP's (NAT)
Considerations
• Very intensive CPU use
• Very high networking load
COMPONENTS
(QUANTUM)
COMPONENTS
(QUANTUM)
• quantum-server
• Manages the Quantum service API calls
• Orchestrates the provisioning of virtual network elements
(networks, subnets, routers, ...) for its use with VM's
provided by Nova
• quantum-agents
• L3 agent: Manages the provisioning of network
connectivity to external networks, including floating IP
pools associated to those
• DHCP agent: Allocates IP address for the VM's on a given
network/subnet
COMPONENTS
(QUANTUM)
• quantum-plugins
• Provides an interface between the logical view and the
physical way (different implementations)
• The following plugins are currently supported (Open
vSwitch, Cisco UCS/Nexus, Linux Bridge, Nicira NVP, Ryu,
NEC, OpenFlow, Big Switch - Floodlight REST Proxy)
COMPONENTS
(QUANTUM)
• quantum-plugins
• Provides an interface between the logical view and the
physical way (different implementations)
• The following plugins are currently supported (Open
vSwitch, Cisco UCS/Nexus, Linux Bridge, Nicira NVP, Ryu,
NEC, OpenFlow, Big Switch - Floodlight REST Proxy)
COMPONENTS
(KEYSTONE)
The OpenStack identity service
Provides the following services: identity, token, catalog
and policy
Used by all services of the OpenStack family
Accessible through the Identity API
Supported keystone backends(Default sqlite):
Key Value Store (KVS), SQL, PAM, LDAP(just identity)
COMPONENTS
(KEYSTONE)
SERVICES
• Catalog: Provides a directory service for the endpoints of the
OpenStack services
• Policy: Provides access to resources to users based on the
permissions these users have on those
• Identity: Provides auth validation for users, tenants and roles
• Token: Manages all the token auth process, once the
user/tenant credentials have been verified
COMPONENTS
(KEYSTONE)
COMPONENTS
(KEYSTONE)
Endpoints
Keystone is not just about auth, but also a directory service
Each OpenStack service has an endpoint associated(REST
API)
The Keystone directory service provides the URL of the end
points of the different OpenStack services
HA
GLANCE
• glance-api - (Pacemaker + Corosync)
• glance-registry
HA
NOVA
Configure different instances of Nova
• Networking – use nova-network (configure all network
connections in all Nova nodes)
CINDER
• quantum-server (API) – (Pacemaker + Corosync)
• l3-agent - one per external network (active/passive)
• dhcp-agent + ovs - (active/passive)
HA
Font-end API servers
• load balanced with h/w load balancer
• use s/w LB for smaller deployments
• run nova-scheduler on each
MySQL DB
• multi-master configuration
• alternative: drbd + pacemaker in active/passive
HA
RabbitMQ service
• Pacemaker with Active-passive configuration
• Virtual IP for the service - used for rabbitmq
config in nova.conf
Glance
• Run on multiple servers
• Use another VIP in your pacemaker setup or
load-balancer
• Use swift as backend storage
HA
Compute servers
• Each run their own copy of nova-api (only
instances running on the node use this)
• nova-network (multi-host configuration) with
private network
Swift
• Run swift-proxy across all swift-storage nodes
on a small setup
HA
Storage block
Volumen with Pacemaker + iSCSI target
• CEPH / GlusterFS (Work in Progress)
QUANTUM
• quantum-server (API) – (Pacemaker + Corosync)
• l3-agent - one per external network (active/passive)
• dhcp-agent + ovs - (active/passive)
HA
Keystone
• Run on multiple servers
• Use another VIP in your pacemaker setup or
load-balancer
Horizon
• Run on multiple servers
• Use another VIP in your pacemaker setup or
load-balancer

More Related Content

What's hot (20)

PPTX
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Vietnam Open Infrastructure User Group
 
PDF
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
 
PDF
Webinar "Introduction to OpenStack"
CREATE-NET
 
PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
PDF
OpenStack Architecture
Mirantis
 
PPSX
Docker Kubernetes Istio
Araf Karsh Hamid
 
PDF
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
PPTX
Issues of OpenStack multi-region mode
Joe Huang
 
PDF
Apache Nifi Crash Course
DataWorks Summit
 
PDF
Azure Service Endpoints vs. Private Links
Matthias Güntert
 
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
PDF
RedHat OpenStack Platform Overview
indevlab
 
PDF
Openstack 101
Kamesh Pemmaraju
 
PDF
OpenStack Tutorial
Bret Piatt
 
PPTX
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
vivekkonnect
 
ODP
OpenStack Presentation
Allan Searle
 
PDF
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Kai Wähner
 
PPSX
Service Mesh - Observability
Araf Karsh Hamid
 
PPTX
OVN - Basics and deep dive
Trinath Somanchi
 
PDF
Azure DevOps Presentation
InCycleSoftware
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Vietnam Open Infrastructure User Group
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
 
Webinar "Introduction to OpenStack"
CREATE-NET
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
OpenStack Architecture
Mirantis
 
Docker Kubernetes Istio
Araf Karsh Hamid
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Issues of OpenStack multi-region mode
Joe Huang
 
Apache Nifi Crash Course
DataWorks Summit
 
Azure Service Endpoints vs. Private Links
Matthias Güntert
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
RedHat OpenStack Platform Overview
indevlab
 
Openstack 101
Kamesh Pemmaraju
 
OpenStack Tutorial
Bret Piatt
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
vivekkonnect
 
OpenStack Presentation
Allan Searle
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Kai Wähner
 
Service Mesh - Observability
Araf Karsh Hamid
 
OVN - Basics and deep dive
Trinath Somanchi
 
Azure DevOps Presentation
InCycleSoftware
 

Viewers also liked (8)

ODP
OpenStack keystone identity service
openstackindia
 
PPTX
Keystone - Openstack Identity Service
Prasad Mukhedkar
 
PDF
OpenStack keystone identity service
openstackindia
 
PPTX
OpenStack Keystone
Deepti Ramakrishna
 
PDF
Deep dive into highly available open stack architecture openstack summit va...
Arthur Berezin
 
PDF
Openstack Keystone
Kamesh Pemmaraju
 
PPTX
OpenStack GDL : Hacking keystone | 20 Octubre 2014
Victor Morales
 
PPTX
openstack keystone
Yong Luo
 
OpenStack keystone identity service
openstackindia
 
Keystone - Openstack Identity Service
Prasad Mukhedkar
 
OpenStack keystone identity service
openstackindia
 
OpenStack Keystone
Deepti Ramakrishna
 
Deep dive into highly available open stack architecture openstack summit va...
Arthur Berezin
 
Openstack Keystone
Kamesh Pemmaraju
 
OpenStack GDL : Hacking keystone | 20 Octubre 2014
Victor Morales
 
openstack keystone
Yong Luo
 
Ad

Similar to Quick overview of Openstack architecture (20)

PDF
OpenStack 101 update
Kamesh Pemmaraju
 
PPT
Openstack presentation
Sankalp Jain
 
PPTX
Cloud computing and OpenStack
Edgar Magana
 
PPTX
Introduction to openstack
Yaniv Zadka
 
PPTX
Power of OpenStack & Hadoop
Tuan Yang
 
PDF
Openstack starter-guide-diablo
babycat_feifei
 
PDF
Openstack starter-guide-diablo
锐 张
 
PPT
Introduction to Open stack - An Overview
SpringPeople
 
PPTX
Openstack: starter level
Alessandro Martellone
 
PDF
The Future of SDN in CloudStack by Chiradeep Vittal
buildacloud
 
PPTX
Intro to CloudStack
Joe Brockmeier
 
PPTX
Openstack Cactus Survey
Pjack Chen
 
PPTX
Getting Started with Apache CloudStack
Joe Brockmeier
 
PDF
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mame_2030
 
PDF
Cloud Architect Alliance #15: Openstack
Microsoft
 
PPTX
7 - Introduction to OpenStack & SDN by Ady Saputra
SDNRG ITB
 
PPTX
OpenStack 101
All Things Open
 
PPTX
OpenStack 101 - All Things Open 2015
Mark Voelker
 
PDF
OpenStack (projects 101)
Hazzim Anaya
 
PPTX
Openstack
Bhavna Mor
 
OpenStack 101 update
Kamesh Pemmaraju
 
Openstack presentation
Sankalp Jain
 
Cloud computing and OpenStack
Edgar Magana
 
Introduction to openstack
Yaniv Zadka
 
Power of OpenStack & Hadoop
Tuan Yang
 
Openstack starter-guide-diablo
babycat_feifei
 
Openstack starter-guide-diablo
锐 张
 
Introduction to Open stack - An Overview
SpringPeople
 
Openstack: starter level
Alessandro Martellone
 
The Future of SDN in CloudStack by Chiradeep Vittal
buildacloud
 
Intro to CloudStack
Joe Brockmeier
 
Openstack Cactus Survey
Pjack Chen
 
Getting Started with Apache CloudStack
Joe Brockmeier
 
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mame_2030
 
Cloud Architect Alliance #15: Openstack
Microsoft
 
7 - Introduction to OpenStack & SDN by Ady Saputra
SDNRG ITB
 
OpenStack 101
All Things Open
 
OpenStack 101 - All Things Open 2015
Mark Voelker
 
OpenStack (projects 101)
Hazzim Anaya
 
Openstack
Bhavna Mor
 
Ad

Recently uploaded (20)

DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 

Quick overview of Openstack architecture

  • 2. OBJECTIVE To produce the ubiquitous Open Source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable.
  • 3. WHAT’S OPENSTACK? Openstack is a Platform free and Libre Open Source of IaaS Cloud Computing
  • 4. WHAT’S OPENSTACK? Openstack is a Platform free and Libre Open Source of IaaS Cloud Computing • Different components • Interrelated Components • Define component functions • Define what services offer
  • 5. WHAT’S OPENSTACK? Openstack is a Platform free and Libre Open Source of IaaS Cloud Computing • Collaborative • Open Code / Modifiable (Multiple implementations) • Free Managed by the nonprofit OpenStack Foundation
  • 6. WHAT’S OPENSTACK? Openstack is a Platform free and Libre Open Source of IaaS Cloud Computing • Infraestructure as a service • Storage, Computing, Networking
  • 7. WHAT’S OPENSTACK? Openstack is a Platform free and Libre Open Source of IaaS Cloud Computing • Infraestructure as a service • Storage, Computing, Networking • Networks on demand • Storage on demand • Computing on demand • Security groups
  • 8. HISTORY Started in July of 2010 by the NASA and Rackspace, evolved two existing projects • Nebula project of the NASA • Cloud Files project of Rackspace
  • 9. HISTORY/VERSIONS Every six month has released a new version
  • 11. ARCHITECTURE COMPONENTS • DASHBOARD (HORIZON) provides a modular web-based user interface for all the OpenStack services. With this web GUI, you can perform most operations on your cloud like launching an instance, assigning IP addresses and setting access controls • COMPUTE (NOVA): provides virtual servers upon demand, based in images • IMAGE (GLANCE): provides the images catalog (virtual disks), available for use by compute service • OBJECT STORAGE (SWIFT): Allows you to store or retrieve files (but not mount directories like a fileserver.
  • 12. ARCHITECTURE COMPONENTS (CONT) • BLOCK STORAGE(CYNDER): Provides persistent block storage to guest VMs • NETWORKING (QUANTUM): Provides "network connectivity as a service" between interface devices managed by other OpenStack services. The service works by allowing users to create their own networks and then attach interfaces to them. • IDENTIFY (KEYSTONE): Provides the authentication and authorization to all Openstack services and the all services available catalog in the Openstack implementation
  • 16. COMPONENTS (HORIZON) Horizon is a modular Django web application that provides an end user and administrator interface to OpenStack service. Provides support for two roles, admin and member Ussually is deployed as mod_wsgi in Apache web server The code is separated in reusable python modules Need a DDBB but as it relies mostly in the another services of Openstack, it store very little data
  • 18. COMPONENTS (NOVA) Nova is the most complicated and distributed component of OpenStack. A large number of processes cooperate to turn end user API requests into running virtual nova-api - manages API calls nova-compute - manages hypervisor calls nova-scheduler - determines assigned host to a VM nova-volume and nova-network are replaced in folsom by cinder and quantum
  • 19. COMPONENTS (NOVA) • nova-api: • Supports EC2 API, OpenStack Compute API and Admin API • Manages the API calls inside nova service • API frontend to OpenStack environment • It also initiates most of the orchestration activities (such as running an instance) as well as enforces some policy (mostly quota checks) • nova-compute: • Manages the VM execution on the different hypervisors supported by OpenStack (XenAPI for XenServer/XCP, libvirt for KVM or QEMU, VMwareAPI for VMware, etc) • Orchestrates image usage by VM's with Glance service through glance-api component • Manages networks to be used by VM's through the quantum server component
  • 20. COMPONENTS (NOVA) • nova-schedule: • Determines in which physical host should run a given VM based on the resources required Nova interacts with many other OpenStack services: Keystone for authentication, Glance for images and Horizon for web interface. The Glance interactions are central. The API process can upload and query Glance while nova-compute will download images for use in launching images
  • 21. ADDITIONAL COMPONENS (NOVA) • Queue: • provides a central hub for passing messages between daemons. This is usually implemented with RabbitMQ today, but could be any AMPQ message queue (such as Apache Qpid). New to the Folsom release is support for Zero MQ • SQL database: • stores most of the build-time and run-time state for a cloud infrastructure. This includes the instance types that are available for use, instances in use, networks available and projects. Theoretically, OpenStack Nova can support any database supported by SQL-Alchemy but the only databases currently being widely used are MySQL and PostgreSQL • nova-console, nova-vncproxy and nova-consoleauth: • Provides console services to allow end users to access their virtual instance's console through a proxy
  • 22. COMPONENTS DEPRECATED (NOVA) • nova-volume: • manages the creation, attaching and detaching of persistent volumes to compute instances (similar functionality to Amazon’s Elastic Block Storage). It can use volumes from a variety of providers such as iSCSI or Rados Block Device in Ceph. A new OpenStack projects, Cinder, will eventually replace nova- volume functionality. • nova-network: • is very similar to nova-compute and nova-volume. It accepts networking tasks from the queue and then performs tasks to manipulate the network (such as setting up bridging interfaces or changing iptables rules). This functionality is being migrated to Quantum, a separate OpenStack service. In the Folsom release, much of the functionality will be duplicated between nova-network and Quantum.
  • 23. COMPONENTS (NOVA) NOVA-CLI List availables image and flavors nova image-list nova flavor-list Create a keypair in order to access the VM nova keypair-add mykey > mykey.pem Launch a VM using images and flavors nova boot <MYMACHINE_NAME> --image "<IMAGE_ID>" –flavor <FLAVOR_ID> --key_name <MYKEY_NAME> --file /root/.ssh/authorized_keys=my_authorized_keys It's possible to resize a VM from a flavor to a different one nova resize <VM_ID> <NEW_FLAVOR_ID> And send data to the cloud-init executed on the VM nova resize-confirm / nova resize-revert
  • 24. COMPONENTS (NOVA) NOVA-CLI Managing security groups. Check the default one nova secgroup-list Each security group has an associated rule set nova secgroup-list-rules default Adding new rules to our security group nova secgroup-add-rule default tcp 80 80 0.0.0.0/0 List floating ip’s in our pool nova floating-ip-pool-list Create new floating ip nova floating-ip-create nova Floating IP can be associated to a running VM nova add-floating-ip <VM_NAME> <FLOATINGIP_IP>
  • 25. COMPONENTS (GLANCE) Provides a VM image catalog and repository services allowing the registration and retrieval of those. Provides a RESTful API that allows querying of VM image metadata as well as retrieval of the actual image Support the retrieval of the images from multiple storages (Filesystem based, Swift based, S3 based) Images supported (raw, vhd, vmdk, vdi, iso, qcow2, aki, ari and ami) Containers supported (ovf, aki, ari and ami) Creation image tools supported (Oz – KVM, VMBuilder - KVM, Xen, VeeWee – KVM) http://docs.openstack.org/trunk/openstackcompute/admin/content/ starting-images.html
  • 26. COMPONENTS (GLANCE) • glance-api accepts Image API calls for image discovery, image retrieval and image storage • glance-registry stores, processes and retrieves metadata about images (size, type, etc) • A database to store the image metadata • A storage repository for the actual image files
  • 27. COMPONENTS (SWIFT) Provides object storage services Fault-tolerance and highly scalable architecture Designed to run on commodity hardware Large object support (Object maximum size is 5GB) Considerations Swift Cluster • RAID not good for disk backend • Proxy servers are I/O and CPU intensive • Object, container and account services more I/O and disk intensive
  • 29. COMPONENTS (SWIFT) • Proxy server • Manages the swift service infrastructure • Look for the account, container and object, and route to the appropriate resource • Manages the swift API • Provides fault-tolerance architecture for object servers providing alternatives to failing hosts • The ring • Maps the logical name of a resource stored in swift to its physical location • Separate rings for accounts, containers and objects • Manages how many times a partition is replication along the swift cluster (3 by default, on different zones)
  • 30. COMPONENTS (SWIFT) • Object server • Blob storage server • Objects stored as binary files + xattrs (FS supported) • Replicas of the objects across the cluster are consistent with the last write (if removed .ts) • Object server - xattrs • Extended attributes of a file provided by the filesystem • XFS recommended by Rackspace • Container server • Manages the object-container relationship and some stats about it • Knows what objects are associated to a given container and its total size • Its backend is replicated along the cluster (default sqlite)
  • 31. COMPONENTS (SWIFT) • Consistency servers · Replication • Manages replication for objects, containers and accounts • Capable to handle hw outages (disk failure, network outage) • rsync for object, HTTP/rsync db for containers and accounts • Objects stored as binary files + xattrs (FS supported) • Replicas of the objects across the cluster are consistent with the last write (if removed .ts) • Consistency servers · Updaters • Manages the update process under high load behaviours on the swift cluster • Consistency window • Consistency servers · Auditors • Check the integrity of objects, containers and accounts • Reload from replicas those which are not consistent
  • 32. COMPONENTS (SWIFT) • The Account Ripper • Manages the deletion of an account and all the data associated to it (both objects and containers) • Undelete feature is not currently supported
  • 33. COMPONENTS (CINDER) Provides block storage to VM's managed by Nova Supports new third party storage drivers Ability to create image from volume Support for NFS as block storage Storage backend support for(Netapp,EMC,IBM) • A storage driver for Cinder is provided • Allows to connect directly the storage with the hypervisor
  • 34. COMPONENTS (CINDER) • cinder-volume • Manages the volume creation and the interaccion with the backend storage • cinder-api • Manages the calls to the Cinder API • cinder-scheduler • Manages the volume location
  • 35. COMPONENTS (QUANTUM) Provides network services to VM's running in Nova Several backends plugins (OVS, LinuxBridge, ...) Floating IP's (NAT) Considerations • Very intensive CPU use • Very high networking load
  • 37. COMPONENTS (QUANTUM) • quantum-server • Manages the Quantum service API calls • Orchestrates the provisioning of virtual network elements (networks, subnets, routers, ...) for its use with VM's provided by Nova • quantum-agents • L3 agent: Manages the provisioning of network connectivity to external networks, including floating IP pools associated to those • DHCP agent: Allocates IP address for the VM's on a given network/subnet
  • 38. COMPONENTS (QUANTUM) • quantum-plugins • Provides an interface between the logical view and the physical way (different implementations) • The following plugins are currently supported (Open vSwitch, Cisco UCS/Nexus, Linux Bridge, Nicira NVP, Ryu, NEC, OpenFlow, Big Switch - Floodlight REST Proxy)
  • 39. COMPONENTS (QUANTUM) • quantum-plugins • Provides an interface between the logical view and the physical way (different implementations) • The following plugins are currently supported (Open vSwitch, Cisco UCS/Nexus, Linux Bridge, Nicira NVP, Ryu, NEC, OpenFlow, Big Switch - Floodlight REST Proxy)
  • 40. COMPONENTS (KEYSTONE) The OpenStack identity service Provides the following services: identity, token, catalog and policy Used by all services of the OpenStack family Accessible through the Identity API Supported keystone backends(Default sqlite): Key Value Store (KVS), SQL, PAM, LDAP(just identity)
  • 41. COMPONENTS (KEYSTONE) SERVICES • Catalog: Provides a directory service for the endpoints of the OpenStack services • Policy: Provides access to resources to users based on the permissions these users have on those • Identity: Provides auth validation for users, tenants and roles • Token: Manages all the token auth process, once the user/tenant credentials have been verified
  • 43. COMPONENTS (KEYSTONE) Endpoints Keystone is not just about auth, but also a directory service Each OpenStack service has an endpoint associated(REST API) The Keystone directory service provides the URL of the end points of the different OpenStack services
  • 44. HA GLANCE • glance-api - (Pacemaker + Corosync) • glance-registry
  • 45. HA NOVA Configure different instances of Nova • Networking – use nova-network (configure all network connections in all Nova nodes) CINDER • quantum-server (API) – (Pacemaker + Corosync) • l3-agent - one per external network (active/passive) • dhcp-agent + ovs - (active/passive)
  • 46. HA Font-end API servers • load balanced with h/w load balancer • use s/w LB for smaller deployments • run nova-scheduler on each MySQL DB • multi-master configuration • alternative: drbd + pacemaker in active/passive
  • 47. HA RabbitMQ service • Pacemaker with Active-passive configuration • Virtual IP for the service - used for rabbitmq config in nova.conf Glance • Run on multiple servers • Use another VIP in your pacemaker setup or load-balancer • Use swift as backend storage
  • 48. HA Compute servers • Each run their own copy of nova-api (only instances running on the node use this) • nova-network (multi-host configuration) with private network Swift • Run swift-proxy across all swift-storage nodes on a small setup
  • 49. HA Storage block Volumen with Pacemaker + iSCSI target • CEPH / GlusterFS (Work in Progress) QUANTUM • quantum-server (API) – (Pacemaker + Corosync) • l3-agent - one per external network (active/passive) • dhcp-agent + ovs - (active/passive)
  • 50. HA Keystone • Run on multiple servers • Use another VIP in your pacemaker setup or load-balancer Horizon • Run on multiple servers • Use another VIP in your pacemaker setup or load-balancer