Open stack wtf_(1)

21
OpenStack: WTF? by Ilya Sviridov 2015

Transcript of Open stack wtf_(1)

Page 1: Open stack  wtf_(1)

OpenStack: WTF?

by Ilya Sviridov2015

Page 2: Open stack  wtf_(1)

About me

● Software Engineer● OpenStack contributor● OpenStack MagnetoDB initiator and PTL

LinkedIn: https://www.linkedin.com/in/ilyasviridovTwitter: @zaletniy

Page 3: Open stack  wtf_(1)

OpenStack is

software which controls ● large pools of compute ● storage● networking resources

throughout a datacenter, managed through a dashboard or via the OpenStack API.

Page 4: Open stack  wtf_(1)

OpenStack is

OpenStack Summit Paris. Dr. Stefan Lenz, BMW

Page 5: Open stack  wtf_(1)

History

Page 6: Open stack  wtf_(1)

What it is now?

Page 7: Open stack  wtf_(1)

What it is now?

Page 8: Open stack  wtf_(1)

How is it said about

Page 9: Open stack  wtf_(1)

A bit more complicated

Page 10: Open stack  wtf_(1)

a bit more, actually

Page 11: Open stack  wtf_(1)

like this

Page 12: Open stack  wtf_(1)

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

Page 13: Open stack  wtf_(1)

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)

Page 14: Open stack  wtf_(1)

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

Page 15: Open stack  wtf_(1)

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

Page 16: Open stack  wtf_(1)

Development process

Page 17: Open stack  wtf_(1)

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

Page 18: Open stack  wtf_(1)

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

Page 19: Open stack  wtf_(1)

Some deployments

CERN3 PB per custer50000 + 35000 corePayPal80000 VMs (according to Forbes)TH-216000 nodes32000 cores1PB of RAM, 12.4PB of Storage

Page 20: Open stack  wtf_(1)

Q&A

Page 21: Open stack  wtf_(1)

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