The web was build using open source software like Linux, Apache, MySQL and the pervasive PHP, Python and Perl. Just as with the web, open source is one of the core foundations of cloud computing as early cloud pioneers used the freely available, freely-distributable model to power their web-scale deployments—achieving an unprecedented level of scale at a bare-bones cost that had never been seen in the history of computing. The first movers in cloud computing services found the open source software model most appealing, but to businesses today the attraction of open source is about the ability to develop a more flexible infrastructure and avoid vendor lock-in that often results from proprietary systems.
2. 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
Con guration Management Project
• Sometimes Author and Blogger at
SocializedSoftware.com/NetworkWorld
• Start-up junkie, Glutton for punishment
3. 3
Agenda
1. Cloud Computing Trends
2. Quick Cloud Computing Overview
3. Open Source Building Blocks for Cloud
Computing
4. Open Source Tools for Cloud Management
5. Questions
5. Recent Study on Cloud 5
Computing Preferences
• 521 IT Professionals Surveyed
• Cloud.com, BitNami and Zenoss User
Communities
• Conducted Q2 of 2011
• Publishing week of June 12th
8. 8
Cloud Service Model Usage
Services Models Consumed by Cloud
Computing Users in 2011
9. 9
Why Open Source?
• Typically User-Driven to solve real problems
• Larger user base, users helping users
• Lower barrier to participation
• Aggressive release cycles – stay current with the state
of the art
• Try before you “buy”, no Brochure-ware, no
“Powerpoint software
• Open data, Open standards, Open APIs
11. 11
Five Characteristics of Clouds
1. On-Demand Self-Service
2. Broad Network Access
3. Resource Pooling
4. Rapid Elasticity
5. Measured Service
12. 12
Cloud Computing Service Models
USER 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
DEVELOPMENT 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
SYSTEMS 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
15. Cloud Still Requires 15
Architectural Design
• Cloud 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
16. 16
Open Source Hypervisors
Open Source
• Xen, Xen Cloud Platform (XCP)
• KVM – Kernel-based Virtualization
• VirtualBox* - Oracle supported Virtualization Solutions
• OpenVZ* - Container-based, Similar to Solaris Containers or BSD Zones
• LXC – User Space chrooted installs
Proprietary
• VMware
• Citrix Xenserver
• Microsoft Hyper-V
• Oracle VM
17. 17
Open Source Compute Clouds
Year Started License Hypervisors
Supported
2010 (Development GPL Xenserver, VMware,
Since 2008) KVM, Hyper-V
2008 GPL Xen, KVM, VMware
2010 (Developed by Apache Xen, KVM, Hyper-V
NASA by Anso Labs
peviously)
Ubuntu 2009 (Karmic Koala) GPL Xen,KVM
Enterprise
Cloud
2009 (Development LGPL v3 VMware ESX and ESXi,
2006) Microsoft Hyper-V, Xen,
KVM and Virtual Box
18. Open Source 18
Cloud Computing Storage
• GlusterFS – Scale Out NAS system aggregating storage
over Ethernet or Infiniband
• CEPH – Distributed file storage system
• OpenStack Object Storage (SWIFT) – Long-term
storage object storage system
• Sheepdog – Distributed storage for KVM hypervisors
• NFS – Old standby, tried and true, not designed for
cloud scale or performance
19. Cloud APIs Aren’t Created Equal
19
Open Source Abstractions
• jclouds
• libcloud
• deltacloud
• fog
22. Automation Unlocks 22
the Potential of the Cloud
• MeatCloud, Can’t
Keep up with Cloud
Computing
• Devops & Agile IT
Philosophy
• Script Repetitive Tasks
• Automate, Automate,
Automate
23. 23
Why Open Source Tools?
• Aggressively Developed,
Keep Pace with State of
the Art
• User-Developed and
Instrumented
• Easy to Assemble into
Automated Toolchains
24. 24
What Makes Tools Cloudy?
• Network Capable
• Cloud “Aware”
• Easy-to-Integrate
• Adhere to Open Standards
• Lend Themselves to Automation
25. 25
The Myth of the Nines
Availability % Downtime per Downtime per Downtime per
Year Month Week
99.9% (three nines) 8.76 hours 43.2 minutes 10.1 minutes
99.95% 4.38 hours 21.56 minutes 5.04 minutes
99.99% (four nines) 52.6 minutes 4.32 minutes 1.01 minutes
99.999% ( ve nines) 5.26 minutes 25.9 seconds 6.05 seconds
99.9999% (six nines) 31.5 seconds 2.59 seconds .0605 seconds
Average 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.
26. 26
4 Types of Management Tools
Provisioning
Installation of operating systems and other software
Configuration Management
Sets the parameters for servers, can specify
installation parameters
Orchestration/Automation
Automate tasks across systems
Monitoring
Records errors and health of IT infrastructure
27. 27
Management Toolchains
Toolchain (n):
Monitoring
A set of tools where
the output of one Patching and
Provisioning
tool becomes the
input of another tool Con guration
28. Open Source 28
Provisioning Tools
Year Started Language License Installation
Targets
Cobbler 2007 Python GPL Red Hat,
OpenSUSE
Fedora, Debian,
Ubuntu
Kickstart ? Python GPL Most .dep and
RPM based Linux
distros
Spacewalk 2008 Perl, Python, Java GPL Fedora, Centos
Crowbar 2011 Ruby Apache (Bare metal
provisioning)
29. Open Source 29
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
30. Open Source 30
Monitoring Tools
Year Started License Language Type of Collection
Monitoring Methods
Cacti 2001 GPL PHP Performance SNMP, syslog
Nagios 1999 GPL C/PHP Availability SNMP,TCP, ICMP,
IPMI, syslog
OpenNMS 2000 GPL Java Availability/ SNMP,
Performance
Zabbix 2001 GPL C/PHP Availability/ SNMP, TCP/ICMP,
Performance and IPMI, Synthetic
more Transactions
Zenoss 2005 GPL Python Availability, SNMP, ICMP, SSH,
Performance, Event syslog, WMI
Management
31. Open Source 31
Automation/Orchestration Tools
Year Language License Client/ Support
Started Server Organization
AutomateIT 2009 Ruby GPL No None
Capistrano 2006 Ruby MIT Yes None
RunDeck 2010 Java Apache Yes DTO Solutions
Func 2007 Python GPL Yes Fedora Project
MCollective 2009 Ruby Apache Yes PuppetLabs
32. 32
Automated Toolchain
Capistrano
Command and Application Service RunDeck
Fabric
Control Orchestration Func
Provisioning Activity
BCFG2
Con guration Cfengine
System Con guration Chef
Puppet
Cloud: OS Install:
Eucalyptus Kickstart
Cloud Image OS OpenStack Cobbler
Bootstrapping
Launch Install CloudStack Spacewalk
Abiquo
34. 34
Contact Me
Professional: mrhinkle@cloud.com
Personal: mrhinkle@gmail.com
Professional: mrhinkle@cloud.com
Personal: mrhinkle@gmail.com
Professional: http://open.cloud.com Mark R. Hinkle
Personal: http://socializedsoftware.com VP of Community
Open Source Enthusiast
Twitter: @mrhinkle
35. Delivering Infrastructure-as-a-Service
with Open Source Software
by Mark R. Hinkle is licensed under a
Creative Commons Attribution-
ShareAlike 3.0 United States License.