275
Mark Masterson | http://jroller.com/MasterMark How to build your app quickly (and cheaply?) using the Cloud

Fowa Miami 09 Cloud Computing Workshop

Embed Size (px)

DESCRIPTION

Slides for an introductory workshop on cloud computing for a web app developer audience at FOWA Miami 09 (http://events.carsonified.com/fowa/2009/miami/workshops#workshop_36)

Citation preview

Page 1: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

How to build your app quickly (and cheaply?) using the Cloud

Page 2: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Intro(Admin, facilities, who I am)

Page 3: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Agenda

•Overview•Walk-through deployment on PaaS and IaaS•Break•Considerations

•Costs / Economics•Architecture

•Discussion

Page 4: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 5: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Cloud computing. WTF?

Page 6: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

WAN

(Frame Relay, ISDN,

etc.)

Router

Router

LAN A

LAN B

Page 7: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

For this workshop, it means: elastic compute resources, charged for like

a utility

Page 8: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Why bother?

Page 9: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What’s a “web app”?

Page 10: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/psd/6732568/in/set-666533/

Page 11: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/psd/6733371/in/set-666533/

Page 12: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/psd/6733187/in/set-666533/

Page 13: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/gopal1035/322084210/

Page 14: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/psd/58054545/

Page 15: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 16: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 17: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

It’s more than static content.

Page 18: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

So that means, it’s about any and all commercial web sites, right?

Page 19: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

No. Don’t think so.

Page 20: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Griefer alert: is this just flamebait?

Page 21: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

No. In the context of cloud computing, it makes a difference.

Page 22: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A big difference.

Page 23: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Apps do something.

Page 24: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Content doesn’t.

Page 25: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Cloud computing is about doing something.

Page 26: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.nytimes.com/2006/06/14/technology/14search.html

Page 27: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

“Microsoft is adding 10k servers a month to their infrastructure”

http://blogs.zdnet.com/microsoft/?p=1391

Page 28: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

“That’s one Facebook per month”

http://www.datacenterknowledge.com/archives/2008/04/23/facebook-now-running-10000-web-servers/http://www.istartedsomething.com/20080812/microsoft-enviroment-video-reveals-server-numbers-power/

Page 29: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Amazon talks a lot about the demand…

Page 30: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Animoto went from 50 to 3400 Amazon virtual servers in two days

Page 31: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://aws.typepad.com/aws/2008/04/animoto---scali.html

Page 32: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

The New York Times converted 4TB of TIFFs to PDFs in a day.

For $240

Page 33: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/http://open.blogs.nytimes.com/2008/05/21/the-new-york-times-archives-amazon-web-services-timesmachine/

http://www.roughtype.com/archives/2008/11/the_new_economi.php

Page 34: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And Amazon shows everyone who will sit still for more than 5 seconds

the following picture:

Page 35: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://aws.typepad.com/aws/2008/05/lots-of-bits.html

Page 36: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Assumption: Mom+Pop ISP ™ cannot compete with this.

Page 37: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Are Mom+Pop doomed?

Page 38: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Ultimately, that depends on you, the developers of web apps.

Page 39: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

It’s going to depend on decisions you make about architectural and

engineering concerns.

Page 40: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Architecture is about making design choices. Engineering is about knowing your materials.

Page 41: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Making use of the Cloud is an architectural and engineering

challenge.

Page 42: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

So what are the architectural choices? What are the materials?

Page 43: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://rationalsecurity.typepad.com/blog/2009/01/cloud-computing-taxonomy-ontology-please-review.html

http://cloudcomputing.sys-con.com/node/811519

http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf

SADIST-PIMP

SPI (SaaS, Paas, IaaS)

Page 44: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.mindmeister.com/maps/show_public/15936058

Page 45: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

But wait! Once that’s sorted, you have to consider contextual

dimensions…

Page 46: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf

The Radeztsky Cube

Page 47: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf

Page 48: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

IOW, your choices are influenced by whether you are integrating established apps, or writing a

green-field app….

Page 49: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And whether your architecture will be entirely in the public Cloud, or a

mix of public and private resources.

Page 50: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

For the sake of this workshop, we’re going to refer to the SPI

model…

Page 51: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

SaaS

PaaS

IaaS

SPI Model

Page 52: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

We’re going to assume a green-field app, deployed entirely on the

public Cloud…

Page 53: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

We’re going to focus on the scenario of “your code, running

elsewhere” – not so much on mashups and re-use of SaaS

Page 54: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And we’re going to examine the question of PaaS vs. IaaS for that

app.

Page 55: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 56: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

OK. So what is PaaS?

Page 57: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Platform As A Service

Page 58: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Some examples: Google App Engine, Bungee, Force.com,

Heroku

Page 59: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Characterized by…

Page 60: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Constraints on language and design

Page 61: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A high level programming model

Page 62: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A specific model of multi-tenancy

Page 63: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Takes care of low level concerns

Page 64: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Google App Engine

Page 65: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 66: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 67: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 68: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 69: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 70: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

That’s it.

Page 71: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Constraints on language and design

(Python + BigTable + Goog Svcs)

Page 72: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A high level programming model(The WebApp (or other Python)

framework, Datastore APIs, Memcache, etc.)

Page 73: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A specific model of multi-tenancy

(Google’s BigTable + GFS platform)

Page 74: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Takes care of the low level concerns

(Scales for you (up and down), distribution across cluster nodes,

load balancing, replication of data, etc. )

Page 75: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Pretty cool.

Page 76: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Infrastructure As A Service

Page 77: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Characterized by…

Page 78: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

No constraints on language or design

Page 79: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A high level architectural model

Page 80: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A specific model of multi-tenancy

Page 81: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Takes care of very few low level concerns

Page 82: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

This is a LOT more work. ;)

Page 83: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Amazon Web Services

Page 84: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Amazon Web Services•Elastic Compute Cloud (EC2)•SimpleDB•Simple Storage Service (S3)•Simple Queue Service (SQS)•EC2 Elastic Block Store (EBS)•Other stuff…

•Cloudfront•DevPay•Flexible Payments Service (FPS)•Mechanical Turk•Alexa

Page 85: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

By and large, “Amazon” means “EC2”

Page 86: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

EC2 is the only AWS service that one deploys to

Page 87: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

You just use the other services – whether from an EC2 instance or

anywhere else on the Web is irrelevant

Page 88: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

The core “unit” of EC2 is the Amazon Machine Image – AMI

Page 89: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

An AMI is a virtual machine image – a VM

Page 90: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A VM is just a (very large) file. Like a live ISO disk image. Typically, it is

some distro of Linux.

Page 91: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Amazon uses Xen, an open source VM system

http://www.xen.org/

Page 92: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

The key to IaaS is that you can use any app architecture you like

Page 93: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

The drawback with IaaS is that you therefore have to design your own

app architecture

Page 94: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Generally speaking, this is the same task (with the same effort) that you would need for physical

hardware hosted at an ISP

Page 95: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

App servers, load balancers, databases, clusters, replication,

networking…

Page 96: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

You sort it out yourself

Page 97: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

With Amazon, this begins with obtaining your credentials

Page 98: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 99: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Then you download the command line tools and set them up…

Page 100: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 101: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

You use the tools to proceed through the AMI workflow

Page 102: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 103: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

AMI ID

Page 104: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 105: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

•Create keypair•Save the private key locally•ec2-add-keypair <descriptive keypair name>

•Launch selected instance•Using AMI ID and keypair name•ec2-run-instances <AMI ID> -k <keypair name>•Returns the Instance ID

•Examine the running instance•ec2-describe-instances <instance ID>

Page 106: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 107: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Let’s pick that apart…

Page 108: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…Reservation ID

Page 109: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…AWS Access Key ID

Page 110: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

AWS Access Key ID

Page 111: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…Security Group ID

Page 112: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…Instance ID

Page 113: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…AMI ID

Page 114: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

…External DNS host name

Page 115: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

… Internal DNS host name

Page 116: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Current state of the instance

Page 117: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Keypair name

Page 118: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

AMI Launch Index

Page 119: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Instance type

Page 120: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 121: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Launch time

Page 122: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Availability Zone ID

Page 123: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Availability zones are a bit complicated…

Page 124: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 125: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Other IaaS providers may (or may not) have similar capabilities

Page 126: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

The point is that, unlike GAE, here is yet another detail that you need

to think about

Page 127: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 128: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

•Open network access to the instance•ec2-authorize <security group name> -p <port number> •Can include options like restricting access to a specific (public) IP address

•-s <IP address/CIDR subnet range>•Eg. “-s your_public_IP_address/32”* for just your host

•At a minimum, you need to configure port 22 for SSH access•Connect to the instance with SSH

•ssh –i <private keyfile> root@<public DNS host name>•Note: with “ec2-get-console-output”, you can get (among other things) the SSH host key fingerprint, before logging on with SSH. At login, you can compare to be sure there’s no “man in the middle”

•Begin modifying the instance

Page 129: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Once you’ve modified the image, you “bundle” it (which is a kind of snapshot), upload the bundle to

S3, and register it with EC2

Page 130: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

There are hundreds of publicly available AMIs for use as templates

Page 131: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And, finally, with some set of your own AMIs, you can begin running

instances of your app

Page 132: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And that brings us to the runtime considerations…

Page 133: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

AKA – how does your app scale horizontally?

Page 134: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A brief scalability refresher: vertical scalability is “get a bigger box”

Page 135: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Horizontal scalability is “add more copies of the same box”

Page 136: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

To put it bluntly, if your app can't efficiently scale in a horizontal

fashion, you’re wasting your time on the Cloud

Page 137: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

On GAE, under the covers tech like BigTable, GFS and the legendary

Map/Reduce are taking care of this for you

Page 138: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

In an IaaS context like AWS, you have to solve the problem yourself

Page 139: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

EC2 has a SOAP API that you can invoke – whether you do so from

outside EC2, or from within a running AMI is irrelevant

Page 140: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Invoking the EC2 API to launch and terminate instances from a running

instance gives you the ability to create dynamic horizontal

scalability

Page 141: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Your load balancer AMI could start extra instances of your web server

AMI to meet demand…

Page 142: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And turn them back off, when demand subsides

Page 143: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And there are numerous ways to exploit this capability

Page 144: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

From RightScale to Scalr to Gigaspaces, Hadoop, Terracotta

and countless others

Page 145: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Combined with the other elements of AWS, like S3, SQS, EBS and

SimpleDB, you can design a system that competes favorably with GAE

Page 146: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

This is what “elastic” means

Page 147: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

To repeat: this is a LOT more work. ;)

Page 148: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

No constraints on language or design

(AMIs can be any Linux or Windows server platform, and your

app can be anything that runs on those platforms)

Page 149: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A high level architectural model

(The core services of AWS provide a foundation, and do constrain your design – for example, you

need horizontal scalability)

Page 150: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

A specific model of multi-tenancy

(AMIs are securely isolated from one another, but the underlying

hardware is all shared)

Page 151: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Takes care of very few low level concerns

(You roll your own)

Page 152: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Before we wrap up “deploying to AWS”, however, let’s look at some alternatives to the command line

tools from Amazon

Page 153: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

In terms of managing running instances, and the overall

configuration of things, AWS provides its own Web UI

Page 154: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://console.aws.amazon.com/ec2/home#c=EC2&s=Home

Page 155: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://console.aws.amazon.com/ec2/home#c=EC2&s=Instances

Page 156: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://console.aws.amazon.com/ec2/home#c=EC2&s=Images

Page 157: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://console.aws.amazon.com/ec2/home#c=EC2&s=BundleTasks

Page 158: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://status.aws.amazon.com/

Page 159: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

An ecosystem of 3rd party providers has emerged around AWS

Page 160: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Some of them are specialized in managing VMs

Page 161: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://elasticserver.com/

Page 162: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://elasticserver.com/portals

Page 163: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://elasticserver.com/site/lamp

Page 164: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://elasticserver.com/site/lamp

Page 165: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://elasticserver.com/build-status

Page 166: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 167: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://elasticserver.com/ec2/

Page 168: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 169: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Page 170: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://elasticserver.com/byo/create

Page 171: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://elasticserver.com/my/packages

Page 172: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://elasticserver.com/new-server

Page 173: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

There are other vendors offering similar services, eg. rPath

Page 174: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And there is a spectrum between the simplicity of GAE and the

complexity of AWS…

Page 175: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Let’s take a look at Elastra, for example

Page 176: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 177: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 178: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 179: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 180: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 181: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 182: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://cloud.elastra.com/elastra/

Page 183: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Finally, to wrap up our quick overview of IaaS, let’s look at

Rightscale…

Page 184: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 185: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 186: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 187: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 188: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 189: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 190: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 191: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

https://my.rightscale.com/dashboard

Page 192: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 193: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

But first, a short break…(Jeopardy theme song plays)

Page 194: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 195: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What are some of the questions you need to answer, to decide

between PaaS and Iaas?

Page 196: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

How quickly do you need to go to market?

Page 197: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

How fast do you need to iterate versions of the app?

Page 198: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What are your pre-existing platform needs, if any?

Page 199: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What are your security, compliance, regulatory

requirements?

Page 200: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What is your capacity for system architecture and design work?

Page 201: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

SaaS

PaaS

IaaSFree

dom

FRO

M C

onsid

erati

ons

Freedom TO

Differentiate

SPI Model

http://twitter.com/gblnetwkr

Page 202: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

SaaS

PaaS

IaaS

POW

ER o

f spe

ed a

nd a

gilit

yPO

WER to control

SPI Model

http://twitter.com/gblnetwkr

Page 203: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 204: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What do things really cost?

Page 205: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Simple LAMP app. 1 box as a load balancer / proxy, 4 web server boxes, and one larger box for a

database server

Page 206: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://laughingsquid.net/hosting/

$84 / month

(6 x Giant)

Page 207: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://order.1and1.com:80/xml/order/ServerRoot

$900 / month(1 x Biz1 + 4 x Biz1 +

1 x Enterprise II)

Page 208: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

So, let’s see what the equivalent setup costs on AWS…

Page 209: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Now, AWS bills in units of things like server hours, IOs per month,

GB of storage and bandwidth actually used, etc.

Page 210: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/

Page 211: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

24 hours × 30 days =

---------------------- 720 hours in a month

----------------------

720 hours × 5 small AWS Instances =

---------------------- 3600 hours

----------------------

+ 720 hours of a large AWS instance+ 5000 GB network bandwidth

+ 3200 GB disk space (added to the default space on the instances)+ 50 mil. IORs

+ 30 daily backups----------------------

roughly equivalent to 1+1 …

Page 212: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://calculator.s3.amazonaws.com/calc5.html

$2233 / month

Page 213: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://calculator.s3.amazonaws.com/calc5.html

Page 214: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Despite best efforts, this is still quite imprecise, and apples vs.

oranges, but…

Page 215: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Even more importantly…

Page 216: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

This is an incredibly stupid way to set up and use AWS

Page 217: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://calculator.s3.amazonaws.com/calc5.html

$528/ month

Page 218: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Still not “cheap”, though…

Page 219: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

That’s because the key to “elastic computing” isn’t being able to turn

on servers at will…

Page 220: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

It’s about being able to turn them off.

Page 221: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Let’s rewind to the an earlier part of this discussion…

Page 222: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What’s a web app?

Page 223: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Whatever it is, we said “it’s not static content”…

Page 224: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And I said that makes a big difference

Page 225: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Why is that? Well, the unwritten social contract of the ‘Net says:

“you can’t turn static content off”

Page 226: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Apps do something

Page 227: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

But they generally don’t do it 24x7

Page 228: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Slicing and dicing your design to strictly demarcate static content from active has always been a

Good Idea ™

Page 229: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

In a cloud computing context, it’s not just a good idea – it’s

imperative

Page 230: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What are your usage patterns? When are your peak loads, on

average?

Page 231: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What can you turn off?

Page 232: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And you have to be clever about it…

Page 233: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Your production usage may not even be the place you can save the

most money…

Page 234: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Consider: you want to develop the next version of your app

Page 235: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

You need resources for your developers to do that, and you need a place for them to test

Page 236: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

So, maybe you wind up renting 3 more servers from 1+1

– $300 / month

Page 237: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

But, when you examine usage patterns, you find that your

developers are only using the boxes for 3 hours each day

Page 238: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://calculator.s3.amazonaws.com/calc5.html

$17/ month

Page 239: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Perhaps even more importantly, you’ve made no commitment here

– once your dev / test phase is over, so are the costs

Page 240: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Calculating costs is complex, and entirely context dependent

Page 241: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

There are significant potential savings, but only if you’re clever

Page 242: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Goals for the workshop

Page 243: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Since we worked out, sometime in the early ‘90s, what the

architecture of a “client / server” system design looked like…

Page 244: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

There's been a general consensus about a sort of a canonical

architecture for so-called “N-tier systems”

Page 245: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Presentation

Service Facáde

Application Logic

Data Persistence

Page 246: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Web Server

App Server

Database Server

Page 247: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

So, we’ve talked about the need for horizontal scalability in the

Cloud

Page 248: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

What does that imply?

Page 249: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Well, as already suggested, among other things, parallelism

Page 250: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Parallelism has significant consequences

Page 251: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

It leads one to try to avoid stateful interactions

Page 252: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

To prefer asynchronous communications (messages)…

Page 253: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

One finds oneself on the front lines of the REST War ™ – the battle of

the RESTafarians vs. the established IT Universe

http://www.dehora.net/journal/2008/07/25/patterns-of-web-architecture/http://www.dehora.net/journal/2008/08/15/rest-as-an-engineering-discipline/

http://www.infoq.com/articles/webber-rest-workflow/http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven/http://www.redmonk.com/jgovernor/2009/02/12/the-rest-of-the-cloud/

http://delicious.com/mastermark/rest/

Page 254: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And it forces one to think strange things about optimal patterns of

storing and accessing data

Page 255: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Like sharding one’s data to meet resource demands

http://highscalability.com/unorthodox-approach-database-design-coming-shard/

Page 256: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Questions like “is two-phase commit a feature? Or a bug?”

begin to seem important

Page 257: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

New terms, like CAP, Paxos and BASE creep into conversations about “eventual consistency”

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1495http://en.wikipedia.org/wiki/Paxos_algorithmhttp://queue.acm.org/detail.cfm?id=1394128

http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

Page 258: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

This was happening anyway, driven by the clash of Web architecture with the established IT universe

Page 259: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Cloud computing’s possibilities are accelerating the process

Page 260: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

There is an emerging consensus about what the consequences of all this are for app architectures

Page 261: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

“The canonical cloud architecture that has evolved revolves around

dynamically scalable CPUs consuming asynchronous,

persistently queued events.”

http://highscalability.com/canonical-cloud-architecture

Page 262: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1632&categoryID=102

Page 263: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

•Use scalable ingredients•Eg. Hadoop on EC2

•Keep ingredients loosely coupled•All communication via persistent messaging

•Assume constant failure•Design things to persist state, restart from last known good, and continue their own tasks even if all around them fail•Consider things like re-tries with exponential back-off•Build IN redundancy

•Learn about things like the POSA Blackboard pattern, tuplespaces, and Map / Reduce

Page 264: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.amazon.com/How-Write-Parallel-Programs-Course/dp/026203171X/

Read this book!

Page 265: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

And if your needs / budget require or can accommodate it, consider

RAIC

Page 266: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Redundant Array of Independent Cloud providers

http://www.jroller.com/MasterMark/entry/raic_pronounce_it_rake_please

Page 267: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.jroller.com/MasterMark/entry/raic_pronounce_it_rake_please

Page 268: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Why bother?

Page 269: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Web Server

App Server

Database Server

Page 270: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Mainframe

Page 271: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/dvdmerwe/231593469/

Page 272: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://www.flickr.com/photos/sigkyrre/1091616886/

Page 273: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://twitter.com/gblnetwkrhttp://en.wikipedia.org/wiki/Consumerization

Page 274: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

http://twitter.com/gblnetwkr

Page 275: Fowa Miami 09 Cloud Computing Workshop

Mark Masterson | http://jroller.com/MasterMark

Join the conversation:http://groups.google.com/group/cloud-computing/

http://groups.google.com/group/cloudforumhttp://tech.groups.yahoo.com/group/cloudcomputing-tech/

… and please come talk to us, as well …http://twitter.com/mastermark

http://www.jroller.com/MasterMark/

Thanks!