Développement logiciel pour le Cloud (TLC) - 6...

10

Transcript of Développement logiciel pour le Cloud (TLC) - 6...

Page 1: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Développement logiciel pour le Cloud (TLC)6. Infrastructure-as-a-Service

Guillaume Pierre

Université de Rennes 1

Fall 2012http://www.globule.org/~gpierre/

Développement logiciel pour le Cloud (TLC) 1 / 30

Table of Contents

1 Introduction

2 OpenStack

3 OpenStack services

4 Conclusion

Développement logiciel pour le Cloud (TLC) 2 / 30

Table of Contents

1 Introduction

2 OpenStack

3 OpenStack services

4 Conclusion

Développement logiciel pour le Cloud (TLC) Introduction 3 / 30

The landscape of IaaS solutions

Cloud system License API

Amazon Web services Proprietary Proprietary

(Windows Azure) Proprietary Proprietary

OpenNebula Open-source Proprietary + OCCI

OpenStack Open-source AWS + OCCI

OpenStack was created by Rackspace and NASA

Many others joined: AMD, Intel, Canonical, SUSE Linux, Red Hat,Cisco, Dell, HP, IBM, Yahoo etc.

Développement logiciel pour le Cloud (TLC) Introduction 4 / 30

Page 2: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Table of Contents

1 Introduction

2 OpenStack

3 OpenStack services

4 Conclusion

Développement logiciel pour le Cloud (TLC) OpenStack 5 / 30

OpenStack

�OpenStack is a community of open source developers, participatingorganizations and users building and running the open source cloudoperating system.�

�OpenStack is a Cloud Operating System�

�OpenStack is a Cloud Orchestration layer�

Développement logiciel pour le Cloud (TLC) OpenStack 6 / 30

Traditional operating system

Provides APIs

Abstracts access to hardware resources

Controls access to these resources

Développement logiciel pour le Cloud (TLC) OpenStack 7 / 30

Cloud operating system

Provides APIs

Abstracts access to hardware virtualized resources

Controls access to these resources

Développement logiciel pour le Cloud (TLC) OpenStack 8 / 30

Page 3: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

What's the di�erence?

The type of resource controlledI Hardware components vs. whole systems

The scale of resources controlledI One machine vs. a data center

The location of the resourcesI Local vs. remote

Développement logiciel pour le Cloud (TLC) OpenStack 9 / 30

Interacting with OpenStack

Développement logiciel pour le Cloud (TLC) OpenStack 10 / 30

Main services

Développement logiciel pour le Cloud (TLC) OpenStack 11 / 30

Mapping services onto the underlying system architecture

Développement logiciel pour le Cloud (TLC) OpenStack 12 / 30

Page 4: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

OpenStack Nova == the computation service

Nova is the heart of OpenStack

It manages all resources, networking, authorization, andscalability needs for the cloud

Développement logiciel pour le Cloud (TLC) OpenStack 13 / 30

Challenge: �exibility

Di�erent customers want to deploy OpenStack over di�erent types ofsystems

Développement logiciel pour le Cloud (TLC) OpenStack 14 / 30

Advanced features

Cloud federationI Merge multiple clusters into a single cloudI Possibly across multiple admkinistration domains

Cloud burstingI When one cloud approaches full capacity it starts buying resources

from another cloudI And extends seamlessly to these new resourcesI Keep things transparent to the clients

Développement logiciel pour le Cloud (TLC) OpenStack 15 / 30

Table of Contents

1 Introduction

2 OpenStack

3 OpenStack services

4 Conclusion

Développement logiciel pour le Cloud (TLC) OpenStack services 16 / 30

Page 5: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Network virtualization

Goal: hide the complexity of the real networks behind simple andsecure abstractions

In the physical world:I Many applications belonging to many customersI Machines are located in di�erent clusters or data centersI Each data center has its own �rewall/NAT/address space/policies

In the virtualized world:I Many virtual networks (e.g., one per user or project)I Each isolated and independently con�gured (address allocation,

protocols used etc.)I Multiplexing physical network resources

Développement logiciel pour le Cloud (TLC) OpenStack services 17 / 30

Network virtualization

Développement logiciel pour le Cloud (TLC) OpenStack services 18 / 30

Network abstractions

Développement logiciel pour le Cloud (TLC) OpenStack services 19 / 30

Virtualizing network primitives

Développement logiciel pour le Cloud (TLC) OpenStack services 20 / 30

Page 6: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Example: �rewall traversal

Développement logiciel pour le Cloud (TLC) OpenStack services 21 / 30

Example: �rewall traversal

Développement logiciel pour le Cloud (TLC) OpenStack services 21 / 30

Example: �rewall traversal

Développement logiciel pour le Cloud (TLC) OpenStack services 21 / 30

Example: �rewall traversal

Développement logiciel pour le Cloud (TLC) OpenStack services 21 / 30

Page 7: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Example: �rewall traversal

Développement logiciel pour le Cloud (TLC) OpenStack services 21 / 30

OpenStack Quantum

Multiple, virtual, isolated networks per tenant

Create ports on networks and attach VMs

Control your own private IP address space

Access via CLI or GUI (horizon)

Support di�erent underlying technologies (VLANs, L2/L3 tunnels etc)

Extend through plugins

Développement logiciel pour le Cloud (TLC) OpenStack services 22 / 30

Example: OpenStack Nova + Quantum

Développement logiciel pour le Cloud (TLC) OpenStack services 23 / 30

Example: OpenStack Nova + Quantum

Développement logiciel pour le Cloud (TLC) OpenStack services 23 / 30

Page 8: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Example: OpenStack Nova + Quantum

Développement logiciel pour le Cloud (TLC) OpenStack services 23 / 30

Example: OpenStack Nova + Quantum

Développement logiciel pour le Cloud (TLC) OpenStack services 23 / 30

Example: OpenStack Nova + Quantum

Développement logiciel pour le Cloud (TLC) OpenStack services 23 / 30

OpenStack Swift == data storage service

Goal: redundant, scalable object storage using clusters ofcommodity servers

I Scale: terabytes to petabytes of accessible data

Data storage services are not a �lesystemI Rather: long term storage for permanent, static dataI Data can be updated if necessary but clouds assume this is infrequent

Usually: a RESTful APII GET /api-version/username/container/objectI PUT /api-version/username/container/object

Développement logiciel pour le Cloud (TLC) OpenStack services 24 / 30

Page 9: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

OpenStack Swift Architecture

Développement logiciel pour le Cloud (TLC) OpenStack services 25 / 30

OpenStack Swift Architecture

Développement logiciel pour le Cloud (TLC) OpenStack services 26 / 30

OpenStack Glance == image management service

Goal: discovering,registering, and

retrieving virtual

machine images

Glance is implemented asa layer on top of Swift

Développement logiciel pour le Cloud (TLC) OpenStack services 27 / 30

OpenStack Keystone == authentication service

Goal: single source of authentication and authorizationI Same account and credentials for starting a vm and accessing a

container in object storageI Means of expressing API endpoints

Authorization is usually handled using capabilitiesI Authenticate with the Keystone serviceI Receive a token back

F The token encapsulates an identity and a scopeF Signed by the keystone service

I Show the token for all requests to other servicesF curl -H "X-Auth-Token:999888777666"

http://my.keystone.server:35357

Développement logiciel pour le Cloud (TLC) OpenStack services 28 / 30

Page 10: Développement logiciel pour le Cloud (TLC) - 6 ...globule.org/~gpierre/wp-content/uploads/2012/11/tlc-slides6.pdf · What's the di erence? The type of resource controlled I Hardware

Table of Contents

1 Introduction

2 OpenStack

3 OpenStack services

4 Conclusion

Développement logiciel pour le Cloud (TLC) Conclusion 29 / 30

Conclusion

Infrastructure-as-a-Service is more than a simple interface tovirtualization

I Machine virtualizationI Network virtualizationI Data storage servicesI Disk image repositoriesI Identity managementI (Load balancing)I (DNS)I (Monitoring)I etc.

A good IaaS system should have:I A rich set of infrastructure servicesI Good APIs + user-friendly GUII Strong integration betweeen these services

IaaS == the operating system of a cloud platform

Développement logiciel pour le Cloud (TLC) Conclusion 30 / 30