opennebula at bit.nl

22
 OpenNebula @BIT Stefan Kooman (UNIX engineer)

Upload: opennebula-project

Post on 22-Nov-2014

714 views

Category:

Technology


0 download

DESCRIPTION

How OpenNebula is being used at BIT.nl.

TRANSCRIPT

Page 1: OpenNebula at BIT.nl

   

OpenNebula @BITStefan Kooman (UNIX engineer)

Page 2: OpenNebula at BIT.nl

   

(A) BIT (MORE)

● BIT is a business to business internet service provider specialized in colocation and managed hosting

● BIT delivers to quality aware customers the backbone of their IT and internet infrastructure

● Reliability is the focus of BIT’s services (redundancy is keyword (n+1))

Page 3: OpenNebula at BIT.nl

   

● No costs upfront for startups (no need to buy iron, support contracts, hardware management, etc.)

● Short time­to­deliver● Flexible (grow / shrink storage, VM capacity, # VM's)● Infrastructure as a Service (IaaS)

Why choose “BIT” instead of $PUBLIC_CLOUD?● Customers want to know were their data gets stored (compliancy)● Alternative for shared hosting (customers with special requirements)● Hybrid Solutions: bare metal & BIT VM's possible● ISO 27001

Why we do have a “cloud” @ BIT

Page 4: OpenNebula at BIT.nl

   

Project Requirements

● Remote console / control (stop, start, reboot)● Customer should be able to change VM 

capacity (resource pool aka Virtual DataCenter)● VM speed should be on par with bare metal● API (provisioning, billing, integration)

Page 5: OpenNebula at BIT.nl

   

Why did we choose OpenNebula?

● Simple but powerful / flexible●  Works out of the box● Easy to maintain / upgrade● (API) Interface(s)● OSS● Great community / development organization (C12G)

Page 6: OpenNebula at BIT.nl

   

Customer Cloud setup @BIT

● Ubuntu with KVM● Openvswitch (ready for SDN)● Cisco Switches● NetApp MetroCluster Storage (NFS)● Fujitsu servers

Page 7: OpenNebula at BIT.nl

   

Customer Cloud setup @BIT

● Oned: Active – standby “OpenNebula” (manual fail­over) located in seperate DataCenters

(mysql master­master repl., Pacemaker/Corosync)● Apache with Phusion Passenger (Ruby app server)● Load­balanced “front­end” (Sunstone, OCCI)● Cfengine2 configuration Management

Page 8: OpenNebula at BIT.nl

   

(Particular) Nice OpenNebula Features

● Hooks● Multiple Datastores functionality● Requirements on VM provisioning (filtering)● Virtual Data Centers (VDC) in ONE 4.6

Page 9: OpenNebula at BIT.nl

   

What do we use hooks for?

● XML­RPC call to BIT Administration & Configuration Engine (BACE)

● Live migrate VM's (on hypervisors) as well as in BACE (near­realtime) 

Page 10: OpenNebula at BIT.nl

   

Multiple Datastores

● NetApp Qtree (NFS)

 → Provide seperation (“partitioning”)

 → Billing (IOPS / Disk Space)

 → Tiering possible (SAS, SSD/SATA)● Future?

 → Distributed Object Storage (CEPH, Gluster)

Page 11: OpenNebula at BIT.nl

   

Multiple datastores (continued)

Datastore seperation (security, performance)● Production datastores @filer1, volume1

 → Customer A

 → Customer B● Test / Development @filer2, volume2

 → Test VM's

Page 12: OpenNebula at BIT.nl

   

Provisioning Requirements (filtering)

● DATASTORES● CLUSTERS● HOSTS

 → Custom Attributes (awesome \o/)

Examples:SCHED_REQUIREMENTS="WINDOWSLICENSED=\"TRUE\""

SCHED_REQUIREMENTS="DATACENTER=\”BIT­1\”"

SCHED_DS_REQUIREMENTS="NAME=system_ds_1_kvm_cluster"

Page 13: OpenNebula at BIT.nl

   

Virtual Data Center

● Virtual Resource abstraction● Pool of resources, flexibility for end­users● Possibilities for Resellers

Page 14: OpenNebula at BIT.nl

   

Integration with BIT: provisioning

Command Line Tool● Vmadm

For now funtcionality is limited:

 → stop, start, reboot, list

Future:

 → full fledged provisioning:

create, destroy, clone, resize capacity, etc.

Page 15: OpenNebula at BIT.nl

   

Integration with BIT: provisioning

Command Line Tool (interfaces with OCCI)● Vmadm

For now only:

 → stop, start, reboot, list

Future:

 → full fledged provisioning

create, destroy, clone, resize capacity, etc.

Page 16: OpenNebula at BIT.nl

   

Integration with BIT: Portal

Customer Portal Interface to securely manage all services (DNS, MAIL, VM's, MONITORING, BILLING, etc.)

● For now only:

 → stop, start, reboot

 → Out of band management: Console access (KVM)

Future:

 → full fledged provisioning

create, destroy, clone, resize capacity, etc.

Page 17: OpenNebula at BIT.nl

   

Integration with BIT: Developer perspective

So far, all good news!!!● Good documentation (and lot's of it)● Hooks (again :))

Page 18: OpenNebula at BIT.nl

   

Virtualization @BIT (currently)

Currently● Ad hoc managed KVM hypervisors (virt­

manager, virsh)● VM creation process relatively labour intensive● Live migration of VM's takes a long time (but 

could be scripted / automated)● No Integration with BACE

Page 19: OpenNebula at BIT.nl

   

Virtualization @BIT (Future)

OpenNebula Cloud dedicated for BIT services

Benefits:● Integration with BACE● New features available to do cool stuff

 → OneFlow

 → CloudFederation (BIT­3, Partner DC)

 → Internal AppMarket (ready to go BIT modified vms to play / test /develop)

 → CCS / R&D self service (no need to ask the UNIX engineers)

Page 20: OpenNebula at BIT.nl

   

Virtualization @BIT (Future)

OpenNebula Cloud dedicated for BIT services

Benefits:● Integration with BACE● New features available to do cool stuff

 → OneFlow

 → CloudFederation (BIT­3, Partner DC)

 → Internal AppMarket (ready to go BIT modified vms to play / test /develop)

 → CCS / R&D self service (no need to ask the UNIX engineers)

Page 21: OpenNebula at BIT.nl

   

Challenges

● Network Integration (SDN) (ip­allocations, vlan provisioning, routing, firewalling, load­balancing, etc.)

● DNS automation (PTR's, Forwards)

 → Probably going to solve with hooks● Snapshot integration (NetApp)

Page 22: OpenNebula at BIT.nl

   

BIT and OpenNebula

What you might expect from us● More feature requests ;)● More bug reports (hopefully not ;))● Support on mailinglist● Translate Sunstone into Dutch (to be completed in two 

days from now)● Zerocopy driver functionality (NetApp)

 → faster provisioning, less host IO