The current 0.50 Beta release is for EVALUATION USE ONLY! expect a more production quality release in the next one to two releases.

Welcome to Cerber Grid

Cerber Grid is a light-weight high performance grid that combines simplicity and easy of use with a powerful and versatile architecture.

Cerber Grid contains a web interface that allows for a user to submit and view jobs, view statistics on the controller and the nodes, and other administrative functions.

Why was this framework created and what does it offer me? I believe that typically, the most simple and straight foward design will satisfy the majority of what people will use an application for, and satisfy it better. I have evaluated several popular grids implemented in Java and all of them were either too complex to use, too bloated, or took too long to set up. None offered what I wanted, to be operational in virtually as long as it took me to extract the application. Cerber Grid offers this. In a matter of minutes after Cerber Grid, you can have a distributed Hello World example working and implemented in any of over 10 languages. It is not always about how many things an application can do, but how efficient it can do the few things you need it to.

Why restrict the user to Java 1.6? Some of the most crucial technology in Cerber Grid was made possible because of the new scripting features of Java 1.6. Jobs and Job Triggers can be created in many of the scripting languages that currently have extensions for 1.6. The powerful concept here is that the user defines the code in the system, not me. I only created the framework that the user ultimately dictates.

Features

Cerber Grid provides the following functionalities:

  • Security: All communication between the Controller and the nodes is SSL protected.
  • Lazily Intialized Controller: There is no direct communication with the controller. All jobs are submitted to a database which the Controller periodically polls.
  • Support for over 10 languages with more added in future releases:
    native: bash, perl, python, ruby
    Java interpretted (JDK 6): beanshell, groovy, jruby, jython, sleep
  • Partitioning of Nodes and Jobs by defining Execution Groups
  • Unlimited Chaining together Jobs through Job Triggers
  • Ability to write custom plugins and invoke them in Jobs or Job Triggers. See the Distributed Nmap example.

Considerations

Please make note of the following:

  • This framework is currently in BETA evaluation mode. What does that mean? It means that the code is funtional, however, it is currently in heavy flux and the future releases will likely have modified entities. Therefore, please evaluate this framework to see if it serves your purposes, and if so, stay tuned for a non BETA release.
  • The exact security model of Cerber Grid has yet to be determined. That said, communication withing the grid can easily be encrypted via a setting in the properties file. Certain plugins such as the Nmap Scanning requires root access, so I am currently testing everything as root. In the future I will be solidifying the security model.
  • Cerber Grid is designed for people who know how to script or code. This framework is very straight forward and logical, however it does require at least a basic ability to program. That is, unless you are going to be using the built in plugins or you can copy and paste from the examples.
  • To maximize the effectiveness of this framework, you should be at least an intermediate programmer in one language.

License

Cerber Grid is released under the GNU Lesser General Public License (LGPL), so free for both commercial and non-commercial use.

Note:
Required JDK: Sun 1.6 or later.