Top 5 Reasons GridGain Makes Developer’s Life Easier

After seeing Cameron McKenzie’s call for other vendors to produce Top 5 reasons their products make the developer’s life easier – here’s the top from GridGain.

1. Integrated Compute and Data Grids
GridGain’s “High Performance Cloud Application Platform” is the only solution that combines state of the art compute and data grids – two built from the ground up technologies tightly integrated into one cohesive product. Developers no longer need to sacrifice features by emulating compute grid with data grid or vice versa, and no longer need to integrate unfitting products to achieve full featured affinity-based MapReduce processing.

2. Zero Deployment
Unique to GridGain, zero deployment provides advance cloud-enabled on-demand class loading to any JVM-based applications. It allows to avoid any manual deployment of the user code. No websites to click through, no awkward manual network configuration or restarts, no Ant/Maven builds, no IDE plugins, and no custom management consoles required.

You can execute new code or cache new types of data in GridGain without any specific deployment or restarting of your grid. You can essentially have a live grid/cloud installation, create dynamically new Java or Scala class and immediately put it into data grid and start querying it – again, avoiding any deployment steps or downtime due to restart.

3. Advance Functional API for Compute and Data Grid
GridGain comes with advanced Functional Programming (FP) frameworks for Java. Not only it support all the basic FP functionality like closures and predicates, typedefs and type aliases, currying, continuations and comprehensions – it also the only FP framework that is fully distributed in nature. GridGain allows to perform most of the distributed operations in FP style such as executing closures on the cloud or route distributed executions to predicate-based topology projections.

4. Native Integration with Scala
GridGain provides unique Scala-based DSL for distributed programming that dramatically simplifies the usage of GridGain with Scala language. Here’s the full Scala source code for the MapReduce application that counts non-empty characters in the given string by splitting this process over the cloud:

import org.gridgain.scalar._
import scalar._

object ShortestMapReduce {
	def main(args: Array[String]) = scalar {
		println(“Count is: “ + (grid spreadReduce (
			for (w <- args(0).split(" ")) yield () => w.length,
			(s: Seq[Int]) => s.sum

This application works on any size of grid or cloud, automatically joins the topology, uses zero deployment so no explicit deployment is required, fails over in case of errors, automatically scales up and down depending on size of the input string and number of nodes available.

And by the way – the Java version using our FP framework looks almost exactly the same…

5. Ability to run entire cloud in a single VM
It may not be the product defining feature – but the ability to lunch multiple GridGain nodes right in the same JVM is one of the greatest time savers today in distributed computing. In fact, you can lunch entire grid or cloud right in the same JVM, put breakpoints onto multiple nodes and step through the entire cloud tracing your distributed logic in your debugger never leaving the IDE.

We use this capability internally at GridGain when developing the GridGain itself and it literally saves up to few hours every day (!) comparing to remote debugging and scouring logs from multiple computers and trying to sync up the timestamps in the logs.

3 responses

  1. Trying to run your code on scala-2.8.1 and gridgain-3.0.5 and I get:

    error: ‘;’ expected but ‘,’ found.
    for (w w.length,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: