vertebra

63

Upload: ezra-zygmuntowicz

Post on 18-Dec-2014

26.856 views

Category:

Technology


2 download

DESCRIPTION

This is my presentation from RailsConf 2008 introducing Vertebra, our new cloud computing application platform

TRANSCRIPT

Page 1: Vertebra
Page 2: Vertebra

Scaling Ruby from the Inside Out

Ezra Zygmuntowicz

Page 3: Vertebra

Does Rails Scale?

Page 4: Vertebra

Does Rails Scale?

Of course it does...

Page 5: Vertebra

Does Ruby Scale?

Page 6: Vertebra

Does Ruby Scale?

Of course it does...

Page 7: Vertebra

Should you use Rails or Merb?

Page 8: Vertebra

Should you use Rails or Merb?

YES!

Page 9: Vertebra

Are you sick and tired of endlessly debating

this crap?

Page 10: Vertebra

Are you sick and tired of endlessly debating

this crap?

Of course you are...

Page 11: Vertebra

Me too, let’s talk about something more

interesting...

Page 12: Vertebra

Scaling Ruby from the Inside Out

Page 13: Vertebra

What should we talk about then?

Page 14: Vertebra

What should we talk about then?

The weather maybe?

Page 15: Vertebra

Forecast calls for 100% chance of clouds...

Page 16: Vertebra

Cloud Computing

Page 17: Vertebra

Cloud Computing Platforms

Abstract/Virtual ResourcesCPU

MemoryStorage

API Access

Page 18: Vertebra

Cloudy Weather

• Amazon EC2

• Engine Yard

• Joyent

• Mosso

This is only the beginning...

• 3terra

• Google App Engine

• Project Caroline

• GoGrid

Page 19: Vertebra

There will be *many* cloud computing

platforms in the near future

Page 20: Vertebra

Many virtual machines to manage

Page 21: Vertebra

SSH doesn’t scale...

Page 22: Vertebra

SSH doesn’t scale...

Takes time to setup/teardown connections

Page 23: Vertebra

SSH doesn’t scale...

Takes time to setup/teardown connections

Inherently push only technology

Page 24: Vertebra

Capistrano is an awesome tool

Page 25: Vertebra

Capistrano is an awesome tool

but running commands on thousands of machines in

parallel is pushing it further then it wants to go

Page 26: Vertebra

How will we manage the complexity?

Page 27: Vertebra

How will we manage the complexity?

It’s all about the distribution...

Page 28: Vertebra

We’ve got to think big now! New York, Chicago, LA

Page 29: Vertebra

Introducing VertebraNext Generation Cloud Computing/Automation

Framework

Page 30: Vertebra

Enter XMPPExtensible Messaging and Presence Protocol

Page 31: Vertebra

Enter XMPPExtensible Messaging and Presence Protocol

ExtensibleI like that

Page 32: Vertebra

Enter XMPPExtensible Messaging and Presence Protocol

MessagingWe want to send messages to our thousands of machines

Page 33: Vertebra

Enter XMPPExtensible Messaging and Presence Protocol

PresenceWe want to know when our machines are online or not

and act accordingly

Page 34: Vertebra

XMPP is a realtime messaging protocol built for

IM/chat, great for communication betweenthousands of people, why

not machines?

Page 35: Vertebra

Summoning Slices via XMPP

Page 36: Vertebra

Ejabberd

Horizontally scalable/federated erlang XMPP/Jabber server

High performance even with tens of thousands of connections

Forms the backbone of the system

Page 37: Vertebra

Ruby based agents run on every slice/instance/node

in the cloud

Page 38: Vertebra

Presence let's us know when agents come online or go

offline

Page 39: Vertebra

Security/Discovery/Introduction Framework

Keeps Agents in Touch with Each Other.

Page 40: Vertebra

Distributed Hierarchal Key-Value Storage System Queried via XMPP

Page 41: Vertebra

State Machine/Workflow Engine Coordinates Multiple

Agents/Humans

Page 42: Vertebra

Vertebra

Page 43: Vertebra

CREST

Page 44: Vertebra

CRESTCloud-REST

Page 45: Vertebra

CRESTCloud-REST

Operations on Resourcesin the cloud

Page 46: Vertebra

operation:list/cluster/ey05

/node/42/xen

Page 47: Vertebra

Resource Discovery

Page 48: Vertebra

Resource Discovery

Who provides this set of resources?

Page 49: Vertebra

Resource Discovery

Who provides this set of resources?

Page 50: Vertebra

Map/Reduce Scatter/Gather Dispatch

Page 51: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover

Page 52: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover Scatter

Page 53: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover Scatter Gather

Page 54: Vertebra

quick demo

Page 55: Vertebra

Not only server automation

Page 56: Vertebra

Ejabberd + Comet + Jsjac==

Realtime Web Platform

Page 57: Vertebra

Many Ideas to Experiment With

Page 58: Vertebra

XMPP > HTTP

Page 59: Vertebra

Watch this space...

Page 60: Vertebra

One more thing...

Page 61: Vertebra

One more thing...

Introducing: Engine Yard Express

http://express.engineyard.com/system/ey_express_v0.1.tar.bz2

Page 62: Vertebra

Engine Yard Express

http://express.engineyard.com/system/ey_express_v0.1.tar.bz2

Page 63: Vertebra

Questions?