35
Mark R. Hinkle Director, Cloud Computing Community Citrix Systems Inc. Twitter: @mrhinkle Email: [email protected] Delivering Infrastructure-as-a- Service (IaaS) with Open Source Software

Delivering IaaS with Open Source Software

Embed Size (px)

DESCRIPTION

SlideDeck from August 10th webinar, Delivering Infrastructure-as-a-Service with IaaS.

Citation preview

Page 1: Delivering IaaS with Open Source Software

Mark R. HinkleDirector, Cloud Computing CommunityCitrix Systems Inc.Twitter: @mrhinkleEmail: [email protected]

Delivering Infrastructure-as-a-Service (IaaS) with Open Source Software

Page 2: Delivering IaaS with Open Source Software

2

Agenda

1. Introduction

2. Quick Cloud Computing Overview

3. Open Source Building Blocks for Cloud Computing

4. Open Source Tools for Cloud Management

5. Questions

Page 3: Delivering IaaS with Open Source Software

3

Mark Hinkle, Director ,Cloud Computing Community, Citrix

• Responsible for Driving Adoption of CloudStack Open Source Cloud Computing Software

• Joined Citrix via Cloud.com acquisition July 2011

• Former manager of Zenoss Open Source Monitoring project 100,000 users, 1.5 million downloads

• Former LinuxWorld Magazine Editor-in-Chief

• Author - “Windows to Linux Business Desktop Migration” – Thomson

• NetDirector Project - Open Source Configuration Management Project

• Sometimes Author and Blogger at SocializedSoftware.com/NetworkWorld

Page 4: Delivering IaaS with Open Source Software

Cloud Computing Overview

Page 5: Delivering IaaS with Open Source Software

5Cloud 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 6: Delivering IaaS with Open Source Software

6

Five Characteristics of Clouds

1.On-Demand Self-Service

2.Broad Network Access

3.Resource Pooling

4.Rapid Elasticity

5.Measured Service

Page 7: Delivering IaaS with Open Source Software

7Cloud 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

SaaS

PaaS

IaaS

Page 8: Delivering IaaS with Open Source Software

8Deployment Models Public, Private & Hybrid Clouds

Page 9: Delivering IaaS with Open Source Software

Building Compute Cloudswith Open Source Software

Page 10: Delivering IaaS with Open Source Software

10

Why Open Source?

• Typically user-driven solutions to real problems

• Larger user base, users helping users • Lower barrier to participation• Aggressive release cycles can stay current with

the state-of-the-art• Try before you “buy”, no brochureware, no

“PowerPoint software• Open data, Open standards, Open APIs

Page 11: Delivering IaaS with Open Source Software

11

Open Virtual Machine Formats

Open Virtualization Format (OVF) is an open standard for packaging and distributing virtual appliances or more generally software to be run in virtual machines. Standardization is still in process. Popular Virtual Formats:

• Amazon – AMI (Amazon Machine Image)• Hyper-V – VHD (Virtual Hard Disk)• KVM – QCOW2 (QEMU Copy On Write

Version 2)• VMware – VMDK (Virtual Machine Disk)• Xen – IMG (Virtual Machine Image)

Page 12: Delivering IaaS with Open Source Software

12Sourcing OSS VMs and Cloud Appliances

Page 13: Delivering IaaS with Open Source Software

13

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• OracleVM (Based on OS Xen)

Page 14: Delivering IaaS with Open Source Software

14

Open Source Compute CloudsYear Started License Hypervisors

Supported

2008 GPL Xenserver, Xen Cloud Platform, KVM, VMware

2010 (Developed by NASA by Anso Labs peviously)

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

Other open source compute software include Abiquo, Red Hat’s CloudForms and OpenNebulaNumerous companies are building cloud software on OpenStack including Nebula, Piston Inc.

Page 15: Delivering IaaS with Open Source Software

15

CloudStack

• Cloud Cloud Compute• Multi-Hypervisor Support• Robust Web Interface• Advanced Networking

Capabilities• High Availability• Multiple-Roles for Admins and

Users• Extensive API• GPL Licensed

www.cloudstack.org

Page 16: Delivering IaaS with Open Source Software

16

OpenStack

• Three Projects (Compute, Object Storage, Image Service)

• Rapid Development• Next Release Diablo Q3 , 2011• Large community of developers and

partners• Numerous channels for commercial

support• Command Line Interface (CLI)• Apache License

Page 17: Delivering IaaS with Open Source Software

17Open Source Platform-as-a-Service

Year Started Sponsors Hypervisors Supported

2011 VMware Spring, Rails, Node.js

2011 Red Hat Express – Ruby, Php and PythonFlex – Jboss, Java EE6

2010 WSO2 Jboss, Java EE6

Page 18: Delivering IaaS with Open Source Software

18Open Source Cloud Computing Storage• GlusterFS – Scale Out NAS system aggregating storage

over Ethernet or Infiniband• Ceph – Distributed file storage system developed by

DreamHost to handle data at petabyte scale• OpenStack Object Storage (SWIFT) – Long-term

storage object storage system• Sheepdog – Distributed storage for KVM hypervisors• OpenFiler - Openfiler is a browser-based network storage

software distribution to create aNetwork Attached Storage (NAS) and block-based Storage Area Networking in a single framework

• NFS – Old standby, tried and true, not designed for cloud scale or performance

Page 19: Delivering IaaS with Open Source Software

19Cloud APIs Aren’t Created EqualOpen Source Abstractions

• jclouds• libcloud• deltacloud• fog

Page 20: Delivering IaaS with Open Source Software

20

Private Cloud Architecture

API Abstraction

s

Page 21: Delivering IaaS with Open Source Software

Managing Clouds with Open Source Tools

Page 22: Delivering IaaS with Open Source Software

22Automation 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 IaaS with Open Source Software

23

What Makes Tools Cloudy?

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

Page 24: Delivering IaaS with Open Source Software

24

The Myth of the NinesAvailability % Downtime per

YearDowntime 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% (five 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 25: Delivering IaaS with Open Source Software

25

4 Types of Management Tools

ProvisioningInstallation of operating systems and other software

Configuration ManagementSets the parameters for servers, can specify installation parameters

Orchestration/AutomationAutomate tasks across systems

MonitoringRecords errors and health of IT infrastructure

Page 26: Delivering IaaS with Open Source Software

26

Management Toolchains

Configuration

Patching and

Provisioning

Monitoring

Toolchain (n):

A set of tools where the output of one tool becomes the input of another tool

Page 27: Delivering IaaS with Open Source Software

27Open Source Provisioning Tools

Year Started Language License Installation Targets

Cobbler (Plus koan for PXE boot of VMs)

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 28: Delivering IaaS with Open Source Software

28Open SourceConfiguration Management Tools

Year Started Language License Client/Server

Cfengine 1993 C Apache Yes

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

Puppet 2004 Ruby GPL yes

Page 29: Delivering IaaS with Open Source Software

29Open SourceMonitoring Tools

Year Started

License Type of Monitoring Collection Methods

Cacti / RRDTool

2001 GPL Performance SNMP, syslog

Nagios 1999 GPL Availability SNMP,TCP, ICMP, IPMI, syslog

Zabbix 2001 GPL Availability/ Performance and more

SNMP, TCP/ICMP, IPMI, Synthetic Transactions

Zenoss 2005 GPL Availability, Performance, Event Management

SNMP, ICMP, SSH, syslog, WMI

Page 30: Delivering IaaS with Open Source Software

30Open Source Automation/Orchestration Tools

Year Started

Language License Client/Server

Support Organization

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 31: Delivering IaaS with Open Source Software

31

Miscellanialogstash is a tool for managing your logs. W

It helps you take logs and other event data from your systems and move it into a central place. logstash is open source and completely free.

You can get support for logstash via a hosted version from http://loggly.com/

myCloud is a free service that allows you to manage up to five virtualized hosts via a hosted version of Cloudstack complimented by RightScale, a cloud management company. While this is not open source it site a free

Page 32: Delivering IaaS with Open Source Software

32Example Open Source Toolchain

Launch BootStrap Image

Provisioning(Cobbler,

Spacewalk)

Configuration(Puppet, Chef)

Start/Stop Services

(RunDeck, Capistrano)

Monitor(Nagios, Zenoss)

Page 33: Delivering IaaS with Open Source Software

Slides Can be Viewed and Downloaded at:

http://www.cloudstack.org/blog.html

Questions?

Page 34: Delivering IaaS with Open Source Software

34

Contact Me

Professional: [email protected]: [email protected]

Professional: 919.228.8049Personal: 919.522.3520

Professional: http://www.cloudstack.orgPersonal: http://socializedsoftware.comTwitter: @mrhinkle

Mark R. Hinkle

Director, Cloud Computing CommunityCitrix Systems Inc. Open Source Enthusiast

Page 35: Delivering IaaS 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.