SlideShare a Scribd company logo
1 of 50
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

What's hot (20)

OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Introduction To OpenStack
Introduction To OpenStackIntroduction To OpenStack
Introduction To OpenStack
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
Nova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-serviceNova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-service
 
OpenStack Telco Architecture: OpenStack Summit Boston 2017
OpenStack Telco Architecture: OpenStack Summit Boston 2017OpenStack Telco Architecture: OpenStack Summit Boston 2017
OpenStack Telco Architecture: OpenStack Summit Boston 2017
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Open shift 4-update
Open shift 4-updateOpen shift 4-update
Open shift 4-update
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Ansible
AnsibleAnsible
Ansible
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
OpenStack networking (Neutron)
OpenStack networking (Neutron) OpenStack networking (Neutron)
OpenStack networking (Neutron)
 
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshOpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
 
CloudStack vs OpenStack
CloudStack vs OpenStackCloudStack vs OpenStack
CloudStack vs OpenStack
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Istio
Istio Istio
Istio
 
Service mesh
Service meshService mesh
Service mesh
 

Viewers also liked (8)

OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
OpenStack Keystone
OpenStack KeystoneOpenStack Keystone
OpenStack Keystone
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
 
Openstack Keystone
Openstack Keystone Openstack Keystone
Openstack Keystone
 
OpenStack GDL : Hacking keystone | 20 Octubre 2014
OpenStack GDL : Hacking keystone | 20 Octubre 2014OpenStack GDL : Hacking keystone | 20 Octubre 2014
OpenStack GDL : Hacking keystone | 20 Octubre 2014
 
openstack keystone
openstack keystoneopenstack keystone
openstack keystone
 

Similar to Quick overview of Openstack architecture

Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
Sankalp Jain
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
babycat_feifei
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
锐 张
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus Survey
Pjack Chen
 

Similar to Quick overview of Openstack architecture (20)

OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
 
Introduction to openstack
Introduction to openstackIntroduction to openstack
Introduction to openstack
 
Power of OpenStack & Hadoop
Power of OpenStack & HadoopPower of OpenStack & Hadoop
Power of OpenStack & Hadoop
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
Introduction to Open stack - An Overview
Introduction to Open stack - An Overview Introduction to Open stack - An Overview
Introduction to Open stack - An Overview
 
Openstack: starter level
Openstack: starter levelOpenstack: starter level
Openstack: starter level
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Openstack Cactus Survey
Openstack Cactus SurveyOpenstack Cactus Survey
Openstack Cactus Survey
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
Cloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackCloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: Openstack
 
7 - Introduction to OpenStack & SDN by Ady Saputra
7 - Introduction to OpenStack & SDN by Ady Saputra7 - Introduction to OpenStack & SDN by Ady Saputra
7 - Introduction to OpenStack & SDN by Ady Saputra
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
OpenStack (projects 101)
OpenStack (projects 101)OpenStack (projects 101)
OpenStack (projects 101)
 
Openstack
OpenstackOpenstack
Openstack
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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