OpenStack: WTF?
by Ilya Sviridov
2015
About me
● Software Engineer
● OpenStack contributor
● OpenStack MagnetoDB initiator and PTL
LinkedIn: https://www.linkedin.com/in/ilyasviridov
Twitter: @zaletniy
OpenStack is
software which controls
● large pools of compute
● storage
● networking resources
throughout a datacenter, managed through a
dashboard or via the OpenStack API.
OpenStack is
OpenStack Summit Paris. Dr. Stefan Lenz, BMW
History
What it is now?
What it is now?
How is it said about
A bit more complicated
a bit more, actually
like this
By component
● Compute (codenamed "Nova") provides virtual servers upon demand.
● Image (codenamed "Glance") provides a catalog and repository for virtual disk
images. These disk images are mostly commonly used in OpenStack
Compute.
● Dashboard (codenamed "Horizon") provides a modular web-based user
interface for all the OpenStack services. Used to perform most operations like
launching an instance, assigning IP addresses and setting access controls.
● Identity (codenamed "Keystone") provides authentication and authorization
for all the OpenStack services. It also provides a service catalog of services
within a particular OpenStack cloud.
● Object Store (codenamed "Swift") provides object storage. It allows you to
store or retrieve files (but not mount directories like a fileserver).
● Block Storage (codenamed "Cinder") provides persistent block storage to
guest VMs.
● Network (codenamed “Neutron") provides "network connectivity as a service"
between interface devices managed by other OpenStack services
Compute (Nova)
● KVM - Kernel-based Virtual Machine. The virtual disk formats that it supports
is inherited from QEMU since it uses a modified QEMU program to launch the
virtual machine.
● LXC - Linux Containers (through libvirt), use to run Linux-based virtual
machines.
● QEMU - Quick EMUlator, generally only used for development purposes.
● UML - User Mode Linux, generally only used for development purposes.
● VMware vSphere 4.1 update 1 and newer, runs VMware-based Linux and
Windows images through a connection with a vCenter server or directly with
an ESXi host.
● Xen - XenServer, Xen Cloud Platform (XCP), use to run Linux or Windows
virtual machines.
● Hyper-V - Server virtualization with Microsoft's Hyper-V, use to run Windows,
Linux, and FreeBSD virtual machines.
● Bare Metal - this driver provisions physical hardware through pluggable sub-
drivers (PXE ,IPMI)
Block Storage (Cinder)
The OpenStack Block Storage service provides persistent block storage resources
that OpenStack Compute instances can consume. This includes secondary
attached storage similar to the Amazon Elastic Block Storage (EBS) offering. In
addition, you can write images to a Block Storage device for Compute to use as a
bootable persistent instance.
Supported drivers:
● LVM
● Ceph RADOS Block Device
● GlusterFS
● NFS
● Others
Network (Neutron)
The Networking service provides an API that lets you define network connectivity
and addressing in the cloud.
Supported under layered technologies:
● Open vSwitch
● CISCO SDN
● NICIRA
● NEC SDN
● Others
Development process
Development process
● Half a year release cycle
● Design summit before every new cycle
● Development tools
○ Launchpad
○ gerrit
○ jenkins
○ Python
○ tox
○ 1000 python libs
○ 100 openstack python libs called oslo.{something}
● Communication tools
○ IRC at FreeNode #openstack-dev, #openstack-{something}
○ Mail list openstack-dev, openstack-tc
New feature development
● Choose if it should be new component or already existing one
● Announce new component or idea to community via blueprint with
specification, discuss in IRC or/and mail list, receive some approvment
● Implement idea and publish code in openstack gerrit
● Receive two +2 and approve
● Wait for next release of OpenStack where your functionality landed
● Provide bug fixing and support of your feature
Some deployments
CERN
3 PB per custer
50000 + 35000 core
PayPal
80000 VMs (according to Forbes)
TH-2
16000 nodes
32000 cores
1PB of RAM, 12.4PB of Storage
Q&A
References
http://stackalytics.com
http://superuser.openstack.org/articles/openstack-user-survey-insights-november-2014
https://www.openstack.org/assets/presentation-media/How-to-Deploy-OpenStack-on-Tianhe-2-Supercomputer-2.pdf
http://docs.openstack.org/juno/config-reference/content/section_compute-hypervisors.html
http://www.forbes.com/sites/reuvencohen/2013/03/26/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack/
http://www.businesscloudnews.com/2014/11/03/how-bmw-uses-openstack-to-improve-the-scalability-flexibility-of-its-cloud/
http://www.datacenterknowledge.com/archives/2014/11/03/bmw-and-time-warner-stand-up-openstack-clouds/
http://openstack-in-production.blogspot.ch/2013/10/log-handling-and-dashboards-in-cern.html
https://www.subbu.org/blog/2013/10/monitoring-and-alerting-for-openstack

Open stack wtf_(1)