Top Banner
63

Vertebra

Dec 18, 2014

Download

Technology

This is my presentation from RailsConf 2008 introducing Vertebra, our new cloud computing application platform
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?