vertebra

32
Vertebra p2p Cloud Control Framework Ezra Zygmuntowicz

Upload: ezra-zygmuntowicz

Post on 18-Dec-2014

8.781 views

Category:

Technology


3 download

DESCRIPTION

This is my latest talk on vertebra, it's a bit more technical then the last one as the system has eveolved since then.

TRANSCRIPT

Page 1: Vertebra

Vertebra

p2p Cloud Control Framework

Ezra Zygmuntowicz

Page 2: Vertebra

Problem:

Page 3: Vertebra

Problem:Booting a cluster is a complex process

Page 4: Vertebra

Problem:Lots of

interdependent tasks to perform

Page 5: Vertebra

Problem:No ‘init’ for clusters...

Page 6: Vertebra

Problem:Lots of servers to

control in the cloud

Page 7: Vertebra

Problem:Complex

interactions and deployment scenarios

Page 8: Vertebra

Solution: Vertebra

Page 9: Vertebra

Operations on Resource Sets is Vertebra’s

Fundamental Abstraction

Page 10: Vertebra

Resources are Hierarchical

‘/’ >= ‘/foo’‘/foo’ >= ‘/foo/42’

‘/foo’ == ‘/foo’

‘/foo/42’ <= ‘/foo’

Page 11: Vertebra

Resource Set Matching

Needs/cluster/1/slice/42

/gem

Page 12: Vertebra

Resource Set Matching

Needs/cluster/1/slice/42

/gem

Provides/cluster/1/slice/42

/gem

Page 13: Vertebra

Resource Set Matching

Needs/cluster/1/slice/42

/gem

Provides/cluster/1/slice/42

/gem

>=Matches!

Page 14: Vertebra

Resource Set Matching

Needs/cluster//slice/42

/gem

Provides/cluster/1/slice/42

/gem

>=Also

Matches!

(slice 42 on *all* clusters)

Page 15: Vertebra

Resource Set Matching

Needs/cluster/1

/slice//gem

Provides/cluster/1/slice/42

/gem

>=Also

Matches!

(all slices on cluster 1)

Page 16: Vertebra

Resource Set Matching

Needs/cluster/1/slice/42

/gem

Provides/cluster/1/slice/42

/xen

!~

(no soup for you)

No Match!

Page 17: Vertebra

Resource Discovery

Who provides this set of resources?

Page 18: Vertebra

Resource Discovery

Who provides this set of resources?

Page 19: Vertebra

Resource Discovery

Who provides this set of resources?

Dynamic DNS for Cloud Resources

Page 20: Vertebra

Map/Reduce Scatter/Gather Dispatch

Page 21: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover

Page 22: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover Scatter

Page 23: Vertebra

Map/Reduce Scatter/Gather Dispatch

Discover Scatter Gather

Page 24: Vertebra

Fault Tolerant Protocol on top of XMPP

Each agent can act as a Client or a Server or both at once.

State machines for Client/Server Protocols

Page 25: Vertebra

Fault Tolerant Protocol on top of XMPP

Page 26: Vertebra

Key/Value Data StoreQueried via an ‘op’

Uses Resource ‘Sets’ as compound keys

key:/cluster/1

/customer/foobar

value:{... arbitrary hash ...}

Page 27: Vertebra

Workflowcoordination of multiple agents

Operations are like unix processes:

hash as stdin/stdout

Workflows are likecommand line pipes

tying together multipleoperations

Page 28: Vertebra

Integration with IM via XMPP

Page 29: Vertebra

Integration with IM via XMPP

Any ‘state’ in a workflow can call out to meatware

Page 30: Vertebra

JsJac for Realtime XMPP in Browser

Eventually plan have Vertebra library written in javascript. Making the browser into just another agent

in the system ;)

Let me know if you are a JS hacker and want to help

Page 31: Vertebra

Release “Real Soon Now™”Completely Open Source

Team Members:Ezra Zygmuntowicz: Dev Team Lead

Jayson Vantuyl: ArchitectEd Muller: Engineering ManagerJosh Sierles: Software EngineerSam Tesla: Software Engineer

Kevin Smith: Software Engineer

Page 32: Vertebra

Demo & Questions?