134 distributed systems architecture research group universidad complutense de madrid using the ogf...

34
134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino Vázquez Blanco Constantino Vázquez Blanco Open Grid Forum 28 March 15-18, 2010 Munich, Germany

Upload: elijah-wright

Post on 27-Mar-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

134

Distributed Systems Architecture Research GroupUniversidad Complutense de Madrid

Using the OGF OCCI Interface on OpenNebula/RESERVOIR

Constantino Vázquez BlancoConstantino Vázquez Blanco

Open Grid Forum 28March 15-18, 2010Munich, Germany

Page 2: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

2/34

Contents

• OpenNebula Overview

• Cloud Taxonomy

• The RESERVOIR Project

• OGF OCCI OpenNebula Implementation

• Hands On

Page 3: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

3/34

OpenNebula Overview

OpenNebula Overview

Page 4: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

4/34

OpenNebula Overview

• Orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies

• Provides internal and Cloud administration and user interfaces for the full management of the IaaS Cloud platform

Open-Source Toolkit for Building Cloud Infrastructures

• Private Cloud: Management of virtual infrastructure in the data-center or cluster

• Hybrid Cloud : Combination of private with Cloud resources

• Public Cloud: Cloud interfaces for the full management of services

What is OpenNebula?

Page 5: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

5/34

• Centralized management of VM workload and distributed infrastructures

• Support for VM placement policies: balance of workload, server consolidation…

• Dynamic resizing of the infrastructure

• Dynamic partition and isolation of clusters

• Dynamic scaling of private infrastructure to meet fluctuating demands

• Lower infrastructure expenses combining local and remote Cloud resources

For the Infrastructure Manager

For the Infrastructure User

• Faster delivery and scalability of services

• Support for heterogeneous execution environments

• Full control of the lifecycle of virtualized services management

OpenNebula OverviewBenefits

Page 6: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

6/34

• Fits into any existing data center, due to its open, flexible and extensible interfaces, architecture and components

• Builds any type of Cloud deployment

• Open source software, Apache license

• Seamless integration with any product and service in the cloud ecosystem and management tool in the data center, such as

• cloud providers

• VM managers

• virtual image managers

• service managers

• management tools

• schedulers

OpenNebula OverviewBenefits

For System Integrators

Page 7: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

7/34

OpenNebula Overview

Platform ISF VMware Vsphere Eucalyptus Nimbus OpenNebula

Virtualization Management

VMware, Xen VMware Xen, KVM XenXen, KVM,

VMware

Virtual Network Management

Yes Yes No Yes Yes

Image Management

Yes Yes Yes Yes Yes

Service Contextualizatio

nNo No No Yes Yes

Scheduling Yes Yes No No Yes

Administration Interface

Yes Yes No No Yes

Hybrid Cloud Computing

No No No No Yes

Cloud Interfaces No vCloud EC2 WSRF, EC2EC2 Query, OGF OCCI

Flexibility and Extensibility

Yes No Yes Yes Yes

Open Source No No GPL Apache Apache

Comparison with Similar Technologies

Page 8: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

8/34

OpenNebula Overview

Related Technologies• Haizea (Uchicago): Open-source VM-based lease management architecture• Several tools for service elasticity management, VM scheduling… being developed

around OpeNebula in RESERVOIR (IBM, Telefonica I+D,…)

Infrastructure Technology

• KVM Management Tools• Xen Community Project

Cloud Services

• Technology Partner of ElasticHosts• Project in the Amazon EC2 Solutions Catalog

Cloud Solutions and Tools• Libvirt CLI and Desktop Applications

Open-source Distributions• Ubuntu 9.04 (Jaunty Jackalope)• Chapter on Cloud Technologies in the Morfeo open-source community

Standardization Bodies• OGF Open Cloud Computing Interface

Ecosystem

Page 9: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

9/34

Cloud Taxonomy

Cloud Taxonomy

Page 10: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

10/34

Cloud Taxonomy

• The infrastructure is owned and used by a single organization

• Private clouds enable a flexible and agile management of local infrastructure

• Not a new model, datacenter management has been around for a while

• Internal interfaces expose additional functionality for managing virtualized resources and controlling data center operation, not exposed by cloud interfaces

• Cloud interfaces may be also provided for users requiring higher abstraction

• Centralized management

• VM placement optimization

• Dynamic resizing and partitioning of the infrastructure

• Support for heterogeneous workloads

Private Cloud

Administration Domain

Internal Interface

Page 11: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

11/34

Cloud Taxonomy

• The infrastructure is owned and used by a single organization

• Private clouds enable a flexible and agile management of local infrastructure

• Not a new model, datacenter management has been around for a while

• Internal interfaces expose additional functionality for managing virtualized resources and controlling data center operation, not exposed by cloud interfaces

• Cloud interfaces may be also provided for users requiring higher abstraction

• Centralized management

• VM placement optimization

• Dynamic resizing and partitioning of the infrastructure

• Support for heterogeneous workloads

Private Cloud

Administration Domain

Internal Interface

Page 12: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

12/34

Cloud Taxonomy

Feature Function

Internal Interface • Unix-like CLI for fully management of VM life-cycle and physical boxes• XML-RPC API and libvirt virtualization API

Scheduler • Requirement/rank matchmaker allowing the definition of workload and resource-aware allocation policies

• Support for advance reservation of capacity through Haizea

Virtualization Management

• Xen, KVM, and VMware• Generic libvirt connector (VirtualBox planned for 1.4.2)

Image Management • General mechanisms to transfer and clone VM images

Network Management • Definition of isolated virtual networks to interconnect VMs

Service Management and Contextualization

• Support for multi-tier services consisting of groups of inter-connected VMs, and their auto-configuration at boot time

Security • Management of users by the infrastructure administrator

Fault Tolerance • Persistent database backend to store host and VM information

Scalability • Tested in the management of medium scale infrastructures with hundreds of servers and VMs (no scalability issues has been reported)

Installation • Installation on a UNIX cluster front-end without requiring new services• Distributed in Ubuntu 9.04 (Jaunty Jackalope)

Flexibility and Extensibility

• Open, flexible and extensible architecture, interfaces and components, allowing its integration with any product or tool

Private Cloud

Page 13: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

13/34

Cloud Taxonomy

• Extension of Private Clouds to combine private with public Cloud-based infrastructure to enable highly scalable hosting environments

• Access to remote cloud is fully transparent to private cloud users

• Hybrid Clouds enable the dynamic scaling of capacity to meet peak or fluctuating demands

Internal Interface

Remote CloudAdministration Domain

Hybrid Cloud

Page 14: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

14/34

Cloud Taxonomy

Feature Function

Cloud Plugins • Amazon EC2 and ElasticHosts connectors

Federation • Support for simultaneous access to several remote clouds

Flexibility • Modular approach to develop new connectors

Hybrid Cloud

Page 15: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

15/34

Cloud Taxonomy

• The infrastructure is owned by a single commercial organization and used by customers

• Public clouds enable the deployment of an entire IT infrastructure without the associated capital costs, paying only for the used capacity

• Cloud interface: Simple remote management of virtualized server instances

Public Cloud

Administration Domain

Internal Interface

Cloud Interface

Remote Cloud

Page 16: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

16/34

Cloud Taxonomy

Feature Function

Cloud Interfaces for

Users• Implementation of a subset of the EC2 Query API and the OGF OCCI

API

Flexibility• The new OpenNebula Cloud API allows the implementation of the new

Cloud interfaces

Public Cloud

Page 17: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

17/34

The RESERVOIR Project

The RESERVOIR Project

Page 18: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

18/34

The RESERVOIR Project

Flagship of Cloud Computing Research in FP7

• Open source technology to enable deployment and management of complex IT services across different administrative domains

• Functionality for Service Management

•Definition

•Lifecycle

•Billing/accounting

•Elasticity/SLAs

Resources and Services Virtualization without Barriers

VMVM

VM VM

VM

• Focus on technologies that enable to build a federation of cooperating computing clouds

• A project driven by business use cases: SAP business application, Telco application, utility computing and eGov application

• 17-million and 3-year project partially funded by the European Commission

• Partners: IBM, Telefónica, UCL, Umea, SAP, Thales, SUN, Elsag Datamat, UCM, CETIC, University of Lugano, University of Messina, OGF.eeig.

Overview

Page 19: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

19/34

The RESERVOIR Project

RESERVOIR Architecture

Service Provider

Service Manager

VEE Manager(OpenNebula)

VEE Host

Service ProviderService Provider

VEE HostVEE Host

VEE Manager

VEE HostVEE HostVEE Host

VH

IV

MI

VMI

Infrastructure Providers

Organization

Page 20: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

20/34

OpenNebula OCCI Design

OpenNebula OCCI Design

Page 21: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

21/34

OpenNebula OCCI Design

• OpenNebula OCCI RESTful web service

• Launches and manages images, virtual networks and virtual machines

• Uses an unfinished draft of the OGF OCCI API specification

• Update planned for v1.6

Overview

Page 22: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

22/34

The “COMPUTE” Pool

<COMPUTES> <COMPUTE href="http://www.occi.org/compute/234"> <COMPUTE href="http://www.occi.org/compute/432"> <COMPUTE href="http://www.occi.org/compute/123"></COMPUTES>

The “STORAGE” and “NETWORK” Pool

• HTTP Methods : GET, POST

• Similar structure

• HTTP Methods : GET, POST

OpenNebula OCCI DesignPool Resources

Page 23: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

23/34

Entity Resources

The “STORAGE” Object

The “NETWORK” Object

• HTTP Methods : GET, DELETE

• HTTP Methods : GET, DELETE

<DISK> <ID>123</ID> <NAME>Ubuntu 9.04 LAMP</NAME> <SIZE>2048</SIZE> <URL>file:///images/ubuntu/jaunty.img</URL></DISK>

<NETWORK> <ID>123</ID> <NAME>Blue Network</NAME> <ADDRESS>192.168.0.1</ADDRESS> <SIZE>C</SIZE></NETWORK>

OpenNebula OCCI Design

Page 24: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

24/34

Entity Resources

The “COMPUTE” Object

• HTTP Methods : GET, PUT, DELETE

<COMPUTE> <ID>123AF</ID> <NAME>Web Server</NAME> <TYPE>small</TYPE> <STATE>running</STATE> <DISKS> <DISK image=http://www.occi.org/storage/234 dev=sda1/> <SWAP size=1024 dev=sda2/> <FS size=1024 format=ext3 dev=sda3/> </DISKS> <NICS> <NIC network=http://www.occi.org/network/123 ip="19.12.1.1"/> <NIC network=0/> </NICS></COMPUTE>

OpenNebula OCCI Design

Page 25: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

25/34

Implementation choices

• OCCI Specification incomplete (at the time)

• Assumptions:

• Representation format

• XML

• Resource attributes set by OpenNebula needs

• Specification not clear about linking resources

• XML nesting

• Specification of local devices

• OpenNebula uses unix devices with “dev” attributes

• e.g. : <DISK image="ab5c9770-7ade-012c-f1d5-00254bd6f386" dev="sda1"/>

• Management verbs not well defined (for stop, resume, etc)

• Update representation through PUT chosen

• More RESTful

• Sometimes can be misleading

• Storage POST not well defined

• Upload image through HTTP multipart

OpenNebula OCCI Design

Page 26: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

26/34

Command Line Interface

• Managing “compute” resources

• occi-compute {create, list, show, update, delete}

• Managing “network” resources

• occi-network {create, list, show, delete}

• Managing “storage” resources

• occi-storage {create, list, show, delete}

OpenNebula OCCI Design

Page 27: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

27/34

Hands On

Hands On

Page 28: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

28/34

Hands OnAccounts

Server

https://devel.cloud.opennebula.orghttps://devel.cloud.opennebula.org

Clients

$ ssh cloud02.dacya.ucm.es -l <user>$ ssh cloud02.dacya.ucm.es -l <user>

• user: “occiclient{01..40}” • password: “ogfmunich”

Page 29: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

29/34

Hands OnPrerequisites

• Software dependencies already installed

• More details in

• Cloud02 is a Ubuntu machine, for platform specific notes go to

• OCCI Client code inside OpenNebula

http://opennebula.org/documentation:rel1.4:occicghttp://opennebula.org/documentation:rel1.4:occicg

http://opennebula.org/documentation:rel1.4:noteshttp://opennebula.org/documentation:rel1.4:notes

$ git clone git://opennebula.org/one.git$ git clone git://opennebula.org/one.git

Page 30: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

30/34

Hands OnSetting up the accounts

$ cd one

$ ./install.sh –d $HOME/occiclient –c occi

$ export ONE_LOCATION=$HOME/occiclient

$ export PATH=$PATH:$ONE_LOCATION/bin

$ export OCCI_URL=https://devel.cloud.opennebula.org

$ cd one

$ ./install.sh –d $HOME/occiclient –c occi

$ export ONE_LOCATION=$HOME/occiclient

$ export PATH=$PATH:$ONE_LOCATION/bin

$ export OCCI_URL=https://devel.cloud.opennebula.org

Environment

Authorization

$ mkdir .one$ echo `whoami`:ogf28 > $HOME/.one/one_auth $ mkdir .one$ echo `whoami`:ogf28 > $HOME/.one/one_auth

• OCCI accounts• same usernames, password = ogf28

Page 31: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

31/34

Hands OnStorage

• Upload disabled in public cloud

• Common operations

• List pool

• Show details of one STORAGE resource

• Upload image

/var/tmp/occi-examples/image.xml/var/tmp/occi-examples/image.xml

Page 32: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

32/34

Hands OnCreating a Network

/var/tmp/occi-examples/network.xml/var/tmp/occi-examples/network.xml

• RANGED networks

• Network address

• Size

• Common operations

• List pool

• Create NETWORK resource

• Show details

• Delete network

Page 33: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

33/34

Hands OnManaging a Compute Resource

/var/tmp/occi-examples/network.xml/var/tmp/occi-examples/network.xml

• COMPUTES uses

• NETWORKS

• STORAGE

• Common operations

• List pool

• Create COMPUTE resource

• Show details

• Update state

• Delete compute

Page 34: 134 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Using the OGF OCCI Interface on OpenNebula/RESERVOIR Constantino

34/34

THANK YOU FOR YOUR ATTENTION!!!More info, downloads, mailing lists at

www.OpenNebula.org

Acknowledgements

OpenNebula is partially funded by the “RESERVOIR– Resources and Services Virtualization without Barriers” project

EU grant agreement 215605

www.reservoir-fp7.eu/

• Ignacio M. Llorente

• Rubén S. Montero

• Jaime Melis

OCCI Implementation on top of OpenNebula

• Javier Fontán

• Rafael Moreno