all about open stack

34
Introduction Nick Jones Senior Cloud Systems Engineer at DataCentred 1

Upload: datacentred

Post on 29-Jul-2015

70 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: All about open stack

IntroductionNick Jones

Senior Cloud Systems Engineer at DataCentred

1

Page 2: All about open stack

Agenda

• Introduction to OpenStack

• What does it do

• Project history

• Who uses it

• OpenStack Components

• Core components

2

Page 3: All about open stack

Agenda, cont.

• OpenStack Architecture

• How everything fits together

• Installation

• Tools to deploy OpenStack

• Operation and Maintenance

• Care and feeding of an OpenStack installation

3

Page 4: All about open stack

What is OpenStack?"OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface."

-- https://www.openstack.org/software/

4

Page 5: All about open stack

Project History• July 2010, privately developed by RackSpace and NASA

• October 2010, first release - 'Austin'

• February 2011, 'Bexar', April 2011, 'Cactus' - 6-month development cycle starts

• April 2014, Icehouse - still security supported

• October 2014, Juno - current Production release

• April 2015, Kilo - under development5

Page 6: All about open stack

Who uses OpenStack• CERN - LHC, 4000+ physical hosts

• WalMart - entire US production traffic

• BMW

• eBay

• Disney

• Comcast

6

Page 7: All about open stack

OpenStack Components

1

1 Thanks to Sean Dague - https://dague.net

7

Page 8: All about open stack

Identity Service - Keystone• Centralized policies across users and systems

• Create users and tenants with appropriate permissions

• Integrate into existing directory services (LDAP)

• Maintains catalogue of services

8

Page 9: All about open stack

Image Service - Glance• Operating System images

• Snapshots

• Supports many formats - RAW, qcow2 (QEMU / KVM), VMDK (VMware), OVF, etc.

9

Page 10: All about open stack

Compute Service - Nova• Effectively the 'brain' of an OpenStack installation

• Manage virtualised hardware resources

• Can also provide software-defined networking

• Supports many different hypervisors - KVM, Xen, VMware ESXi, Hyper-V...

10

Page 11: All about open stack

Networking Service - Neutron• Software-defined networking component

• Users define their own virtual networks

• Manages IP address assignment

• Floating IP addresses

• Supports different back-ends - OpenvSwitch, VMware NSX, Cisco UCS, Midokura....

11

Page 12: All about open stack

Block Storage Service - Cinder• Persistent block storage to compute instances

• Support for various back-ends - Ceph, NetApp, Nexenta, SolidFire...

12

Page 13: All about open stack

Other key services• Horizon - web UI / dashboard

• Ceilometer - monitoring and metering / billing

• Swift - object and block storage

• Ceph - alternative for object and block storage

13

Page 14: All about open stack

Choice!

14

Page 15: All about open stack

Supporting Services• Presentation - Apache, nginx

• Loadbalancing - keepalived, haproxy

• Messaging - RabbitMQ

• State - MySQL / MariaDB

15

Page 16: All about open stack

Infrastructure

16

Page 17: All about open stack

Virtual machine creation

17

Page 18: All about open stack

Physical deployment

18

Page 19: All about open stack

Scale-out architecture

19

Page 20: All about open stack

Network

20

Page 21: All about open stack

Network, continued

21

Page 22: All about open stack

Installation• Manual installations untenable for any serious deployment

• Use configuration management and orchestration

• Puppet

22

Page 23: All about open stack

Deployment with Puppet• Programmatically define server and service configuration

• Relationships between services

• Driven by data

• Describe and document infrastructure

• Scalable

23

Page 24: All about open stack

Puppet, continued• OpenStack official Puppet modules

• Neutron = 8422 LOC

• Nova = 6678 LOC

• Glance = 3336 LOC

• Cinder = 6379 LOC

• Keystone = 4020 LOC

24

Page 25: All about open stack

2478 LOC to deploy OpenStack

25

Page 26: All about open stack

Foreman• Lifecycle management

• Physical and virtual

• External node classification (ENC) for Puppet - control node, network node, compute node

26

Page 27: All about open stack

Operation and Maintenance

27

Page 28: All about open stack

Monitoringcollectd, graphite, Grafana

28

Page 29: All about open stack

Monitoring, continued• ELK stack

• Elasticsearch, logstash, Kibana

• Riemann

• Icinga / Nagios

29

Page 30: All about open stack

Development• Python

• Build staging and test - OpenStack-on-OpenStack

• Devstack

• Make use of tools such as Vagrant

30

Page 31: All about open stack

PatchingGiftwrap - https://github.com/blueboxgroup/giftwrap

• Manage patches

• Security

• Features

• Fixes

• Resolve dependancies

31

Page 32: All about open stack

Problems• Developer expertise

• Tackle features like onboarding

• Gaps in features

• Networking HA still a bit of a mess

• Incomplete IPv6 support

• Hypervisor scheduling

32

Page 33: All about open stack

Problems, continued• Supporting services

• HA with RabbitMQ doesn't always work as expected

• Some services outside of 'core' less reliable

• Ceilometer in particular

• Horizon can be confusing and has some idiosyncrasies

• Nothing to stop you building your own alternative!

33

Page 34: All about open stack

Questions?

34