building iaas clouds and the art of virtual machine management: a practical guide with opennebula

24
LINUXCON EUROPE 2012 Barcelona, November 5th Rubén S. Montero [email protected] OpenNebula.org © OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula @ruben_s_montero

Upload: ruben-s-montero

Post on 18-Nov-2014

2.100 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

LINUXCON EUROPE 2012Barcelona, November 5th

Rubén S. [email protected]

OpenNebula.org

© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License

Building IaaS Clouds and the Art of VirtualMachine Management: A Practical Guide

with OpenNebula

@ruben_s_montero

Page 2: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

● What is OpenNebula?

● Design Principles & Vision

● The Anatomy of an IaaS Cloud

● Building an IaaS Cloud: A single node example

● Lessons Learned

Contents

Page 3: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

What is OpenNebula?

Simple Web Interface

Infrastructure Resources

Elastic & “infinite”

Public Cloud

A Cloud behind a firewall

Security Concerns

Improve Operations

Private Cloud

Hybrid Cloud / CloudBursting

Supplement Capacity of the Private

Utility Computing for Real

Page 4: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

What is OpenNebula?

Physical Hardware

Hypervisor

VM VM VM VM

Host

..

.Physical Hardware

Hypervisor

VM VM VM VM

Host

Monitoring & SchedulingImage Management

Multi-tenancyInterfaces & APIs

Networking

Page 5: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Design Principles and Vision

● Flexible: One solution can not fit all data-centers

● Simple: just-what-you-need components & simple protocols

● Scalable: single instance & multi-tier architectures

● Open Source: Apache License v2.0

● Provide basic components, but easily hack by others

Page 6: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

The Anatomy of an IaaS Cloud

Interfaces, Tools & API● CLI & Sunstone (GUI)● API● Cloud (EC2,OCCI)● Service Management & Catalogs

Storage● VM disks (file & block)● Image Distribution● Multiple Backends

Compute Hosts● Grouped in logical clusters● Multiple hypervisors● Monitoring

Multi-tenancy● AAA Services● Scheduling● Permissions & roles

Network● VLAN● Firewalling● Multiple Technologies

Page 7: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: A single node example

"NAS"

Image Datastore(DS_ID: 1)

KVM

VM

"NAS"

System Datastore(DS_ID: 0)

wlan0

vbr0Internet

VM

My Laptop

Page 8: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Tools & Interfaces

Command Line Interface

Tools● DevOps vs Users● Command Line Interface● GUI

○ Sunstone○ Self-service

● Cloud API's○ EC2 Query API○ OCCI

Page 9: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Hosts

Host Management● Monitoring

○ Simple - SSH probes○ Ganglia

● Cluster○ Logical set of:

■ Storage■ Network■ Hosts

○ Deal with heterogeneity

HOST HOST HOST

Page 10: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Storage

Storage● Datastore

○ Image store○ Balance I/O○ Policies○ File, iSCSI, LVM, VMFS

● Image distribution○ System Datastore○ Shared/Distributed FS○ SSH○ iSCSI○ LVM

"NAS"

Image Datastore(DS_ID: 1)

"NAS"

System Datastore(DS_ID: 0)

Page 11: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Network

"NAS"

Image Datastore(DS_ID: 1)

"NAS"

System Datastore(DS_ID: 0)

Images● Files vs Block devices

○ Performance○ Management

● Types○ Golden Images○ Persistent○ Volatile

● Context

CD-ROM with custom dataDisk images

Page 12: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Network

Networks● Define a MAC-IP address

space● Layer 2 Isolation (drivers)

○ 802.1Q (Tagging)○ OpenvSwitch○ ebtables○ Flat

● Layer 3 simple firewalling○ TCP/UDP ports○ ICMP's

● Virtual Router

VMvbr0

VM VR

Internet

Page 13: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Virtualization

Virtualization● Virtual Machine Templates

○ Capacity○ Disks○ NICs○ Other (VNC, OS,...)

● Support VM operations○ Stop/Resume○ Migration (live)○ Attach/Detach○ Shutdown/Reboot/Reset

● Hypervisor○ Agnostic○ Xen, KVM and VMware

Hypervisor

VM VM

Page 14: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Misc Services

AuthZ, AuthN & Acct.● Multi-tenancy

○ Groups○ Permissions & ACLs

● Authentication○ X509○ SSH Keys○ LDAP○ Internal

● Authorization○ Quotas

● Accounting (Billing)

Core & Scheduler● OpenNebula core

daemon○ Orchestration○ Driver based○ Fast & Robust (C++)

● Scheduler○ Matchmaking

Page 15: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Misc Services

Marketplace● Ready-to-use Image Sharing● Store meta-data● Images stored elsewhere● Meeting point Devs & Users● "one-click" deployment

Marketplace

Page 16: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Integration at a Glance

Page 17: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Building an IaaS Cloud: Integration at a Glance

Page 18: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

2005 2008 2009 2010 2011 2012

dsa group doing research…

TPv1.0 v1.2 v1.4 v2.0 v2.2 v3.0

4,000 downloads/month

European Funding

● Develop & innovate● Support the community● Collaborate

Third party scalability tests: 16000 VMs

Commercial Support

v3.2 3.4 3.8

History of the Project

Page 19: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Lessons Learned

Do not hide the Complexity, Architect the Cloud!● Let IT staff adapt/desgin/develop their cloud deployments

● Design to Automate

● Scale your deployments

Be Interoperable, Have a Rich set of API’s & Interfaces ● Be prepared for different uses cases (don’t look at the service)

● Be prepared to deal with different solutions (storage, virt., nets)

● Be prepared to interoperate at different levels

Page 20: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Join us at www.opennebula.org

@opennebula

#opennebula

dev.opennebula.org

OpenNebula/one

Page 21: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Backup: Survey - Deployment Size

Page 22: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Backup: Survey - Hypervisor

Page 23: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Backup: Survey - Distro

Page 24: Building IaaS Clouds and the Art of Virtual Machine Management: A Practical Guide with OpenNebula

Backup: Survey - Storage