delivering infrastructure-as-a-service with open source software

35
Mark R. Hinkle VP of Community Cloud.com Twitter: @mrhinkle Email: [email protected] Delivering Infrastructure-as-a- Service with Open Source Software

Upload: mark-hinkle

Post on 11-May-2015

4.079 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Delivering Infrastructure-as-a-Service with Open Source Software

Mark R. Hinkle VP of Community Cloud.com Twitter: @mrhinkle Email: [email protected]

Delivering Infrastructure-as-a-Service with Open Source Software

Page 2: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 3: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 4: Delivering Infrastructure-as-a-Service with Open Source Software

Cloud Computing: Cloud Computing Trends

http://www.dilbert.com/strips/comic/2011-01-07/

Page 5: Delivering Infrastructure-as-a-Service with Open Source Software

5 Recent Study on Cloud Computing Preferences

•  521 IT Professionals Surveyed •  Cloud.com, BitNami and Zenoss User

Communities •  Conducted Q2 of 2011 •  Publishing week of June 12th

Page 6: Delivering Infrastructure-as-a-Service with Open Source Software

6 Top Reasons For Cloud Computing Adoption

Page 7: Delivering Infrastructure-as-a-Service with Open Source Software

7

Open Source Usage

Page 8: Delivering Infrastructure-as-a-Service with Open Source Software

8

Cloud Service Model Usage

Services Models Consumed by Cloud Computing Users in 2011

Page 9: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 10: Delivering Infrastructure-as-a-Service with Open Source Software

Quick Cloud Computing Overview: Or the Obligatory “What is the Cloud?” Slides

Page 11: Delivering Infrastructure-as-a-Service with Open Source Software

11

Five Characteristics of Clouds

1. On-Demand Self-Service

2. Broad Network Access

3. Resource Pooling

4. Rapid Elasticity

5. Measured Service

Page 12: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 13: Delivering Infrastructure-as-a-Service with Open Source Software

13 Deployment Models Public, Private & Hybrid Clouds

Page 14: Delivering Infrastructure-as-a-Service with Open Source Software

Building Compute Clouds with Open Source Software

Page 15: Delivering Infrastructure-as-a-Service with Open Source Software

15 Cloud Still Requires 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

Page 16: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 17: Delivering Infrastructure-as-a-Service with Open Source Software

17

Open Source Compute Clouds Year Started License Hypervisors

Supported

2010 (Development Since 2008)

GPL Xenserver, VMware, KVM, Hyper-V

2008 GPL Xen, KVM, VMware

2010 (Developed by NASA by Anso Labs peviously)

Apache Xen, KVM, Hyper-V

2009 (Karmic Koala) GPL Xen,KVM

2009 (Development 2006)

LGPL v3 VMware ESX and ESXi, Microsoft Hyper-V, Xen, KVM and Virtual Box

Ubuntu Enterprise Cloud

Page 18: Delivering Infrastructure-as-a-Service with Open Source Software

18 Open Source 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

Page 19: Delivering Infrastructure-as-a-Service with Open Source Software

19 Cloud APIs Aren’t Created Equal Open Source Abstractions •  jclouds •  libcloud •  deltacloud •  fog

Page 20: Delivering Infrastructure-as-a-Service with Open Source Software

20

Private Cloud Architecture

API Abstractions

Page 21: Delivering Infrastructure-as-a-Service with Open Source Software

Managing Clouds with Open Source Tools

Page 22: Delivering Infrastructure-as-a-Service with Open Source Software

22 Automation Unlocks the Potential of the Cloud

•  MeatCloud, Can’t Keep up with Cloud Computing

•  Devops & Agile IT Philosophy

•  Script Repetitive Tasks •  Automate, Automate,

Automate

Page 23: Delivering Infrastructure-as-a-Service with Open Source Software

23

Why Open Source Tools?

•  Aggressively Developed, Keep Pace with State of the Art

•  User-Developed and Instrumented

•  Easy to Assemble into Automated Toolchains

Page 24: Delivering Infrastructure-as-a-Service with Open Source Software

24

What Makes Tools Cloudy?

•  Network Capable •  Cloud “Aware” •  Easy-to-Integrate •  Adhere to Open Standards •  Lend Themselves to Automation

Page 25: Delivering Infrastructure-as-a-Service with Open Source Software

25

The Myth of the Nines Availability % Downtime per

Year Downtime per Month

Downtime per 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.

Page 26: Delivering Infrastructure-as-a-Service with Open Source Software

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

Page 27: Delivering Infrastructure-as-a-Service with Open Source Software

27

Management Toolchains

Con!guration

Patching and Provisioning

Monitoring

Toolchain (n): A set of tools where the output of one tool becomes the input of another tool

Page 28: Delivering Infrastructure-as-a-Service with Open Source Software

28 Open Source 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)

Page 29: Delivering Infrastructure-as-a-Service with Open Source Software

29 Open Source 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

Page 30: Delivering Infrastructure-as-a-Service with Open Source Software

30 Open Source Monitoring Tools

Year Started License Language Type of Monitoring

Collection Methods

Cacti 2001 GPL PHP Performance SNMP, syslog

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

OpenNMS 2000 GPL Java Availability/Performance

SNMP,

Zabbix 2001 GPL C/PHP Availability/ Performance and more

SNMP, TCP/ICMP, IPMI, Synthetic Transactions

Zenoss 2005 GPL Python Availability, Performance, Event Management

SNMP, ICMP, SSH, syslog, WMI

Page 31: Delivering Infrastructure-as-a-Service with Open Source Software

31 Open Source Automation/Orchestration Tools

Year Started

Language License Client/Server

Support 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

Page 32: Delivering Infrastructure-as-a-Service with Open Source Software

32

Automated Toolchain

Cloud Image Launch

OS Install

System Con!guration

Application Service Orchestration

Capistrano RunDeck Fabric Func

BCFG2 Cfengine Chef Puppet

Cloud: Eucalyptus OpenStack CloudStack Abiquo

OS Install: Kickstart Cobbler Spacewalk

Command and Control

Con!guration

Bootstrapping Prov

isio

ning

Act

ivity

Page 33: Delivering Infrastructure-as-a-Service with Open Source Software

Questions?

Page 34: Delivering Infrastructure-as-a-Service with Open Source Software

34

Contact Me

Professional: [email protected] Personal: [email protected]

Professional: [email protected] Personal: [email protected]

Professional: http://open.cloud.com Personal: http://socializedsoftware.com

Twitter: @mrhinkle

Mark R. Hinkle VP of Community Open Source Enthusiast

Page 35: Delivering Infrastructure-as-a-Service with Open Source Software

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.