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.
<ul><li>1.Comparing Open SourcePrivate Cloud (IaaS) Platforms Lance AlbertsonOSU Open Source LabAssociate Director of Operationslance@osuosl.org / @ramereth</li></ul>
<p>2. About me OSU Open Source Lab Server hosting for Open SourceProjects Open Source development projects Gentoo Developer Sysadmin Jazz trumpeter 3. Disclaimer 4. What Ill Cover Compare 4 IaaSPlatforms IaaS Components Discuss Strengths /Weaknesses Provide best uses foreach platform NOT covering PaaS orSaaS platforms 5. Background Experience Used Xen+iSCSI for several years Researched an alternative tool Picked Ganeti+KVM 3 years ago Have had excellent experience forour use case Created web front-end for Ganeti Looking at augmenting services withOpenStack 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 Im comparing 10. OpenStack History Joint project withRackspace & NASA Launched in June 2010 Enable anyone tocreate and offer cloudcomputing services Many corporationsjoined 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 SantaBarbara Company founded in 2009 to commercializethe 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 Aug2011 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-officeservers 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. ComponentComparison 19. Storage Comparison Type OpenStack Eucalyptus CloudStack GanetiDisk Imagesyes yesyes yes Block devices yes  yes yes yes Fault Tolerance yes  yes yes  yes1. 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 20. VM Image Comparison TypeOpenStack Eucalyptus CloudStack GanetiImage Service yes yesyesnoSelf Service yes yesyes no Amazon API yes yesyesno1. Ability for users to create and manage their own VM images2. Third-party applications can offer this3. Some support 21. Self Service ComparisonTypeOpenStackEucalyptusCloudStackGanetiWeb Interface yesyes yes yes Users & Quotasyesyes yes yes Console accessyesyes yes yes User management yesyes yes yes  1. Available via third-party application Ganeti Web Manager 22. Networking Comparison Type OpenStack Eucalyptus CloudStack GanetiAuto-allocationyes yesyes no Floating IPs yes yesyesnoUser defined yes yesyesnoLayer 2yes yesyesno1. Proposal submitted but not yet implemented 23. Other factors OpenStackEucalyptus CloudStackGanetiCodebase PythonJava, C JavaPython, Haskell,ShellHypervisors Xen, KVM, UML, Xen, KVM, Xen, KVM, VMware, Xen, KVM, LXC LXC, VMwareVMwareCitrix XenServerInstallation Medium LargeMedium/LargeLowRequirementsMaintenanceMany components Depends on yourMediumEasyto maintainsize1. Base on my observation and opinion 24. Ease of Installation Included via distribution Amount of upfront configuration needed for a baseinstall Ease of initialization of a clusterOpenStackEucalyptusCloudStackGanetiIncluded in UbuntuExcellent Install Guide Provide their own repos Included inDebian/UbuntuLots of configurationYum/Apt reposExcellent install guiderequiredGood DocsPuppet Labs Module Few commands forMinimal configuration Simple initializationneededinitialization 25. Strengths / WeaknessesOpenStackEucalyptusCloudStackGanetiYoung codebase Install requirementsVery GUI centric Admin centricUncertain future Configurable but notSingle java core VM DeploymentWeaknessvery customizableInitial No AWS configuration Community Inclusion AWS integration weak integrationSingle codebaseExcellent commercial Well-rounded GUIFault-tolerancesupport built-in Growing Fault-tolerance Stack is fairly simpleCustomizableStrengths community Offers a hybrid-cloud Customization of the Very simple to Corporatesolution with AWSstorage backend manage andsupport 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 CloudStackGanetiPhilosophypublic & privatehybridPrivate, highlyPrivate, node cloud, private/publiccustomizedfailure tolerant, standardizedcloudcloud,local storage APIcompatibilitystandardized APIPublic CloudSome AWSExcellent AWS Some AWS NoneCompatibilityIdeal Setting Large group ofLarge group of Medium group of Smaller group machines formachines for lotsmachines forof machines for lots of usersof semi-trusted semi-trusted highly trusted usersusers users with fault toleranceFault-toleranceSome built-in Good with recent Some built-in Fully tolerant / versionsDesigned 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 OpenSource 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. Questions? Lance Albertsonlance@osuosl.org @ramerethhttp://lancealbertson.com </p>