InfoQ

News

Vertebra: EngineYard's Next Generation Cloud Computing Platform

Posted by Mirko Stocker on Jun 08, 2008

Community
Ruby
Topics
Cloud Computing ,
Deployment / Datacenter
Tags
Erlang ,
RailsConf ,
XMPP

Ezra Zygmuntowicz, founder of EngineYard and Merb developer, presented his latest project—Vertebra—at RailsConf 2008. The presentation slides are available on Ezra's blog.

We talked to Ezra to learn what Vertebra is and what his plans for it are.

Vertebra is a fairly large scope project. It is best described as a next generation Cloud Computing Platform. Built with Erlang/Ruby and centered around Ejabberd and XMPP. Vertebra can be used for automating the cloud as well as for distributed real time application development. The whole idea of Vertebra is to democratize the cloud, abstracting the cloud interface API's and allowing folks to utilize multiple cloud providers based on a number of cost/benefit factors. It also has large potential for enterprise integration projects. If you have some old legacy service that needs to join a modern architecture, you can write a simple agent to get your legacy service on the Vertebra message bus where it can be addressed by anything else on the message bus in a standard way.

Vertebra itself is the 'backbone' of a new platform. We are using it to automate many many servers, but it also has big implications for application developers working on the real time web. It is basically an integration system, any language with an XMPP library that implements our protocol can join the XMPP cloud and become part f a larger organism of machines and services.

So Vertebra will come with tools for automating deployment of applications and virtual servers in the cloud. But will also be useful as a backend messaging and distributed computing system that runs behind web apps, giving them powerful tools for running compute heavy jobs in parallel ala map/reduce. It will also allow for dispatching based on least loaded nodes. Say you get a request to your web app that includes some image processing and you have a farm of 20 backends that can process images. When you get the request to your web app, you make a call to vertebra asking for the least loaded node that can service this particular request, vertebra returns a list of least loaded nodes and allows you to dispatch based on this or many other factors.

We were also interested in the Ruby–Erlang combination and wanted to know how they work together.

[..] significant portions of the system are written in Erlang, Engine Yard recently hired two kick ass Erlang programmers to work on the system. The security/discovery mechanism, the state machine workflow system and the distributed key-value storage system are all written in Erlang. The agent framework for writing agents is all ruby though and the actual functionality of the agents is ruby.

But Vertebra is about integration of disparate systems so any language can become part of the XMPP cloud by simply implementing our protocol.

So when is all this technology going to be released, and under what license?

I'm happy to say that I got approval to release all of Vertebra as open source with a GPL license. We will offer paid support for Vertebra as well as hosted Jabber/Erlang infrastructure as a service.

I cannot say a definitive release date as it is still in flux. We have to finalize some aspects of our protocol and write up the XEP jabber standard document in order to get our protocol recognized as an official XEP. Of course we want to get this out there as soon as possible because I think Vertebra has far reaching ideas and I'm excited to see what other folks do with it.

We should be able to open it up this summer once we have locked down the protocol and written decent documentation.

I think web 3.0 is going to be about the real time web. XMPP is going to play a major role in this movement, Vertebra will be a great platform to build and integrate many disparate services.

 

Nice coverage by Mickaël Rémond Posted Jun 10, 2008 5:57 AM
Re: Nice coverage by Mirko Stocker Posted Jun 12, 2008 2:04 PM
Re: Nice coverage by Mickaël Rémond Posted Jun 14, 2008 9:25 AM
  1. Back to top

    Nice coverage

    Jun 10, 2008 5:57 AM by Mickaël Rémond

    Hello,

    Nice coverage of the increase use of XMPP to manage loosely coupled architectures.

    One short notice the official URL of ejabberd is wrong: The home page is at: www.process-one.net/en/ejabberd/

    I hope you will be able to update it.

  2. Back to top

    Re: Nice coverage

    Jun 12, 2008 2:04 PM by Mirko Stocker

    Sorry for the wrong URL, I've corrected it.

  3. Back to top

    Re: Nice coverage

    Jun 14, 2008 9:25 AM by Mickaël Rémond

    No problem, thank you !

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.