Hi community,
on Friday I attended with Todor an hackathon. We build a pilot which is able to execute vertx platform on Hadoop YARN. Its available on
https://github.com/orolle/vertx-on-yarn. See README to test the pilot yourself. You need > 4 GB for the VM to be able to execute the pilot.
Hadoop YARN is like a cluster OS which negotiates computing resources to applications. vertx-on-yarn allocates resources to containers on a YARN cluster, and launches a vertx platform instances in the container, by using twill (twill simplifies the YARN API, which is a mess). Within the container a single vertx platform instances is started on which you can deploy modules and verticles.
In the pilot the platform deploys crashub SSH which you can log in and interact with vertx. It also deploys a java script verticle which proofs that we are able to use any supported language to write applications which can be executed in a distributed way on any YARN cluster. This makes scaling easy because YARN is the quasi standard for Big Data clusters while you can use your favorite language to build the scalable application. This combination is a very unique feature and I have not seen a similar functionality in any Big Data project or within the web development community! Last but not least I see vertigo in this context as an abstraction of the event bus, making it easy build a scalable communication between module instances.
The business process stuff I am working on is there to help building scalable business processes on top of vertigo - but this needs more research as I started this project in a naive way, the presentation-layer (aka. web service) is problematic to connect with the vertigo network which exectues the the business process.
A very important decision we have to make, is how we provide web service functionality with vertigo (maybe we use yoke module or other 3rd party? maybe we provide something ourself?). If we have that we have a usable scalable web framework to develop applications on Big Data clusters. On the other hand if the platform or something similar would be available in vertx3 I would work on UI and module registry as this allows to publish functionality similar to npm for node.js - damn it, I am indecisive!
Before I publish vertx-on-yarn on vertx mailing list I like to have feed back from you!
best regards
Oli