Cloud Computing and DevOps: A Game Changer For Systems Administrators

Robert Harker

Yahoo! Sports

harker@harker.com

(Up arrow, down arrow to move between slides)

This is a a Presentation about how cloud computing is changing systems administration

Topics

Cloud Computing

DevOps

Slide Format Under Construction, Using Cool New Python Based Formatting Tool
Whatever you add here will appear in the printable handouts Make sure it's tabbed in for docutils karma.
images/horizontal_bar.png

Why Is Cloud Computing A Game Changer?

"A cloud is a pool of resources accessed via an API"

Marten Mickos, CEO Eucalyptus

Implication:

API calls create, manage and destroy objects

Objects are referenced with UUIDs

No more configuring ifcfg-eth0 or fstab

Systems management is tools based

FOOBAR
images/horizontal_bar.png

How Does System Management Change

You no longer worry about hosts

Upgrade an image - create 100 instances -> verify -> destroy old instances

Configuration management tools are mandatory: Puppet, Chef

Continuous integration provides automated builds and deploys

FOOBAR
images/horizontal_bar.png

Troubleshooting Is Tool Based

Everything is an object

Many/most log parameters are UUID Based

Basic troubleshooting Procedure

Create new instance - test/verify/add -> destroy old instance

Chronic/endemic problems still require old style debugging

FOOBAR
images/horizontal_bar.png

Storage In Clouds

Instance stores:

Glance, LVM partitions, iSCSI?

Object stores:

URL - blob of Data

Permanent data stores:

MySQL, NoSQL

Limited Lifespan:

log Files, queries, raw tracking

FOOBAR
images/horizontal_bar.png

Horizontal Scaling

Typical three (plus 1) tier model

Simple scaling: add one more

Scale your MySQL cluster to a public cloud?

How about?

Load balancers, firewall ACLs, monitoring, caches,

host data collection, visitor data collection,

authorization and authentication

FOOBAR
images/horizontal_bar.png

Public Clouds

Amazon EC3, Eucalyptus, OpenStack, OpenShift, Hadoop?

IaaS, PaaS, SaaS, NaaS

Probably more secure than your private cloud

Expensive for long term large scale deploys

FOOBAR
images/horizontal_bar.png

Private Clouds

New Instance of Server Deployment

Not likely to replace existing business mission critical services

Self service development environments

Off load applications that are horizontally scalable

Billing/chagre back?

FOOBAR
images/horizontal_bar.png

Evolution Of Deploying Code

Traditional:

install code on each node and restart apps

Image based upgrade:

update gold image then replicate

Minimal OS install:

Ground up rebuild then replicate

Automated package/configuration management is critical

Puppet, Chef, Igor?

FOOBAR
images/horizontal_bar.png

DevOps: Devel, QA, Ops Is One Team

Automated tools manage the build/deploy process

Builds for every SVN check-in

Regular automated test/deploy

How often do you deploy to production?

Weekly?, daily?, hourly?, every successful build?

Rollback has to be no brainer

FOOBAR
images/horizontal_bar.png

Self-Service Deployment Of Test Environments

A test environment is a "runway",

The length is selectable

FE, API, DB, cache, tools, , . . .

Development/QA hosts recreated with each build?

FOOBAR
images/horizontal_bar.png

Cloud computing and the DevQaOps continuous integration movement are a game changer for Systems Administrators

Robert Harker

Yahoo! Sports

harker@harker.com