Comparing Ganeti to Other Private Cloud Platforms
-
date post
18-Oct-2014 -
Category
Technology
-
view
1.312 -
download
1
description
Transcript of Comparing Ganeti to Other Private Cloud Platforms
Comparing Ganeti to other Private Cloud
Platforms
Lance AlbertsonDirector
[email protected]@ramereth
About me
● OSU Open Source Lab● Server hosting for Open Source
Projects● Open Source development projects● Gentoo Developer● Sysadmin● Jazz trumpeter
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Disclaimer
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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 or Synnefo
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Major components of IaaS
● Storage● VM Image management● Self service / Web interface● Networking● Fault tolerance● User management● API / Hybrid Cloud Readiness● Installation / Maintenance
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Platforms I'm comparing
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
OpenStack History
● Joint project with Rackspace & NASA
● Launched in June 2010● Enable anyone to
create and offer cloud computing services
● Many corporations joined
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
OpenStack Components● Nova (compute)● Swift (object storage)● Glance (image service)● Horizon (gui interface)● Quantum (networking)● Cinder (block storage)● Ceilometer (metering)● Heat (cloud orchestration)● Keystone (identity management)
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
CloudStack Components
● Management Server● Hypervisor Nodes● Storage Nodes● Layers: Zone, Pod, Cluster, Host,
Primary Storage, Secondary Storage
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Ganeti History
● Started as internal Google project● Open sourced in August 2007● Used primarily for back-office
servers for Google● Focus on hardware fault-tolerance● Local block-level storage● Cheap commodity hardware
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Ganeti Third Party Add-ons● Ganeti Web Manager○ Simple IaaS management○ Permissions, groups○ Just the UI
● Synnefo○ Ganeti as a cloud service○ Cloud, API, UI○ DRBD, LVM, Shared File, RBD
(Ceph/RADOS)Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Ganeti Web Manager
● Django based● Targeted for admins primarily● Great for using Ganeti as a simple
IaaS● Allow simple console access to users● Primary Contributors:○ OSU Open Source Lab
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Ganeti Web Manager
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Ganeti Web Manager
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Synnefo
● Components○ Compute/Network/Image Service
(Cyclades)○ File Storage Service (Pithos)○ Block Storage Service (Archipelago)○ Identity Service (Astakos)
● Adding Cloud-like features to Ganeti● Major Contributor: GRNET
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Synnefo: Cluster vs. Cloud
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Synnefo: Architecture
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Building upon Ganeti
● Stable virtualization platform● Build tools to extend Ganeti● Augment Ganeti with other
technologies○ RADOS, GlusterFS, etc
● Simple approach makes sysadmins happy
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Component Comparison
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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. Via third party tools (Synnefo)2. Via an elastic block storage service3. iSCSI, OCFS2, CLVM (depends on hypervisor)
4. Primary storage method5. Uses rsync in the backend6. Not added until version 3.0, uses DRBD7. Parts are built-in, Storage is on your own
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
VM Image ComparisonType OpenStack Eucalyptus CloudStack Ganeti
Image Service yes yes yes yes [2]
Self Service [1] yes yes yes yes [2]
Amazon API yes [3] yes yes yes [3]
1. Ability for users to create and manage their own VM images
2. Via third-party tools (Synnefo)3. Some support
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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 tools such as Ganeti Web Manager or Sysnefo
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Networking ComparisonType OpenStack Eucalyptus CloudStack Ganeti
Auto-allocation yes yes yes yes [1]
Floating IPs yes yes yes maybe
User defined yes yes yes yes [1]
Layer 2 yes yes yes yes [1]
1. Via third-party tool Synnefo
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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 Via Synnefo
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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 third-party
applications
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Trying out Ganeti
● Vagrant testing environment○ https://github.com/ramereth/vagrant-ganeti
● 1-3 node testing● Operating systems
○ CentOS, Debian, Ubuntu● Walk-thru Guide PDF
○ http://goo.gl/gM2T5
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
What about the others?● OpenNebula - HPC community● Nimbus - Scientific community● oVirt - libvirt
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
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
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Comparing Ganeti to other Private Cloud PlatformsLance Albertson | [email protected] | @ramereth
Questions?Lance [email protected]
@ramerethhttp://osuosl.org
http://lancealbertson.comFollow OSUOSL
@osuosl | fb.com/OSUOSLG+ "Open Source Lab"