2. About me
● Software Engineer
● OpenStack contributor
● OpenStack MagnetoDB initiator and PTL
LinkedIn: https://www.linkedin.com/in/ilyasviridov
Twitter: @zaletniy
3. OpenStack is
software which controls
● large pools of compute
● storage
● networking resources
throughout a datacenter, managed through a
dashboard or via the OpenStack API.
12. 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
13. 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)
14. 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
15. 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
17. 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
18. 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
19. 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