35
Comparing Open Source Private Cloud (IaaS) Platforms Lance Albertson OSU Open Source Lab Associate Director of Operations [email protected] / @ramereth

Comparing open source private cloud platforms

Embed Size (px)

DESCRIPTION

Private cloud computing has become an integral part of global business. While each platform provides a way for virtual machines to be deployed, implementations vary widely. It can be difficult to determine which features are right for your needs. This session will discuss the top open source private cloud platforms and provide analysis on which one is the best fit for you.

Citation preview

Page 1: Comparing open source private cloud platforms

Comparing Open Source Private Cloud (IaaS)

PlatformsLance Albertson

OSU Open Source LabAssociate Director of Operations

[email protected] / @ramereth

Page 2: Comparing open source private cloud platforms

About me● OSU Open Source Lab● Server hosting for Open Source

Projects● Open Source development projects● Gentoo Developer● Sysadmin● Jazz trumpeter

Page 3: Comparing open source private cloud platforms

Disclaimer

Page 4: Comparing open source private cloud platforms

What I'll Cover● Compare 4 IaaS

Platforms● IaaS Components● Discuss Strengths /

Weaknesses● Provide best uses for

each platform● NOT covering PaaS or

SaaS platforms

Page 5: Comparing open source private cloud platforms

Background Experience● Used Xen+iSCSI for several years● Researched an alternative tool● Picked Ganeti+KVM 3 years ago● Have had excellent experience for

our use case● Created web front-end for Ganeti● Looking at augmenting services with

OpenStack

Page 6: Comparing open source private cloud platforms

Current State of Private IaaS

● Many options● AWS API support● Maturity of the projects● Solving different problems● Complexity of the platform● Differences in backend architecture

Page 7: Comparing open source private cloud platforms

What do you want in an IaaS?● Ease of use● Fault tolerance● Low-cost of entry/maintenance● Performance● Ease of expansion● API provisioning● Compatibility with other platforms● Agility / Fast provisioning

Page 8: Comparing open source private cloud platforms

Major components of IaaS● Storage● VM Image management● Self service / Web interface● Networking● Fault tolerance● User management● API / Hybrid Cloud Readiness● Installation / Maintenance

Page 9: Comparing open source private cloud platforms

Platforms I'm comparing

Page 10: Comparing open source private cloud platforms

OpenStack History● Joint project with

Rackspace & NASA● Launched in June 2010● Enable anyone to

create and offer cloud computing services

● Many corporations joined

Page 11: Comparing open source private cloud platforms

OpenStack Components

● Nova (compute)● Swift (object storage)● Glance (image service)● Keystone (identity management)● Horizon (gui interface)

Page 12: Comparing open source private cloud platforms

Eucalyptus History

● Started as a research project at UC Santa Barbara

● Company founded in 2009 to commercialize the project

● Split into two editions:○ Open-core○ Open source

● June 2012 back to fully open source

Page 13: Comparing open source private cloud platforms

Eucalyptus Components

● Cloud Controller (CLC)○ Manages the virtualization resources and APIs○ Provides web interface

● Walrus (S3 storage)● Cluster Controller (CC)

○ Controls execution of VMs and their networking● Storage Controller (SC)

○ Provides block-level storage to VMs (EBS)● Node Controller (NC)

○ Controls VMs via hypervisors

Page 14: Comparing open source private cloud platforms

CloudStack History

● Originally developed by Cloud.com● Open Sourced in May 2010 (GPLv3)● Citrix purchased Cloud.com in Aug

2011● Donated to ASF in Feb 2012

Page 15: Comparing open source private cloud platforms

CloudStack Components

● Management Server● Hypervisor Nodes● Storage Nodes● Layers: Zone, Pod, Cluster, Host,

Primary Storage, Secondary Storage

Page 16: Comparing open source private cloud platforms

Ganeti History

● Started as internal Google● Open sourced in August 2007● Used primarily for back-office

servers for Google● Focus on hardware fault-tolerance● Local block-level storage● Cheap commidity hardware

Page 17: Comparing open source private cloud platforms

Ganeti Components

● Master daemon○ Controls overall cluster coordination

● Node daemon○ Controls node functions (storage, VMs, etc)

● Conf daemon○ Provide a fast way to query configuration

● API daemon - Provide a remote API

● Htools - Auto-allocation & rebalancing tools

Page 18: Comparing open source private cloud platforms

Component Comparison

Page 19: Comparing open source private cloud platforms

Storage ComparisonType OpenStack Eucalyptus CloudStack Ganeti

Disk Images yes yes yes yes [1]

Block devices yes [2] yes [2] yes [3] yes [4]

Fault Tolerance yes [5] yes [6] yes [7] yes

1. Disk Image support has limitations2. Via an elastic block storage service3. iSCSI, OCFS2, CLVM (depends on hypervisor)

4. Primary storage method, also has sharedfs support5. Uses rsync in the backend6. Not added until version 3.0, uses DRBD7. Parts are built-in, Storage is on your own

Page 20: Comparing open source private cloud platforms

VM Image ComparisonType OpenStack Eucalyptus CloudStack Ganeti

Image Service yes yes yes no

Self Service [1] yes yes yes no [2]

Amazon API yes [3] yes yes no

1. Ability for users to create and manage their own VM images

2. Third-party applications can offer this3. Some support

Page 21: Comparing open source private cloud platforms

Self Service ComparisonType OpenStack Eucalyptus CloudStack Ganeti

Web Interface yes yes yes yes [1]

Users & Quotas yes yes yes yes [1]

Console access yes yes yes yes [1]

User management yes yes yes yes [1]

1. Available via third-party application Ganeti Web Manager

Page 22: Comparing open source private cloud platforms

Networking ComparisonType OpenStack Eucalyptus CloudStack Ganeti

Auto-allocation yes yes yes no [1]

Floating IPs yes yes yes no

User defined yes yes yes no

Layer 2 yes yes yes no

1. Proposal submitted but not yet implemented

Page 23: Comparing open source private cloud platforms

Other factorsOpenStack Eucalyptus CloudStack Ganeti

Codebase Python Java, C Java Python, Haskell, Shell

Hypervisors Xen, KVM, UML, LXC, VMware

Xen, KVM, VMware

Xen, KVM, VMware, Citrix XenServer

Xen, KVM, LXC

Installation Requirements

Medium Large Medium/Large Low

Maintenance

[1]Many components

to maintainDepends on your

sizeMedium Easy

1. Base on my observation and opinion

Page 24: Comparing open source private cloud platforms

Ease of Installation● Included via distribution● Amount of upfront configuration needed for a base

install● Ease of initialization of a cluster

OpenStack Eucalyptus CloudStack Ganeti

Included in Ubuntu

Lots of configuration required

Puppet Labs Module

Excellent Install Guide

Yum/Apt repos

Few commands for initialization

Provide their own repos

Excellent install guide

Minimal configuration needed

Included in Debian/Ubuntu

Good Docs

Simple initialization

Page 25: Comparing open source private cloud platforms

Strengths / WeaknessesOpenStack Eucalyptus CloudStack Ganeti

Weakness

Young codebase

Uncertain future

Initial configuration

Install requirements

Configurable but not very customizable

Community Inclusion

Very GUI centric

Single java core

AWS integration weak

Admin centric

VM Deployment

No AWS integration

Strengths

Single codebase

Growing community

Corporate support

Excellent commercial support

Fault-tolerance

Offers a hybrid-cloud solution with AWS

Well-rounded GUI

Stack is fairly simple

Customization of the storage backend

Fault-tolerance built-in

Customizable

Very simple to manage and

maintain

Page 26: Comparing open source private cloud platforms

Which platform do you choose?

● Size of deployment● Types of services to be hosted● User-base● Hardware/Budget limitations● Complexity of the system● Fault tolerance importance● Compatibility with other clouds

Page 27: Comparing open source private cloud platforms

Summary of ComparisonsOpenStack Eucalyptus CloudStack Ganeti

Philosophy public & private cloud,

standardized API

hybrid private/public

cloud compatibility

Private, highly customized

cloud, standardized API

Private, node failure tolerant,

local storage

Public Cloud Compatibility

Some AWS Excellent AWS Some AWS None

Ideal Setting Large group of machines for lots of users

Large group of machines for lots of semi-trusted

users

Medium group of machines for semi-trusted

users

Smaller group of machines for highly trusted

users with fault tolerance

Fault-tolerance Some built-in Good with recent versions

Some built-in Fully tolerant / Designed

Page 28: Comparing open source private cloud platforms

Choosing Openstack● Very young project● Lots of corporate backing● Codebase is simplified (python only)● Excellent for large deployments● Web interface is young, limited● Only use the components you need● Medium complexity● Excellent APIs

Page 29: Comparing open source private cloud platforms

Choosing Eucalyptus● Fairly mature project● Lots of features● Codebase is complicated● Complex installation requirements● Great commercial support● Excellent hybrid-cloud platform● Re-focused effort back to Open

Source

Page 30: Comparing open source private cloud platforms

Choosing CloudStack● No Distribution Support● Lots of features● Medium complexity to setup● Fault-tolerance built into parts● AWS compatibility is weak● Monolithic component architecture● Recent ownership shifts● Used by several large hosting providers

Page 31: Comparing open source private cloud platforms

Choosing Ganeti● Fault tolerance built-in● Ideal for smaller clusters● Less complex, but less featureful● No EC2 compatibility● Better performance● Local storage● Only solves the compute problem● Can be augmented with GlusterFS &

other third-party applications

Page 32: Comparing open source private cloud platforms

What about the others?● OpenNebula - HPC community● Nimbus - Scientific community● oVirt - libvirt

Page 33: Comparing open source private cloud platforms

No single winner or loser● Solving different problems● No perfect solution for everything● Try each platform out first● Map out what your end goal is● Think about:

○ scalability○ manageability○ fault-tolerance

Page 34: Comparing open source private cloud platforms
Page 35: Comparing open source private cloud platforms

Questions?

Lance Albertson

[email protected]

@ramereth

http://lancealbertson.com