"openstack — more than just software". tom fifield, openstack

Post on 10-May-2015

3.226 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

OpenStack is much more than a Cloud Technology platform. It's also a thriving ecosystem of companies, and a fast-moving open source project. These three forces are accelerating one of the biggest changes to IT infrastructure we've seen. Dell, HP, IBM, Intel, Red Hat and two hundred others of the largest IT names in the world are already on board. Do you like saving money on IT infrastructure? Or coding cool large-scale systems? Or automating systems to make your job easier? Come and learn about this fantastic piece of software and its community. One last point that might interest you - there's strong demand internationally for OpenStack engineers.

TRANSCRIPT

2

A Quick Technical Overview Tom Fifield

tom@openstack.org @Tom Fifield

3

Special Thanks to:

Lorin Hochstein

Nimbis Services

lorin@nimbisservices.com

@lhochstein

4

A Motivating Example

What is OpenStack?

6

OpenStack provides access to compute, networking and storage

7

Access compute resources

Start 5 servers, each with:• 2 CPUs• 4 GB of RAM• 20 GB of storage

User Suspend server "X"

Snapshot server "X"

8

Access networking resources

Create private network withsubnet 10.2.12.0/24

User

Attach IP address 203.0.113.19 to server "X"

Allow access to ports 80 and 443 for the

"web" group

9

Access block storage resources, which attach to servers like disks

Create a 100 GB data volume and attach it to

server "X"

User

Take a snapshot of volume "Q"

10

Access object storage resources, which are accessed over HTTP

Store file family.png in container "photos"

UserMake file logo.png in

container "acme" visible to everyone

11

OpenStack includes a web-based Dashboard service

12

Make requests with command-line tools or REST API

$ nova boot --image precise --flavor m1.small myinstance

Client

HTTP POST/servers

{ "server": { "imageRef": ... "flavorRef": ... "name": "myinstance", }}

13

Also... Python bindings! import novaclient.v1_1.client as nvclient creds = ... nova = nvclient.Client(**creds) image = nova.images.find(name="precise") flavor = nova.flavors.find(name="m1.small") nova.servers.create(image=image, flavor=flavor, name="myinstance")

14

ECO

SYST

EM S

IZE

(Mem

bers

+ S

pons

ors

+ Su

ppor

ters

)

CUMULATIVE CONTRIBUTORS

AVERAGE MONTHLY CONTRIBUTORS

PATCHESMERGED

1017 230 7,260

(Grizzly Release Cycle – Six Months)

230Companies TOP 10 Countries

1) United States2) China3) India4) Great Britain5) Australia

12,154 6) France7) Russia8) Canada9) Ireland10) Germany

INDI

VIDU

AL

MEM

BERS

Project is very active with many contributors

Data from May 2013

15

To Name Just a Few…

…and counting.

What does the architecture look like?

17

System is a collection of RESTful web services

18

Compute service manages VMs on compute nodes

19

Image provides a catalog of virtual machine images

20

Identity handles authentication and service catalog

21

Network service manages connectivity for VMs

22

Block storage manages block devices that attach to VMs

23

Object storage manages binary objects accessed via HTTP

24

Dashboard service provides web interface

Let’s look at an example.

26

Alice is a web developer who needs an Ubuntu server to deploy her app for testing

27

Start a server using the ‘ubuntu12.04’ image and attach it to network ‘mynet’

28

1. Get the compute endpoint and an auth token

29

2. Start a new compute server

30

3. Download the ubuntu12.04 image

31

4. Retrieve the image from the object store

32

5. Determine how to connect the VM to ‘mynet’

33

6. Start the virtual machine

34

Alice sees that her server is now running and connects to it via ssh.

… but how does that work?

36

Each OpenStack service is implemented as Linux daemons

Example: Compute Service

37

Daemons use non-blocking I/O with eventlet to handle multiple requests

OpenStackdaemon

Eventlet

38

Daemons maintain persistent state using an SQL database via SQLAlchemy

OpenStackdaemon

SQLAlchemy

39

Daemons communicate using remote procedure call over message queue

OpenStackdaemon

kombu

eventlet.green.zmq

qpidmessage

queue

40

Let’s go back to the earlier example

41

“Start a new compute server” request comes in to the nova-api daemon

42

Ask nova-scheduler to find a compute node that can fulfill the request

43

Dispatch the request to nova-compute on a node that has enough resources

44

Download the image from the Image service

45

Get network connection info from Networking service

46

Ask the hypervisor to start the virtual machine

So, what is OpenStack?

48

49

Customisation ‣  OpenStack doesn’t quite do what you need?

‣  Add it, but contribute back if possible ‣  Many things are pluggable

‣  Eg Object Storage Middleware Pipeline ‣  Eg Compute Scheduler ‣  Eg Dashboard

‣  Get a DevStack running and play!

50

Interacting with the Community ‣  All development is open

‣  Etherpad → Blueprint → Coded → Reviewed → Released ‣  Collaboratively design features ‣  Competitors working together ‣  Every line of code reviewed by at least two people ‣  An extensive continuous integration and testing infrastructure

Documentation, Translation, Infrastructure is all Collaborative

51

Interacting with the Community

l  Ask OpenStack! (http://ask.openstack.org/) l  https://wiki.openstack.org/wiki/MailingLists l  https://wiki.openstack.org/IRC l  Your local user group l  The comments section on that almost-related blog

52

See you in Hong Kong

November 5-8, register now!

λ openstack.org/summit

Design Sessions: not a classic track with speakers and presentations - generally an open brainstorming discussion on a given feature Conference Sessions: Keynotes, Case Studies, Ecosystem, Operations, Strategy, Workshops

Thank you for supporting OpenStack

Tom Fifield tom@openstack.org @Tom Fifield

Ask Questions at ask.openstack.org

top related