Crash Course in Open Source Cloud ComputingMark R. HinkleVP of Community Cloud.comTwitter: @mrhinkleEmail: mrhinkle@gmail.com
%whoamiResponsible 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 punishmentSlides Can be Viewed and Downloaded at:http://www.slideshare.net/socializedsoftware/
AgendaCloud Computing TrendsQuick Cloud Computing OverviewOpen Source Building Blocks for Cloud Computing Open Source Tools for Cloud ManagementQuestions
Cloud Computing:Cloud Computing Trendshttp://www.dilbert.com/strips/comic/2011-01-07/
Recent Study on Cloud Computing Preferences521 IT Professionals Surveyed Cloud.com, BitNami and Zenoss User CommunitiesConducted Q2 of 2011Publishing week of June 12th
Top Reasons For Cloud Computing Adoption
Open Source Usage
Cloud Service Model UsageServices Models Consumed by Cloud Computing Users in 2011
Why Open Source?Typically User-Driven to solve real problemsLarger user base, users helping users Lower barrier to participationAggressive release cycles – stay current with the state of the artTry before you “buy”, no Brochure-ware, no “Powerpoint softwareOpen data, Open standards, Open APIs
Quick Cloud Computing Overview: Or the Obligatory “What is the Cloud?” Slides
Five Characteristics of CloudsOn-Demand Self-ServiceBroad Network AccessResource PoolingRapid ElasticityMeasured Service
Cloud Computing Service ModelsUSER CLOUD  a.k.a. SOFTWARE AS A SERVICESingle 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/RHELDEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICEApplication 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 MakaraSYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICEServers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus,  Ubuntu Enterprise Cloud, OpenNebulaSaaSPaaSIaaS
Deployment Models Public, Private & Hybrid Clouds
Building Compute Cloudswith Open Source Software
Cloud Still Requires Architectural DesignCloud Computing isn’t a “magical solution”Need to design your architecture with the end in mind As you build it make your infrastructure easily replicable
Open Source HypervisorsOpen SourceXen, Xen Cloud Platform (XCP)KVM – Kernel-based VirtualizationVirtualBox* - Oracle supported Virtualization Solutions OpenVZ* - Container-based, Similar to Solaris Containers or BSD ZonesLXC – User Space chrooted installsProprietaryVMwareCitrix XenserverMicrosoft Hyper-VOracle VM
Open Source Compute CloudsUbuntu Enterprise Cloud
Open Source Cloud Computing StorageGlusterFS – Scale Out NAS system aggregating storage over Ethernet or InfinibandCEPH – Distributed file storage systemOpenStack  Object Storage (SWIFT) – Long-term storage object storage systemSheepdog – Distributed storage for KVM hypervisorsNFS – Old standby, tried and true, not designed for cloud scale or performance
Cloud APIs Aren’t Created EqualOpen Source Abstractionsjcloudslibclouddeltacloudfog
Private Cloud ArchitectureAPI Abstractions
Managing Clouds with Open Source Tools
Automation Unlocks the Potential of the CloudMeatCloud, Can’t Keep up with Cloud Computing
Devops & Agile IT Philosophy
Script Repetitive Tasks
Automate, Automate, AutomateWhy Open Source Tools?Aggressively Developed, Keep Pace with State of the Art User-Developed and InstrumentedEasy to Assemble into Automated Toolchains
What Makes Tools Cloudy?Network CapableCloud “Aware” Easy-to-IntegrateAdhere to Open StandardsLend Themselves to Automation
The Myth of the NinesAverage polling interval for monitoring?  5 minutes?  Even superhuman operations people can’t be alerted and take action in under 5 minutes. One outage per year could drop service level to three nines or worse.

Crash Course in Open Source Cloud Computing

  • 1.
    Crash Course inOpen Source Cloud ComputingMark R. HinkleVP of Community Cloud.comTwitter: @mrhinkleEmail: mrhinkle@gmail.com
  • 2.
    %whoamiResponsible for DrivingAdoption of CloudStack Open Source Cloud Computing Software
  • 3.
    Former manager ofZenoss Open Source project 100,000 users, 1.5 million downloads
  • 4.
    Former Linux DesktopAdvocate (Zealot?)
  • 5.
  • 6.
  • 7.
  • 8.
    Author - “Windowsto Linux Business Desktop Migration” - Thomson
  • 9.
    NetDirector Project -Open Source Configuration Management Project
  • 10.
    Sometimes Author andBlogger at SocializedSoftware.com/NetworkWorld
  • 11.
    Start-up junkie, Gluttonfor punishmentSlides Can be Viewed and Downloaded at:http://www.slideshare.net/socializedsoftware/
  • 12.
    AgendaCloud Computing TrendsQuickCloud Computing OverviewOpen Source Building Blocks for Cloud Computing Open Source Tools for Cloud ManagementQuestions
  • 13.
    Cloud Computing:Cloud ComputingTrendshttp://www.dilbert.com/strips/comic/2011-01-07/
  • 14.
    Recent Study onCloud Computing Preferences521 IT Professionals Surveyed Cloud.com, BitNami and Zenoss User CommunitiesConducted Q2 of 2011Publishing week of June 12th
  • 15.
    Top Reasons ForCloud Computing Adoption
  • 16.
  • 17.
    Cloud Service ModelUsageServices Models Consumed by Cloud Computing Users in 2011
  • 18.
    Why Open Source?TypicallyUser-Driven to solve real problemsLarger user base, users helping users Lower barrier to participationAggressive release cycles – stay current with the state of the artTry before you “buy”, no Brochure-ware, no “Powerpoint softwareOpen data, Open standards, Open APIs
  • 19.
    Quick Cloud ComputingOverview: Or the Obligatory “What is the Cloud?” Slides
  • 20.
    Five Characteristics ofCloudsOn-Demand Self-ServiceBroad Network AccessResource PoolingRapid ElasticityMeasured Service
  • 21.
    Cloud Computing ServiceModelsUSER CLOUD a.k.a. SOFTWARE AS A SERVICESingle 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/RHELDEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICEApplication 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 MakaraSYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICEServers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, Ubuntu Enterprise Cloud, OpenNebulaSaaSPaaSIaaS
  • 22.
    Deployment Models Public,Private & Hybrid Clouds
  • 23.
    Building Compute CloudswithOpen Source Software
  • 24.
    Cloud Still RequiresArchitectural DesignCloud Computing isn’t a “magical solution”Need to design your architecture with the end in mind As you build it make your infrastructure easily replicable
  • 25.
    Open Source HypervisorsOpenSourceXen, Xen Cloud Platform (XCP)KVM – Kernel-based VirtualizationVirtualBox* - Oracle supported Virtualization Solutions OpenVZ* - Container-based, Similar to Solaris Containers or BSD ZonesLXC – User Space chrooted installsProprietaryVMwareCitrix XenserverMicrosoft Hyper-VOracle VM
  • 26.
    Open Source ComputeCloudsUbuntu Enterprise Cloud
  • 27.
    Open Source CloudComputing StorageGlusterFS – Scale Out NAS system aggregating storage over Ethernet or InfinibandCEPH – Distributed file storage systemOpenStack Object Storage (SWIFT) – Long-term storage object storage systemSheepdog – Distributed storage for KVM hypervisorsNFS – Old standby, tried and true, not designed for cloud scale or performance
  • 28.
    Cloud APIs Aren’tCreated EqualOpen Source Abstractionsjcloudslibclouddeltacloudfog
  • 29.
  • 30.
    Managing Clouds withOpen Source Tools
  • 31.
    Automation Unlocks thePotential of the CloudMeatCloud, Can’t Keep up with Cloud Computing
  • 32.
    Devops & AgileIT Philosophy
  • 33.
  • 34.
    Automate, Automate, AutomateWhyOpen Source Tools?Aggressively Developed, Keep Pace with State of the Art User-Developed and InstrumentedEasy to Assemble into Automated Toolchains
  • 35.
    What Makes ToolsCloudy?Network CapableCloud “Aware” Easy-to-IntegrateAdhere to Open StandardsLend Themselves to Automation
  • 36.
    The Myth ofthe NinesAverage polling interval for monitoring? 5 minutes? Even superhuman operations people can’t be alerted and take action in under 5 minutes. One outage per year could drop service level to three nines or worse.
  • 37.
    4 Types ofManagement ToolsProvisioningInstallation of operating systems and other softwareConfiguration ManagementSets the parameters for servers, can specify installation parametersOrchestration/AutomationAutomate tasks across systemsMonitoringRecords errors and health of IT infrastructure
  • 38.
    Management ToolchainsToolchain (n):A set of tools where the output of one tool becomes the input of another tool
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    Automated ToolchainApplication ServiceOrchestrationCapistranoRunDeckFabricFuncCommand and ControlSystem ConfigurationBCFG2CfengineChefPuppetConfigurationProvisioning ActivityCloud ImageLaunchOS InstallCloud:EucalyptusOpenStackCloudStackAbiquoOS Install:KickstartCobblerSpacewalkBootstrapping
  • 44.
  • 45.
    Contact MeProfessional: mrhinkle@cloud.comPersonal:mrhinkle@gmail.comProfessional: mrhinkle@cloud.comPersonal: mrhinkle@gmail.comMark R. HinkleVP of CommunityOpen Source EnthusiastProfessional: http://open.cloud.comPersonal: http://socializedsoftware.comTwitter: @mrhinkle
  • 46.
    Delivering Infrastructure-as-a-Service withOpen Source Softwareby Mark R. Hinkle is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License.

Editor's Notes

  • #10 IAAS deployments Compute and Storage
  • #13 From the NIST Cloud Computing On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).Resource pooling.The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.This is different than virtual private hosting which is constrained to a single host or hosted Exchange server with fixed storage limits. Rapid elasticity.Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
  • #14 Cloud Software as a Service (SaaS) – The Application CloudThe capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.Cloud Platform as a Service (PaaS) – The Development Cloud The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.Cloud Infrastructure as a Service (IaaS). – Systems CloudThe capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
  • #15 Private cloudThe cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.Public cloudThe cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.Hybrid cloudThe cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).
  • #18 Top choices for Cloud Computing are Xen and KVM OpenVZ, container virtualization for Linux, is an interesting option as it has a very minimal overhead to scale application space similar to containers like BSD Jails. Advantage is that memory allocation is soft and unutilized memory can be used by other applications.
  • #20 GlusterFS is an open source scale-out NAS solution. The software is a powerful and flexible solution that simplifies the task of managing unstructured file data whether you have a few terabytes of storage or multiple petabytes.Ceph is a distributed network storage and file system designed to provide excellent performance, reliability, and scalability.  Ceph is based on a reliable and scalable distributed object store, with a distributed metadata management cluster layered on top to provide a distributed file system with POSIX semantics.  There are a variety of ways to interact with the systemOpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence.Sheepdog is a distributed storage system for QEMU/KVM. It provides highly available block level storage volumes that can be attached to QEMU/KVM virtual machines. Sheepdog scales to several hundreds nodes, and supports advanced volume management features such as snapshot, cloning, and thin provisioning.
  • #21 Types of Tasks Accomplished by an APIProvisioning (creating, re-creating, moving, or deleting components e.g. virtual machines, vlans)Configuration (assigning or changing attributes of the architecture such as security and network settings)Cloud ProvidersJclouds – java API Abstraction Libcloud – started by CloudKick (now Rackspace) to abstract clouds, Apache incubator projectDeltacloud – started by Red Hat to abstract clouds, Apache incubator projectFog - provider and abstraction level API across compute and storage, written in Ruby
  • #22 Derived from the NIST Diagram
  • #27 Cloud computing promises highly available systems, but if you have a reactive approach you won’t achieve that goal. If you want a five nines service level you have 5.26 minutes to find, fix and recoverBuild redundant, highly environment systems
  • #28 Other disciplines like back-up, log management, performance and security (virus,intrusion detection) are important but not core to the delivery of cloud computing systems
  • #29 Ideally for the cloud you create management toolchains that automate the management of your cloud.