MWRC: Kirk Haines - Vertebra
Kirk Haines - Vertebra
Kirk is working for EngineYard on Vertebra
Jordan's Summary
Vertebra is a solution from EngineYard to manage processes in the cloud. Still in development (no production usage so far). Sounds interesting, will probably take a look at their source code if for nothing else than an interesting architecture. Uses XMPP, which I seem keep hearing about these days.
Cloud Computing
Clouds are great b/c it's many, many machines waiting to do you bidding.
Clouds are hard b/c there are many, many machines to manage.
Scripted SSH works, but he says it has its limits. Vertebra built to be 'fault-tolerant operations among autonomous agents'.
Enter Vertebra
Built on XMPP.
- very chatty protocol
- upside to chatty-ness is fault tolerance. back-and-forth paints the picture of message reception.
- goal is: if network dies, operation in progress should be able to pick right up where it left off
For an XMPP Server they use EJabberd
The pieces of Vertebra are agents. E.g. a logger agent.
Special Vertebra Agent: Herault
- originally written in ruby, rewritten in erlang for performance & scalability
- new agents coming on board advertise their capabilities to Herault
- when looking for capabilities ('show me all loggers') you ask Herault
- also handles authorization for dispatching operations
- when asking Herault to dispatch an operation, can specify :all or :single (more options in the works)
Concurrency API
Talking about using vertebra to schedule future units of work that may or may not execute depending on a given set of conditions.
