• No results found

Comparing Open Source Private Cloud (IaaS) Platforms

N/A
N/A
Protected

Academic year: 2021

Share "Comparing Open Source Private Cloud (IaaS) Platforms"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Comparing Open Source

Private Cloud (IaaS)

Platforms

Lance Albertson

OSU Open Source Lab

Associate Director of Operations [email protected] / @ramereth

(2)

About me

● OSU Open Source Lab

● Server hosting for Open Source Projects

● Open Source development projects

● Gentoo Developer

● Sysadmin

● Jazz trumpeter

(3)

Disclaimer

(4)

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

(5)

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

(6)

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

(7)

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

(8)

Major components of IaaS

Storage

VM Image management

Self service / Web interface

Networking

Fault tolerance

User management

API / Hybrid Cloud Readiness

Installation / Maintenance

(9)

Platforms I'm comparing

(10)

OpenStack History

● Joint project with Rackspace & NASA

● Launched in June 2010

● Enable anyone to

create and offer cloud computing services

● Many corporations joined

(11)

OpenStack Components

● Nova (compute)

● Swift (object storage)

● Glance (image service)

● Keystone (identity management)

● Horizon (gui interface)

(12)

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

(13)

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

(14)

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

(15)

CloudStack Components

Management Server

Hypervisor Nodes

Storage Nodes

Layers: Zone, Pod, Cluster, Host, Primary Storage, Secondary Storage

(16)

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

(17)

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

(18)

Component

Comparison

(19)

Storage Comparison

Type 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 limitations 2. Via an elastic block storage service 3. iSCSI, OCFS2, CLVM (depends on hypervisor)

4. Primary storage method, also has sharedfs support 5. Uses rsync in the backend

6. Not added until version 3.0, uses DRBD 7. Parts are built-in, Storage is on your own

(20)

VM Image Comparison

Type 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 this 3. Some support

(21)

Self Service Comparison

Type 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

(22)

Networking Comparison

Type 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

(23)

Other factors

OpenStack 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 maintain

Depends on your size

Medium Easy

1. Base on my observation and opinion

(24)

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

(25)

Strengths / Weaknesses

OpenStack 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

(26)

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

(27)

Summary of Comparisons

OpenStack 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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

What about the others?

OpenNebula - HPC community

Nimbus - Scientific community

oVirt - libvirt

(33)

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

(34)
(35)

Questions?

Lance Albertson [email protected]

@ramereth

http://lancealbertson.com

References

Related documents

 OpenStack is becoming a default open source cloud fabric in IaaS space.  Ecosystem is an excellent opportunity to contribute to this

- One-time data center migration / consolidation - Migrating from a private data center into an IaaS cloud - Protecting private data centers in an IaaS cloud -

• In this talk we will focus on IaaS and private cloud, mainly in an Open Source Cloud Platform called OpenStack...

qEucalyptus: open-source cloud management software that implementes IaaS-style cloud computing using the existing Linux-based infrastructure.

IaaS Trusted Public S5 forms part of a wider set of IaaS services, which provide customers with a choice of platforms, including Private Hosted, Private and hybrid cloud

6.11 Mean DJF surface temperature anomaly from ERA-Interim reanalysis and climate model simulations during El Niño (left) and La Niña events (right) years defined by one

Patients were enrolled, when the attending intensive care specialist suspected infection, based on (1) suspected source which could be identified, (2) new onset organ dysfunction,

nationally if Australia were to levy a carbon tax, would domestic nuclear production become economically sustainable. Without such measures, or significant subsidies by