KEMBAR78
Crash Course in Open Source Cloud Computing | PDF
Crash Course in Open Source
Cloud Computing
Build and manage clouds with free and open source tools




                                                Mark R. Hinkle
                                               VP of Community
                                                   Cloud.com
                                              mrhinkle@cloud.com
                                              mrhinkle@gmail.com
                                               Twitter: @mrhinkle
%whoami
    •  Responsible for Driving Adoption of
       CloudStack Open Source Cloud Computing
       Software
    •  Former manager of Zenoss Open Source
       project 100,000 users, 1.5 million
       downloads
    •  Former Linux Desktop Advocate (Zealot?)
    •  Former LinuxWorld Magazine Editor-in-
       Chief
    •  Open Management Consortium
       Conspirator
    •  Open Desktop Consortium Instigator
    •  Author - “Windows to Linux Business
       Desktop Migration” - Thomson
    •  NetDirector Project - Open Source
       Configuration Management Project
    •  Sometimes Author and Blogger at
       SocializedSoftware.com/NetworkWorld
    •  Start-up junkie, Glutton for punishment


2       2/27/11
Cloud Computing Adoption
  365,000 web sites are running on
   Amazon EC2 - Netcraft May 2010
  £76 billion spent on Cloud
   Computing in the U.K. in 2010 - IT
   Candor
  Cloud Computing will be a $126
   billion market by 2012 - IBM
  20% of Businesses won’t have IT
   Assets by 2012 - Gartner

Bottom Line: A large portion of our
infrastructure no longer lives in
our data center... but we gotta
manage it.



3    2/27/11
Open Source Cloud Adoption
•  41 of users prefer to deploy servers virtually,
   29.3% use virtualization whenever possible

•  Xen is 2nd most popular virtualization
   technology after VMware followed by Linux
   Kernel-Based Virtual Machines (KVM) was
   fourth with 21.3%

•  49.2% of respondents indicated they planed
   to deploy hosted Linux servers in 2010 while
   32.6% indicated that they would be deploying
   hosted Microsoft Windows.

•  50.8% indicated they used no specific
   management tools for cloud computing,
   33.3% indicated using tools provided by their
   hosting provider
Source: Zenoss Cloud Computing State of the Union - http://www.zenoss.com/in/virtualization_survey.html


4         2/27/11
Five Characteristics of Clouds

    On-demand self-service
    Broad network access
    Resource pooling
    Rapid Elasticity
    Measured Service




5     2/27/11
Three Types of “Clouds”
              Application Cloud a.k.a. Software-as-a-Service

              Single application, multi-tenancy, network-based, one-to-many delivery
              of applications, all users have same access to features.

              Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL



              Compute Cloud a.k.a. Platform-as-a-Service

              Application developer model, Application deployed to an elastic service
              that autoscales, low administrative overhead. No concept of virtual
              machines or operating system. Code it and deploy it.

              Examples: Google AppEngine, Windows Azure, Rackspace Site, Red Hat
              Makara


              Compute Cloud a.k.a Infrastructure-as-a-Service

              Servers and storage are made available in a scalable way over a
              network.

              Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack,
              Eucalyptus, Ubuntu Enterprise Cloud, OpenNebula


6   2/27/11
Use Cases for Cloud Computing

    Offer Software-as-a-Service
    Development/Test Labs
    Resell Hosting Services
    Mimic Public Cloud Computing Behind a Firewall
    High Performance Computing (HPC)




7     2/27/11
Anatomy of the Cloud




8   2/27/11
Hypervisors

Open Source

    Xen Cloud Platform (XCP)
    KVM – Kernel-based Virtualization
    VirtualBox* - Oracle supported VMs
    OpenVZ* - Container-based, Similar to Solaris Containers or BSD Zones
    LXC – User Space, chrooted installs

Proprietary
  VMware
  Citrix Xenserver
  Microsoft Hyper-V


9     2/27/11
Virtual Machine Formats
     VM	
  Format	
                        Abbrevia/on	
     Summary	
  

     Open	
  Virtualiza,on	
  Format	
     OVF	
             Evolving	
  Standard,	
  meta	
  	
  


     Virtual	
  Machine	
  Disk	
          VMDK	
            Encodes	
  a	
  single	
  disk,	
  specific	
  to	
  VMware	
  

     QEMU	
  Copy-­‐on-­‐Write	
           QCOW2	
           Allows	
  you	
  to	
  do	
  RAW	
  disk	
  with	
  
                                                             snapshoJng	
  and	
  provisioning	
  u,li,es	
  used	
  
                                                             by	
  KVM	
  
     Virtual	
  Hard	
  Disk	
             VHD	
             Virtual	
  Hard	
  disk	
  format	
  was	
  pioneered	
  by	
  
                                                             MicrosoN	
  but	
  adopted	
  by	
  many	
  
                                                             virtualiza,on	
  including	
  Xen	
  and	
  Virtual	
  Box	
  
     Amazon	
  Machine	
  Image	
          AMI	
             Amazon’s	
  virtual	
  machine	
  format	
  




 *QEMU is a processor virtualization technology that also has a utility to
 convert VM formats. (qemu-img)

10          2/27/11
Public Cloud Services & Private Clouds



Popular Public Cloud
     Services




Open Source Cloud
Computing Software




11   2/27/11
Open Source Cloud Computing
                               Year	
  Started	
     License	
     Hypervisors	
  Supported	
  

     Cloudstack	
              2010	
                GPL	
         Xenserver,	
  VMware,	
  KVM,	
  
                                                                   Hyper-­‐V	
  
     Eucalyptus	
              2008	
                GPL	
         Xen,	
  KVM,	
  VMware	
  
     OpenStack	
               2010	
                Apache	
      Xen,	
  KVM,VMware,	
  LXC,	
  	
  
                                                                   Hyper-­‐V	
  
     Ubuntu	
  Enterprise	
   2009	
  (Karmic	
      GPL	
         Xen,KVM,	
  	
  
     Server	
  (UEC)	
        Koala)	
  

     Abiquo	
                  2009	
                              VMware,	
  Hyper-­‐V	
  
                               (Development	
                      Citrix	
  XenServer	
  
                               2006)	
                             Virtual	
  Box	
  
                                                                   Xen	
  
                                                                   KVM	
  
                                                                   	
  

12        2/27/11
Here an API, there an API, Everywhere an
API
Every cloud has there own API, so how do you
avoid lock-in migrate between clouds, libraries to
write to and translate to different cloud APIs

     •  jclouds – Java, active development
     •  libcloud – Started by CloudKick, now an Apache
        incubator project
     •  deltacloud – started by Red Hat, now an Apache
        project


13   2/27/11
Open Source Cloud Storage
                                            Year	
  Started	
     License	
  

     OpenStack	
  Storage	
  (SwiN)	
       2010	
                GPL	
  

     Gluster	
  	
                          2008	
                GPL	
  
     Sheepdog	
  (KVM	
  and	
  BTRFS	
     2009	
                GPL	
  	
  
     only)	
  




14          2/27/11
15   2/27/11
Cloud Computing Changes Everything

  MeatCloud, Can’t
   Keep up with Cloud
   Computing
  Devops & Agile IT
   Philosophy
  Script Repetitive
   Tasks
  Automate, Automate,
   Automate

16   2/27/11
This Guy doesn’t Automate




17   2/27/11
DEVOPS
Cultural Changes to Help Cloud Adoption
Agile IT and DevOps movements mean
fast not loose
  Break down Silos within IT -
    Operations and Developers should
    collaborate with each other to deliver
    excellent products
  Systems Administrators need to be
    come Systems Engineers building
    automated, fault tolerant systems not
    just maintaining infrastructure
  More frequent changes, more
    outages (albeit short) to rapidly
    improve IT products and services
  Process, version control, and
    automation are important




18   2/27/11
4 Core Types of Server Management
 Tools
                   Provisioning
                   Installation of operating systems and other
                   software
                                                                 O
  Configuration Management                                       v
  Sets the parameters for servers, can specify                   e
  installation parameters                                        r	
  
                                                                 l
                  Orchestration/Automation                       a
                  Automate tasks across systems                  p
                                                                 s	
  
Monitoring
Records errors and health of IT infrastructure




 19    2/27/11
Open Source Management Tools
Adoption
•  98% of enterprises use open source systems
   management tools
•  76% indicate they prefer to use open source whenever
   possible
•  Compelling factors for using open source is flexibility
   followed by cost savings
•  50% are already using some form of cloud technology
   including but not limited to hosted applications, Amazon
   Web services and/or hosted storage
•  Top IT management priorities for 2010: monitoring,
   configuration management, patching and provisioning and
   security




20   2/27/11
Comparison of Provisioning Tools
                           Year	
  Started	
     Language	
                      License	
     Installa/on	
  
                                                                                               Targets	
  
Cobbler	
                  2007	
                Python	
                        GPL	
         Red	
  Hat,	
  
                                                                                               OpenSUSE	
  
                                                                                               Fedora,	
  Debian,	
  
                                                                                               Ubuntu	
  
Fully	
  Automa,c	
        2000	
                Perl	
                          GPL	
         Debian	
  
Installa,on	
  (FAI)	
  

Kickstart	
                ?	
                   Python	
                        GPL	
         Most	
  .deb	
  and	
  
                                                                                               RPM	
  based	
  Linux	
  
                                                                                               distros	
  
Spacewalk	
                2008	
                Perl,	
  Python,	
  Java	
   GPL	
  	
        Fedora,	
  Centos	
  

Viper	
                    2008	
                Perl	
                          GPL	
         Debian	
  




21          2/27/11
Comparison of Configuration
Management Tools
                     Year	
  Started	
     Language	
     License	
     Client/Server	
  
bcfg2	
              2003	
                Python	
       BSD	
         Yes	
  

Cfengine	
           1993	
                C	
            Apache	
      Yes	
  



Chef	
               2009	
                Ruby	
         Apache	
      Chef	
  Solo	
  –	
  No	
  	
  
                                                                        Chef	
  Server	
  -­‐	
  Yes	
  


Puppet	
             2004	
                Ruby	
         GPL	
  	
     yes	
  




22         2/27/11
Comparison of Open Source
Monitoring Tools
                       Year	
  Started	
     License	
     Language	
     Type	
  of	
                Collec/on	
  
                                                                          Monitoring	
                Methods	
  
Cac,	
                 2001	
                GPL	
  	
     PHP	
          Performance	
               SNMP,	
  syslog	
  




Nagios	
               1999	
                GPL	
         C/PHP	
        Availability	
              SNMP,TCP,	
  ICMP,	
  
                                                                                                      IPMI,	
  syslog	
  

Zabbix	
               2001	
                GPL	
  	
     C/PHP	
        Availability/	
             SNMP,	
  TCP/
                                                                          Performance	
  and	
        ICMP,	
  IPMI,	
  
                                                                          more	
                      Synthe,c	
  
                                                                                                      Transac,ons	
  
Zenoss	
               2005	
                GPL	
         Python	
       Availability,	
             SNMP,	
  ICMP,	
  
                                                                          Performance,	
  Event	
     SSH,	
  syslog,	
  WMI	
  
                                                                          Management	
  




23           2/27/11
Comparison of Open Source Automation/
Orchestration Tools
                     Year	
  Started	
   Language	
     License	
     Client/Server	
   Support	
  
                                                                                        Organiza/on	
  
AutomateIT	
   2009	
                  Ruby	
           GPL	
         No	
             None	
  
Capistrano	
         2006	
            Ruby	
           MIT	
         Yes	
            None	
  
Control	
  Tier	
   2005	
             Java	
           Apache	
      Yes	
            DTO	
  Solu,ons	
  
Func	
               2007	
            Python	
         GPL	
         Yes	
            Fedora	
  Project	
  
RunDeck	
            2010	
            Java	
           Apache	
      Yes	
            DTO	
  Solu,ons	
  




24         2/27/11

Crash Course in Open Source Cloud Computing

  • 1.
    Crash Course inOpen Source Cloud Computing Build and manage clouds with free and open source tools Mark R. Hinkle VP of Community Cloud.com mrhinkle@cloud.com mrhinkle@gmail.com Twitter: @mrhinkle
  • 2.
    %whoami •  Responsible for Driving Adoption of CloudStack Open Source Cloud Computing Software •  Former manager of Zenoss Open Source project 100,000 users, 1.5 million downloads •  Former Linux Desktop Advocate (Zealot?) •  Former LinuxWorld Magazine Editor-in- Chief •  Open Management Consortium Conspirator •  Open Desktop Consortium Instigator •  Author - “Windows to Linux Business Desktop Migration” - Thomson •  NetDirector Project - Open Source Configuration Management Project •  Sometimes Author and Blogger at SocializedSoftware.com/NetworkWorld •  Start-up junkie, Glutton for punishment 2 2/27/11
  • 3.
    Cloud Computing Adoption  365,000 web sites are running on Amazon EC2 - Netcraft May 2010   £76 billion spent on Cloud Computing in the U.K. in 2010 - IT Candor   Cloud Computing will be a $126 billion market by 2012 - IBM   20% of Businesses won’t have IT Assets by 2012 - Gartner Bottom Line: A large portion of our infrastructure no longer lives in our data center... but we gotta manage it. 3 2/27/11
  • 4.
    Open Source CloudAdoption •  41 of users prefer to deploy servers virtually, 29.3% use virtualization whenever possible •  Xen is 2nd most popular virtualization technology after VMware followed by Linux Kernel-Based Virtual Machines (KVM) was fourth with 21.3% •  49.2% of respondents indicated they planed to deploy hosted Linux servers in 2010 while 32.6% indicated that they would be deploying hosted Microsoft Windows. •  50.8% indicated they used no specific management tools for cloud computing, 33.3% indicated using tools provided by their hosting provider Source: Zenoss Cloud Computing State of the Union - http://www.zenoss.com/in/virtualization_survey.html 4 2/27/11
  • 5.
    Five Characteristics ofClouds   On-demand self-service   Broad network access   Resource pooling   Rapid Elasticity   Measured Service 5 2/27/11
  • 6.
    Three Types of“Clouds” Application Cloud a.k.a. Software-as-a-Service Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features. Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL Compute Cloud a.k.a. Platform-as-a-Service Application developer model, Application deployed to an elastic service that autoscales, low administrative overhead. No concept of virtual machines or operating system. Code it and deploy it. Examples: Google AppEngine, Windows Azure, Rackspace Site, Red Hat Makara Compute Cloud a.k.a Infrastructure-as-a-Service Servers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, Ubuntu Enterprise Cloud, OpenNebula 6 2/27/11
  • 7.
    Use Cases forCloud Computing   Offer Software-as-a-Service   Development/Test Labs   Resell Hosting Services   Mimic Public Cloud Computing Behind a Firewall   High Performance Computing (HPC) 7 2/27/11
  • 8.
    Anatomy of theCloud 8 2/27/11
  • 9.
    Hypervisors Open Source   Xen Cloud Platform (XCP)   KVM – Kernel-based Virtualization   VirtualBox* - Oracle supported VMs   OpenVZ* - Container-based, Similar to Solaris Containers or BSD Zones   LXC – User Space, chrooted installs Proprietary   VMware   Citrix Xenserver   Microsoft Hyper-V 9 2/27/11
  • 10.
    Virtual Machine Formats VM  Format   Abbrevia/on   Summary   Open  Virtualiza,on  Format   OVF   Evolving  Standard,  meta     Virtual  Machine  Disk   VMDK   Encodes  a  single  disk,  specific  to  VMware   QEMU  Copy-­‐on-­‐Write   QCOW2   Allows  you  to  do  RAW  disk  with   snapshoJng  and  provisioning  u,li,es  used   by  KVM   Virtual  Hard  Disk   VHD   Virtual  Hard  disk  format  was  pioneered  by   MicrosoN  but  adopted  by  many   virtualiza,on  including  Xen  and  Virtual  Box   Amazon  Machine  Image   AMI   Amazon’s  virtual  machine  format   *QEMU is a processor virtualization technology that also has a utility to convert VM formats. (qemu-img) 10 2/27/11
  • 11.
    Public Cloud Services& Private Clouds Popular Public Cloud Services Open Source Cloud Computing Software 11 2/27/11
  • 12.
    Open Source CloudComputing Year  Started   License   Hypervisors  Supported   Cloudstack   2010   GPL   Xenserver,  VMware,  KVM,   Hyper-­‐V   Eucalyptus   2008   GPL   Xen,  KVM,  VMware   OpenStack   2010   Apache   Xen,  KVM,VMware,  LXC,     Hyper-­‐V   Ubuntu  Enterprise   2009  (Karmic   GPL   Xen,KVM,     Server  (UEC)   Koala)   Abiquo   2009   VMware,  Hyper-­‐V   (Development   Citrix  XenServer   2006)   Virtual  Box   Xen   KVM     12 2/27/11
  • 13.
    Here an API,there an API, Everywhere an API Every cloud has there own API, so how do you avoid lock-in migrate between clouds, libraries to write to and translate to different cloud APIs •  jclouds – Java, active development •  libcloud – Started by CloudKick, now an Apache incubator project •  deltacloud – started by Red Hat, now an Apache project 13 2/27/11
  • 14.
    Open Source CloudStorage Year  Started   License   OpenStack  Storage  (SwiN)   2010   GPL   Gluster     2008   GPL   Sheepdog  (KVM  and  BTRFS   2009   GPL     only)   14 2/27/11
  • 15.
    15 2/27/11
  • 16.
    Cloud Computing ChangesEverything   MeatCloud, Can’t Keep up with Cloud Computing   Devops & Agile IT Philosophy   Script Repetitive Tasks   Automate, Automate, Automate 16 2/27/11
  • 17.
    This Guy doesn’tAutomate 17 2/27/11
  • 18.
    DEVOPS Cultural Changes toHelp Cloud Adoption Agile IT and DevOps movements mean fast not loose   Break down Silos within IT - Operations and Developers should collaborate with each other to deliver excellent products   Systems Administrators need to be come Systems Engineers building automated, fault tolerant systems not just maintaining infrastructure   More frequent changes, more outages (albeit short) to rapidly improve IT products and services   Process, version control, and automation are important 18 2/27/11
  • 19.
    4 Core Typesof Server Management Tools Provisioning Installation of operating systems and other software O Configuration Management v Sets the parameters for servers, can specify e installation parameters r   l Orchestration/Automation a Automate tasks across systems p s   Monitoring Records errors and health of IT infrastructure 19 2/27/11
  • 20.
    Open Source ManagementTools Adoption •  98% of enterprises use open source systems management tools •  76% indicate they prefer to use open source whenever possible •  Compelling factors for using open source is flexibility followed by cost savings •  50% are already using some form of cloud technology including but not limited to hosted applications, Amazon Web services and/or hosted storage •  Top IT management priorities for 2010: monitoring, configuration management, patching and provisioning and security 20 2/27/11
  • 21.
    Comparison of ProvisioningTools Year  Started   Language   License   Installa/on   Targets   Cobbler   2007   Python   GPL   Red  Hat,   OpenSUSE   Fedora,  Debian,   Ubuntu   Fully  Automa,c   2000   Perl   GPL   Debian   Installa,on  (FAI)   Kickstart   ?   Python   GPL   Most  .deb  and   RPM  based  Linux   distros   Spacewalk   2008   Perl,  Python,  Java   GPL     Fedora,  Centos   Viper   2008   Perl   GPL   Debian   21 2/27/11
  • 22.
    Comparison of Configuration ManagementTools Year  Started   Language   License   Client/Server   bcfg2   2003   Python   BSD   Yes   Cfengine   1993   C   Apache   Yes   Chef   2009   Ruby   Apache   Chef  Solo  –  No     Chef  Server  -­‐  Yes   Puppet   2004   Ruby   GPL     yes   22 2/27/11
  • 23.
    Comparison of OpenSource Monitoring Tools Year  Started   License   Language   Type  of   Collec/on   Monitoring   Methods   Cac,   2001   GPL     PHP   Performance   SNMP,  syslog   Nagios   1999   GPL   C/PHP   Availability   SNMP,TCP,  ICMP,   IPMI,  syslog   Zabbix   2001   GPL     C/PHP   Availability/   SNMP,  TCP/ Performance  and   ICMP,  IPMI,   more   Synthe,c   Transac,ons   Zenoss   2005   GPL   Python   Availability,   SNMP,  ICMP,   Performance,  Event   SSH,  syslog,  WMI   Management   23 2/27/11
  • 24.
    Comparison of OpenSource Automation/ Orchestration Tools Year  Started   Language   License   Client/Server   Support   Organiza/on   AutomateIT   2009   Ruby   GPL   No   None   Capistrano   2006   Ruby   MIT   Yes   None   Control  Tier   2005   Java   Apache   Yes   DTO  Solu,ons   Func   2007   Python   GPL   Yes   Fedora  Project   RunDeck   2010   Java   Apache   Yes   DTO  Solu,ons   24 2/27/11