JUDCon 2010 Boston : CoolingTower and CirrAS

72
CoolingTower and CirrAS Bob McWhirter JBoss Fellow

description

Presented by Bob McWhirter at JUDCon 2010 in Boston.

Transcript of JUDCon 2010 Boston : CoolingTower and CirrAS

Page 1: JUDCon 2010 Boston : CoolingTower and CirrAS

CoolingTower and CirrASBob McWhirterJBoss Fellow

Page 2: JUDCon 2010 Boston : CoolingTower and CirrAS

CoolingTower and CirrASBob McWhirterJBoss Fellow

Page 3: JUDCon 2010 Boston : CoolingTower and CirrAS

Who is Bob?• JBoss Fellow• Chief Architect of Middleware Cloud Computing

• Founder of...• The Codehaus• Drools • TorqueBox

Page 4: JUDCon 2010 Boston : CoolingTower and CirrAS

Who is Marek?

• Marek Goldmann• Polish!• Electronic musician• CirrAS Lead

Page 5: JUDCon 2010 Boston : CoolingTower and CirrAS

Who is Jim?

• Jim Crossley• Loves grits!• Acoustic musician• CoolingTower Lead

Page 6: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS)

Simplified “cloud” stack

Page 7: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS) What you write

Page 8: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS) What you write

What you target

Page 9: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS) What you write

What you target

Where it runs

Page 10: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS) What you write

What you target

Where it runsYou don’t want to care

Page 11: JUDCon 2010 Boston : CoolingTower and CirrAS

Background

Infrastructure(IaaS)

Platform(PaaS)

Software(SaaS) What you write

What you target

Where it runs

But you want JavaEEand easy

Page 12: JUDCon 2010 Boston : CoolingTower and CirrAS

CoolingTower

A simple-to-deploy (and manage) cloud catalyst.

Page 13: JUDCon 2010 Boston : CoolingTower and CirrAS

Deltacloud

To be cloud-agnostic, CoolingTower uses Deltacloud to interface with providers.

Page 14: JUDCon 2010 Boston : CoolingTower and CirrAS

Deltacloud

Cloud

Deltacloud

CoolingTower

Page 15: JUDCon 2010 Boston : CoolingTower and CirrAS

Deltacloud

$ gem install deltacloud-core$ deltacloudd -i ec2Starting Deltacloud API :: ec2 :: http://localhost:3001/api

>> Thin web server (v1.2.7 codename No Hup)>> Debugging ON>> Maximum connections set to 1024>> Listening on localhost:3001, CTRL+C to stop

Page 16: JUDCon 2010 Boston : CoolingTower and CirrAS

Bootstrap your PaaS

CoolingTower is a simple Ruby-on-Rails application you deploy in JBoss.

*See our TorqueBox talk at 5pm!

Page 17: JUDCon 2010 Boston : CoolingTower and CirrAS

CoolingTower

$ cd $JBOSS_HOME$ ./bin/run.sh...JBossAS [6.0.0.20100429-M3 "Neo"] Started in 43s:728ms

Page 18: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTower Deltacloud

Page 19: JUDCon 2010 Boston : CoolingTower and CirrAS

Role #1“I want my app running”

Page 20: JUDCon 2010 Boston : CoolingTower and CirrAS

Developer Portal

Page 21: JUDCon 2010 Boston : CoolingTower and CirrAS

Developer Portal

Page 22: JUDCon 2010 Boston : CoolingTower and CirrAS

Remember!

Besides CoolingTower and the Deltacloud adapter, there is no AS or anything running... yet.

Page 23: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 24: JUDCon 2010 Boston : CoolingTower and CirrAS

Cold start!

Page 25: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 26: JUDCon 2010 Boston : CoolingTower and CirrAS

Your app is now deployed.

Page 27: JUDCon 2010 Boston : CoolingTower and CirrAS

What just happened?

Page 28: JUDCon 2010 Boston : CoolingTower and CirrAS

CirrASCoolingTower just used Deltacloud to launch a JBoss AS cluster, plus a front-end tier of mod_cluster.

These are CirrAS appliances.

Page 29: JUDCon 2010 Boston : CoolingTower and CirrAS

First, send out a scout...• Launch a management node, the spine upon which the PaaS rests.

• Cluster-specific configuration passed to management node.• AWS credentials• S3 bucket for clustering

• Coordinates the weaving of all other nodes.• Includes RHQ/JON/JOPR.

Page 30: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTower DeltacloudManagement

IaaS Provider

Page 31: JUDCon 2010 Boston : CoolingTower and CirrAS

Then launch the tiers...

•Launch 1 node of EWS• mod_cluster• Apache httpd

•Launch 1 node of EAP• JBossAS

Page 32: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTowerManagement

IaaS Provider

EAP

EWS

Deltacloud

Page 33: JUDCon 2010 Boston : CoolingTower and CirrAS

Management Node, activate!

Management node watches the IaaS, notices new nodes appearing.

Page 34: JUDCon 2010 Boston : CoolingTower and CirrAS

Cluster Configuration

•Tells each EAP node about each EWS node

•Tells EAP nodes about the S3 bucket for clustering.

•Restarts services on nodes as appropriate.

Page 35: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTowerManagement

IaaS Provider

EAP

EWS

Deltacloud

Page 36: JUDCon 2010 Boston : CoolingTower and CirrAS

Cluster Formation

•EAP nodes rendezvous on S3 for cluster discovery.

•EAP node informs EWS nodes of cluster view.

Page 37: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTower

IaaS Provider

Deltacloud

S3EAP

Management

EWS

Page 38: JUDCon 2010 Boston : CoolingTower and CirrAS

There ya go...

From nothing to minimal 2-tier cluster in 1 click.

but that’s not all!

Page 39: JUDCon 2010 Boston : CoolingTower and CirrAS

Your app gets deployed

CoolingTower wakes up, notices an EAP node is ready, and deploys your app.

Page 40: JUDCon 2010 Boston : CoolingTower and CirrAS

localhost

CoolingTower

IaaS Provider

Deltacloud

S3EAP

Management

EWS

Page 41: JUDCon 2010 Boston : CoolingTower and CirrAS

Gives you a URL

Page 42: JUDCon 2010 Boston : CoolingTower and CirrAS

mod_cluster status

Page 43: JUDCon 2010 Boston : CoolingTower and CirrAS

Role #2“I gotta keep all of this stuff running”

Page 44: JUDCon 2010 Boston : CoolingTower and CirrAS

PaaS Administrator

Ultimately a PaaS is a shared resource. One administrator for N applications.

Page 45: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 46: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 47: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 48: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 49: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 50: JUDCon 2010 Boston : CoolingTower and CirrAS

Scale

To scale a tier, administrator simply launches more nodes.

CirrAS appliances have been intentionally designed to be automatically horizonally scalable.

Page 51: JUDCon 2010 Boston : CoolingTower and CirrAS

*click*

Page 52: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 53: JUDCon 2010 Boston : CoolingTower and CirrAS

I love coffee.

Now would be a good time to enjoy some.

Page 54: JUDCon 2010 Boston : CoolingTower and CirrAS

What’s going on?While we enjoy our beverage...• Another CirrAS node starts up.• Management node notices.• Shoots configuration (S3, EWS) to it.• It joins the cluster.• Neighbor hands the app to it.• It becomes an available worker.

Page 55: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 56: JUDCon 2010 Boston : CoolingTower and CirrAS

Oh yeah, JON

Page 57: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 58: JUDCon 2010 Boston : CoolingTower and CirrAS

Embedded JOPR

Page 59: JUDCon 2010 Boston : CoolingTower and CirrAS

Role #3“I’m a user, and I want to

use your app a whole lot.”

Page 60: JUDCon 2010 Boston : CoolingTower and CirrAS

Our user...

Page 61: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 62: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 63: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 64: JUDCon 2010 Boston : CoolingTower and CirrAS

Take a node out of service.

Page 65: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 66: JUDCon 2010 Boston : CoolingTower and CirrAS

Scale more!

Page 67: JUDCon 2010 Boston : CoolingTower and CirrAS
Page 68: JUDCon 2010 Boston : CoolingTower and CirrAS

1 EWS $0.085 EAP $0.401 Management $0.08

$0.56

For less than the cost of a cup of coffee...

Page 69: JUDCon 2010 Boston : CoolingTower and CirrAS

Roadmap

• Application versions• Multiple clusters/environments• Per-application configuration• ELB/HAProxy support

Page 70: JUDCon 2010 Boston : CoolingTower and CirrAS

Thanks!

Page 71: JUDCon 2010 Boston : CoolingTower and CirrAS

Q&A

Page 72: JUDCon 2010 Boston : CoolingTower and CirrAS

Resourceshttp://jboss.org/stormgrind/ # Projectshttp://cloudpress.org/ # Blog

#stormgrind # IRC

@stormgrind # Twitter@marekgoldmann@jcrossley3@bobmcwhirter