The document provides information about an OpenStack Meetup happening on October 7th, 2014 in San Antonio, Texas. It includes details about the event location and organizers, as well as an agenda for introductory OpenStack training modules covering an overview of OpenStack, its architecture, and installing OpenStack.
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
OpenStack Meetup San Antonio Oct. 7th 2014
1. OpenStack Meetup
San Antonio TX
Oct. 7th, 2014
Twitter: Meetup:
@SAOpenStackers
#SAOpenStack
www.meetup.com/SA-Open-Stackers
2. Thank you to our sponsors:
OpenStack Meetup
San Antonio TX
Oct. 7th, 2014
3. Who am I?
• eCommerce Startup
• Built and Sold in 2007
• Rackspace Hosting
• Enterprise Sales
• Rackspace CloudBuilders
• Canonical (Ubuntu)
• Helped customers design and deploy
Ubuntu OpenStack
• Cloud Consultant
• Help clients design, operationalize,
automate and productize public &
private clouds.
12. Platform as a Service
(PaaS)
Infrastructure as a
Service (IaaS)
Software as a Service
(SaaS)
Broad Network
Access
Rapid Elasticity
Resource PoolingOn-Demand
Self Service
Cloud Defined
Essential
Characteristics
Service
Models
Deployment
Models Public Hybrid Community Private
Measured Service
NIST Cloud Model
13. Why Cloud?
• Reduce overhead on IT
• Accelerate development, enable Dev/Ops workflows
• Build against new development paradigms
• Enable Application deployment mobility
• Cloud is not necessarily the right answer for:
• Enterprise apps built on very specific non-reproducible infrastructure
• Application that are built on “infrastructure resiliency” vs. “application resiliency” models
• Cloud != Virtual Managed Hosting
• Cloud == self-service infrastructure and services
14. Amazon Web Services
• Scalable cloud architecture
• Programmable infrastructure
• Self-service consumption
model
• Cost-efficient infrastructure
solution
16. Why OpenStack for Customers?
1. Open: No vendor lock-in
2. Platform: Solution for private and public clouds
3. Cost: Low software costs, automation reduces CapEx
4. Storage: Low-cost storage solutions – Ceph, Swift, Cinder
5. Flexibility: Modular software architecture
17. DevOps – Development with Operations
• Agile/Extreme/Lean/Etc.
application development expect
rapid turn from test develop
production
• Model for Deployment built into
the test/development lifecycle
• Unit test
• Continuous Integration
• Move from semi-annual release to
daily or weekly releases
• Some iterate ~40x/day dev
production!
18. User Shift to Self Service
• Users of a public, private, and hybrid cloud all
like having the on-demand option of deploying
applications
• This typically is modeled after most public cloud
operations where the user can simply select an
application from a catalog and have it deployed
instantly
• Lifecycle management, chargeback, and
accounting need to be tied into this as well
19. What can I do now?
• Iterate on your application on a daily if not hourly basis from dev->test->production
• Deploy your application to multiple locations, with the same management toolsets
• Manage resources on demand, rather than via request/review process
• My infrastructure capacity can be programmatically scaled in real time to meet
application/consumer demands
21. What is OpenStack
• OpenStack is an open source infrastructure and
application middlewarefor building
private and public clouds.
• OpenStack is a cloud operating
system that controls large pools of
compute, storage, and networking resources
throughout a datacenter.
• OpenStack is backed up by a global
community of technologists,
developers, researchers, corporations and cloud
computing experts.
22. History
• Released July 2010
• NASA Nebula (compute (NOVA))
• Rackspace CloudFiles (object storage
(SWIFT))
• Developer Led “Design Summits”
• 6-month development to release cycle
27. OpenStack
Release Name Release Date Included Components
Austin 21 October 2010 Nova, Swift
Bexar 3 February 2011 Nova, Glance, Swift
Cactus 15 April 2011 Nova, Glance, Swift
Diablo (1st Production Release) 22 September 2011 Nova, Glance, Swift
Essex 5 April 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom 27 September 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum,
Cinder
Grizzly 4 April 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum,
Cinder
Havana 17 October 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Ceilometer, Heat
Icehouse 17 April 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Ceilometer, Heat, Trove
Juno November 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Ceilometer, Heat, Trove (more to
be added)
Kilo
28. Project Contributions - Icehouse
• Compute (Nova)
• Object Storage (Swift)
• Image Service (Glance)
• Identity (Keystone)
• Dashboard (Horizon)
• Networking (Neutron)
• Block Storage (Cinder)
• Telemetry (Telemetry)
• Orchestration (Heat)
• Database Service (Trove)
• Data processing (Sahara*)
• Bare metal (Ironic*)
• Queue service (Marconi*)
• Key management (Barbican*)
• DNS Services (Designate*)
• Common Libraries (Oslo)
* under incubation
http://stackalytics.com/
29. 1
2
2
3
3
3
3
3
3
4
4
5
5
5
7
8
8
9
12
13
15
32
37
71
iSCSI
EqualLogic
XenAPI Storage…
Custom
Huawei
Scality
Sheepdog
ZFS
Zadara
HP 3PAR
HP LeftHand
Coraid
Storwize
XIV
SolidFire
SAN/Solaris
Xenapi
Nexenta
SAN/HP
Windows
EMC
GlusterFS
NetApp
NFS
260
77
138
Other
Ceph
LVM
Storage Driver
86
35
72
Other
Chef
Puppet
Deployment tool
1
1
1
1
1
2
2
2
2
2
8
8
16
39
Anvil
CFEngine
FAI
Foreman
None
Ansible
Fuel
Other
StackOps
Substratum
Crowbar
SaltStack
PackStack
DevStack
145
50
312
Other
xen
kvm
Hypervisor
1
1
4
5
13
13
21
23
23
41
Docker
PowerVM
Other
OpenVZ
Bare Metal
hyperv
lxc
QEMU
xenserver
esx
49
49
111
Other
Centos
Ubuntu
OS
1
1
2
3
3
3
6
9
21
FreeBSD
Other
Scientific Linux
Fedora
SUSE Linux…
openSUSE
Debian
Windows
RHEL
125
101
155
Other
Linux Bridge
OpenVswitch
Network Driver
2
2
2
2
3
3
3
4
4
6
7
12
15
22
38
Arista
Custom
Mellanox
Modular
Juniper
MidoNet
PLUMgrid
NEC
Other
Ryu
Big Switch
Brocade
Hyper-V
Nicira
Cisco
2
13
20
103
171
Templated
KVS
PAM
LDAP
SQL
Identity Driver
IceHouse User Survey Results
30. Getting Started – Small Scale
• Try/Dev/Demo:
• http://devstack.org/ - OpenStack for developers
• http://trystack.org/ - Live OpenStack, funded by the Foundation
• RDO/Canonical/Suse/Fuel/Havate/Alamo/Etc. “All-in-One”
• On your laptop (VMware Workstation/Fusion allows nested VMs)
• On a single machine (Like any OS install, deploy to disk)
33. Conceptual IaaS Architecture
Integration
Billing
Identity
Management
Admin API
Monitoring
Presentation
Logic (Control)
Resources
System API
User
Dashboard
Orchestration Scheduling Policy
Image
Registry
Logging
Compute Volume Network
Orchestration
API
Portal/Catalog
?
Telemetry
Keystone
OS API(s)
Telemetry
OS API(s) Horizon
All Services All Services All Services Glance Telemetry
Nova Cinder Neutron
Heat ? Horizon
34. Important Terms:
Host Operating System (Host). The operating system that is installed on your physical server or laptop that
hosts virtual machines. This is commonly referred to as the host OS or host.
Guest Operating System (Guest). The operating system that is installed on your Virtual Machine. This virtual
instance is independent of the host OS. It is commonly referred to as guest OS or guest.
Node. In this context, refers specifically to physical servers. Each OpenStack server is a node.
Control Node. Hosts the database, Keystone (Middleware), and the servers for the scope of the
OpenStack deployment. It acts as the brains behind OpenStack and drives services such as authentication,
database, and so on.
Compute Node. Has the required Hypervisor (ESX/Xen/KVM) and is your Virtual Machine host.
Network Node. Provides Network-as-a-Service and virtual networks for OpenStack.
35. Compute Node – Top Down
• Virtual Machine
• Virtual “Bare Metal”
• Runs a full copy of the Operating System
• Runs on Hypervisor
• Hypervisor or Container
• Hypervisor - Hardware access management and segregation
• ESX, KVM, Hyper-V, Xen, LPAR
• Container - Operating System level segregation of processes
• Docker/LXC, Solaris containers
• Operating System and Process
• Linux - Apache
• Windows – IIS
• Bare Metal
• x86, ARM, other processor
• Memory
• Local “block” storage subsystem
36. Storage
• Block Storage
• A ‘block’ of bits, historically written on magnetic media
• Depending on media allows sequential only, or random access to bits
• Can be very sensitive to any disruptions, hence technologies like RAID
• File Storage
• File can be as simple as a pointer to a a set of blocks with a mechanism for chaining
blocks together
• File systems describe a higher order list of initial file blocks
• Often include error correction, journaling, and other mechanisms intended to improve
stability
• Object
• Effectively a very specialized file system type
• Reduces some of the overhead of file system based storage, removing some limits
• Act more like a massive database of “blob” items accessed by the “key” or object-id
37. Network
• Virtual networks are often abstracted via software (the virtual switch) and act the
same as their physical counterparts
• Software Defined Networks are often mechanisms used to enable applications to
manipulate the forwarding mechanism, providing application driven value
• Typically described in terms of ISO standard layers (L2, L3, etc.)
• Enable connectivity, either at the media access layer (L2), or via a concept of a
routeable address (L3).
• L4 and above is addressing within the compute domain, directing to an application
(L4) or even within the application itself (L5-7)
38. Example Reference Model
• Single Controller
• Network on Controller
• OVS + L3_agent
• Cinder on LVM
• Separate Compute
• Nova
• Cinder
• OVS + GRE Controller:
Keystone
Nova
Neutron (L2/L3)
Cinder
Horizon
Compute:
Nova
Cinder
(OVS)
Public/External: 192.168.1.0/24
Management: 172.16.0.0/24
Public/Float: 192.168.2.0/24
GRE tunnel(s)
39. Simple OpenStack Deployment Model
Nova:
Nova-api
Nova-scheduler
Nova-conductor
Nova-cert
Nova-consoleauth
Nova-objectstore
Nova-novncproxy
Nova:
Nova-compute
Neutron:
Neutron-server
Neutron-metadata-agent
Neutron-l3-agent
Neutron-dhcp-agent
Neutron-plugin-*-agent
Cinder:
Cinder-api
Cinder-scheduler
Keystone:
Keystone
Horizon:
apache2- wsgi django app
Mysql:
Mysql-server
RabbitMQ:
Rabbitmq-server
Heat:
Heat-api
Heat-api-cfn
Heat-api-cloudwatch
Heat-engine
Telemetry:
Telemetry-agent-central
Telemetry-api
Telemetry-collector
Cinder:
Cinder-volume
…
Neutron:
Neutron-agent
Nova:
Nova-compute
Neutron:
Neutron-agent
Cinder:
Cinder-volume
Linux on Bare Metal – Control server
Linux on Bare Metal with KVM Hypervisor –
compute-network-storage
Linux on Bare Metal with KVM Hypervisor
- Compute network
Linux on Bare Metal with Storage and iSCSI driver
- Storage
45. Horizon (Dashboard)
• Provides graphical interface
to user and administrators.
• Gives access, provision
and automate cloud–based
resources.
• Is a modular Django web
application.
• Deployed via mod_wsgi
in Apache.
Horizon
Horizon
Database
HTTP(S)
OpenStack
Image API
OpenStack
Identity API
OpenStack
Network API
OpenStack
Compute API
OpenStack Block
Storage API
Heat
46.
47. Nova (Compute)
• OpenStack Compute (Nova) is a cloud computing fabric controller.
• Provides a highly scalable management framework for virtual machines.
• Designed to manage and automate pools of compute resources.
• Supporting wide variety of virtualization technologies.
• Scale up and down the infrastructure to meet demand.
48. Nova (Compute)
nova-compute
nova-api
(OS, EC2, Admin) nova-console
nova-cert / object store
hypervisor
nova-consoleauth
nova-scheduler nova-network
nova-volume/cinder
volume provider
(iSCSI, etc)
nova
database Queue
Network Provider
Neutron Agent
libvrt, XenAPI,etc
cinder-api
cinder-scheduler
amqp
cinder-volume
OpenStack Image
API
OpenStack Identity
API
OpenStack Compute API vnc/vmrc
nova-conductor
49.
50. Swift (Object Storage)
• OpenStack Object Storage
project is codenamed as Swift
• Provides cloud storage
software which makes storing
and retrieving data easy
• Built for scalability, optimized
for durability, availability and
concurrency
• Ideal for storing unstructured
data that can grow without
bound
swift-proxy
account container object
account
DB
container
DB
object
store
Client Access OpenStack
Object API
OpenStack
Identity API
51.
52. Glance (Image Service)
• Provides an API that allows
querying of VM image
metadata and retrieval of the
actual image
• VM images can be stored in
various locations ranging from
a simple file system to object
storage file system like Swift
• Glance has a Component
based Architecture
• Highly Available
• Scalable to huge workloads
glance-api
glance-registry
glance
database
OpenStack
Identity API
Storage
Interface(s)
OpenStack
Image API
53.
54. Keystone (Identity Service)
• Proves authentication to
OpenStack services.
• Deals with policy management
and catalog services.
• Grant tokens for authorization,
creating policies, endpoints
• Users are assigned to
containers called tenants
• Tenants isolates resources
and identity objects
Keystone
(service & Admin APIs)
token backend
(kvs, memcache)
catalog backend
(kvs, sql, etc)
policy backend
(rules, custom)
identity backend
(kvs, pam, sql)
OpenStack Identity API
55.
56. Neutron (Network)
• An OpenStack project that
provides NaaS between
interface devices managed by
other OpenStack Services
• Provides advanced networking
options which Nova could not
provide
• Neutron is replacement for
Nova-network.
neutron–server
Neutron
agents
Neutron
Plugin(s)
Neutron
database
Queue
OpenStack
Network API
OpenStack Identity API
57.
58. Cinder (Block Storage)
• OpenStack block storage
component is codenamed as
Cinder.
• Designed to be used as a
storage resource for
OpenStack Nova project
• Cinder Manages persistent
Storage.
• Virtualizes pools of block
storage devices and provides
end users with a self service
APIs
cinder-api
cinder-volume
Cinder
database
cinder-scheduler
OpenStack
Identity API
volume
provider
(iSCSI, etc)
OpenStack Block Storage API
59.
60. Telemetry (aka Ceilometer, Metering)
• Infrastructure to collect metrics
within OpenStack
• Primary targets are monitoring
and metering
• Should be able to share
collected data with variety of
customers
• Telemetry provides single
point of contact for a user’s
billing system
Alarm Queue
Telemetry
Collector
Telemetry Agents
Database Telemetry API
Telemetry Evaluator
TelemetryNotifier
OpenStack
Identity API
Telemetry
notifications
Push/Polling
Inputs
Telemetry Data
61. Heat (AutoScale)
• Template Drive Automation
• Talks to IaaS components via
APIs
• Integration with Horizon
(template upload, and
parameter insertion), or one of
3 API inputs
• Supports Amazon Cloud
Formation
templates(XML/yaml) or
OpenStack HOT templates
• Autoscale enabled via
integration with Telemetry
project
HOT template
Heat-API
Heat-engine
Heat
database
Ceilometer
Alarms
OS Services
Nova, Neutron,
Glance, etc.
Heat Client for
API Calls
OpenStack Identity
API
62. Latest “released” Project(s)
• Trove (IceHouse):
• Open source Database as a Service( DBaaS).
• Provides scalable and reliable Cloud Database.
• Provisioning functionality for both relational and non-relational database engines
• Goal is to allow users to quickly and easily utilize the features of a relational database.
• Cloud users and database administrator can provision and complex administrative tasks
including deployment, configuration, patching, backups, restores and monitoring.
63. Incubated Projects (Juno?)
• Ironic:
• Aims to provision bare metal machines instead of virtual machines
• Forked from the Nova Bare metal driver
• By default, it will use PXE and IPMI in concert to provision and turn on/off machines
• Also supports vendor-specific plugins which may implement additional functionality.
• Marconi – Queue Service
• RESTful multi-tenant capable queues
• Sahara – Data Processing (Big Data)
• Hadoop-as-a-Service
64. Project Stages
• Concept – Described as a
project level blueprint,
example code
• Incubation – Community
support to the point where
OpenStack agrees to help
host/manage – Expected
for inclusion in the core
services
• Core – Required feature to
be consider a full
OpenStack system
68. DevStack
• Developer toolset
• Single scripted interface
• Flexible ‘per service’ download of code from git repositories
• All logs broken out in separate screen sessions
• Not intended (or really good for) production deployments
69. Distro solutions
• Each distro has it’s own method of installation
• RedHat (RedHat, CentOS, Fedora)
• PackStack, Scripted puppet runs
• Canonical (Ubuntu)
• Juju/MaaS, Canonical specific scripting and management toolset
• SUSE Linux
• Suse Cloud – Chef based toolset
• And more…
70. StackForge
• Tools for installing on your own
• A project under OpenStack CI that includes many “pieces” of projects
• Puppet based options (e.g. Puppetlabs pieces, other contribuilted modules)
• Chef based options (crowbar, etc.)
• Other non-incubated projects
• https://github.com/stackforge
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.
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter. It is all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being
Simple to implement
Massively scalable
Feature rich.
-NASA couldn’t use AWS – big data application
-Rackspace had storage (SWIFT) , needed other parts
-Canonical- in the beginning it help run the OpenSource project management infrastructure – thus the 6 mo. releases on OpenStack that mirror those of Canonical’s products
- Rackspace- funded initial summits and startup of the foundation model to jumpstart community support
-Apache did not want to take it on- so new foundation was formed to support it
In July 2010 Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack. The OpenStack project intended to help organizations which offer cloud-computing services running on standard hardware. The first official release, code-named Austin, appeared four months later, with plans to release regular updates of the software every few months. The early code came from the NASA Nebula platform and from the Rackspace Cloud Files platform. In July 2011, Ubuntu Linux developers adopted OpenStack.
OpenStack is a cloud computing project that provides an Infrastructure-as-a-Service (IaaS). It is free open source software released under the terms of the Apache License. The project is managed by the OpenStack Foundation, a non-profit corporate entity established in September 2012 to promote OpenStack software and its community.
More than 200 companies joined the project, among which are AMD, Brocade Communications Systems, Canonical, Cisco, Dell, EMC, Ericsson, Groupe Bull, HP, etc.
The technology consists of a series of interrelated projects that control pools of processing, storage, and networking resources throughout a data center, all managed through a dashboard that gives administrators control while empowering its users to provision resources through a web interface.
The OpenStack community collaborates around a six-month, time-based release cycle with frequent development milestones. During the planning phase of each release, the community gathers for the OpenStack Design Summit to facilitate developer working sessions and assemble plans.
The OpenStack Foundation, established September 2012, is an independent body providing shared resources to help achieve the OpenStack Mission by protecting, empowering, and promoting OpenStack software and the community around it. This includes users, developers and the entire ecosystem.
More details
Join the OpenStack Foundation: https://www.openstack.org/join
How to Contribute: http://opensource.com/business/14/2/how-contribute-openstack
List of companies involved and the ecosystem is rapidly growing.
Some OpenStack users include:
PayPal / eBay
NASA
CERN
Yahoo!
Rackspace Cloud
HP Public Cloud
MercadoLibre.com
AT&T
KT (formerly Korea Telecom)
Deutsche Telekom
Wikimedia Labs
Hostalia of Telef nica Group
List of companies involved and the ecosystem is rapidly growing.
Some OpenStack users include:
PayPal / eBay
NASA
CERN
Yahoo!
Rackspace Cloud
HP Public Cloud
MercadoLibre.com
AT&T
KT (formerly Korea Telecom)
Deutsche Telekom
Wikimedia Labs
Hostalia of Telef nica Group
List of companies involved and the ecosystem is rapidly growing.
Some OpenStack users include:
PayPal / eBay
NASA
CERN
Yahoo!
Rackspace Cloud
HP Public Cloud
MercadoLibre.com
AT&T
KT (formerly Korea Telecom)
Deutsche Telekom
Wikimedia Labs
Hostalia of Telef nica Group
OpenStack releases are numbered using a YYYY.N time-based scheme. For example, the first release of 2012 will have the 2012.1 version number. During the development cycle, the release is identified using a codename. Approximately monthly updates.
Those codenames are ordered alphabetical
These codenames are chosen by popular vote using the basic Launchpad poll feature
Codenames are cities or counties near where the corresponding OpenStack design summit took place.
The creation of OpenStack took an estimated 249 years of effort (COCOMO model).
In a nutshell, OpenStack has:
64,396 commits made by 1,128 contributors, with its first commit made in May, 2010.
908,491 lines of code. OpenStack is written mostly in Python with an average number of source code comments.
A code base with a long source history and increasing Y-O-Y commits.
Its scalability and flexibility are a few of the awesome features that make it a rock-solid cloud computing platform. The OpenStack core projects serve the community and its demands.
Being a cloud computing platform, OpenStack consists of many core and incubated projects which makes it really good as an IaaS cloud computing platform/Operating System. But the following points are the main components of OpenStack that are necessary to be present in the cloud to call it an OpenStack Cloud.
OpenStack has a modular architecture with various code names for its components. OpenStack has several shared services that span the three pillars of compute, storage and networking, making it easier to implement and operate your cloud. These services - including identity, image management and a web interface - integrate the OpenStack components with each other as well as external systems to provide a unified experience for users as they interact with different cloud resources.
But that’s not all. There are many additional projects that are also a part of the OpenStack “world”.
Keystone provides a single point of integration for OpenStack policy, catalog, token and authentication.
Keystone handles API requests as well as providing configurable catalog, policy, token and identity services.
Each Keystone function has a pluggable backend which allows different ways to use the particular service. Most support standard backends like LDAP or SQL, as well as Key Value Stores (KVS).
Most people will use this as a point of customization for their current authentication services.
Neutron (Formerly Quantum)
Neutron provides "network connectivity as a service" between interface devices managed by other OpenStack services (most likely Nova). The service works by allowing users to create their own networks and then attach interfaces to them. Like many of the OpenStack services, Neutron is highly configurable due to its plug-in architecture. These plug-ins accommodate different networking equipment and software. As such, the architecture and deployment can vary dramatically. In the above architecture, a simple Linux networking plug-in is shown.
neutron-server accepts API requests and then routes them to the appropriate Neutron plug-in for action.
Neutron plug-ins and agents perform the actual actions such as plugging and unplugging ports, creating networks or subnets and IP addressing. These plug-ins and agents differ depending on the vendor and technologies used in the particular cloud. Neutron ships with plug-ins and agents for: Cisco virtual and physical switches, NEC OpenFlow products, Open vSwitch, Linux bridging, the Ryu Network Operating System, and VMware NSX.
The common agents are L3 (layer 3), DHCP (dynamic host IP addressing) and the specific plug-in agent.
Most Neutron installations will also make use of a messaging queue to route information between the neutron-server and various agents as well as a database to store networking state for particular plug-ins.
Neutron will interact mainly with Nova, where it will provide networks and connectivity for its instances.
Cinder
Cinder separates out the persistent block storage functionality that was previously part of OpenStack Compute (in the form of nova-volume) into its own service. The OpenStack Block Storage API allows for manipulation of volumes, volume types (similar to compute flavors) and volume snapshots.
cinder-api accepts API requests and routes them to cinder-volume for action.
cinder-volume acts upon the requests by reading or writing to the Cinder database to maintain state, interacting with other processes (like cinder-scheduler) through a message queue and directly upon block storage providing hardware or software. It can interact with a variety of storage providers through a driver architecture. Currently, there are drivers for IBM, SolidFire, NetApp, Linux iSCSI and other storage providers.
Much like nova-scheduler, the cinder-scheduler daemon picks the optimal block storage provider node to create the volume on.
Cinder deployments will also make use of a messaging queue to route information between the cinder processes as well as a database to store volume state.
Like Neutron, Cinder will mainly interact with Nova, providing volumes for its instances.