Discussions

News: Top 5 Reasons GridGain Makes Developer’s Life Easier

  1. Last week TSS gave some play to GigaSpaces and their XAP release, publishing a list of the top five reasons why XAP 8 made life easier for the developer. Of course, we also threw the gauntlet down to any of the other vendors in that space that might have some top five lists of their own. Well, it's no surprise that Nikita Ivanov of GridGain fame accepted the challenge and tossed his top five list into the ring as well.

    So, without any further ado, here are the top five reasons how GridGain makes the enterprise developers life easier; and yes, TSS readers should be warned that there is indeed some Scala in the following article.

     

    Top 5 Reasons GridGain Makes Developer’s Life Easier

    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.

    Top 5 Reasons GridGain Makes Developer’s Life Easier

    GridGain Homepage 

    Video Tutorials on using GridGain 

    Threaded Messages (22)

  2. Fair enough.[ Go to top ]

    Well, in the interests of fairness, without feeling the need to run down gridgain:

    1. .. isn’t quite true. tuple spaces have integrated processing and data and messaging from day one. Plus, other grids are adding the same features, so: historically and in the current state of the art, not quite accurate. (Perhaps you didn’t know?)
    2. True… except the “unique to GridGain” part. Again, you’re not doing your homework very well. 
    3. I can deal with that statement. Tuple spaces are functional in nature to begin with, but I don’t know that we can claim to include "advanced FP frameworks," for example. The Akka project might have something to say about that statement, however. 
    4. Nice on the DSL. I like that – I’ve been wanting more polyglot focus, so it’s nice to see others moving in the same direction.
    5. You do know you’re far from the only grid that can do that, right? We certainly advocate it as well.

    GridGain is a really neat product. I just wish its authors didn't need to have a kneejerk and virulently negative reaction whenever anyone says something positive about !GridGain.

  3. clarify[ Go to top ]

    Joe,

    Since you did your homework can you please point me to any other product that comes close to GridGain in terms of zero deployment? Would love know about it (just make sure you compare apples to apples).

    We stand by all the assertions we've made in the article - down to every single point. 

    Best,

    Nikita Ivanov.

  4. clarify[ Go to top ]

    Nikita, you made so many subjective claims that there's no rational way to actually substantiate something being "close to" zero deployment. Our normal development environment is embedded; we're certainly able to work with a single JVM; even other products like Coherence have the features you claim are unique to GridGain.

    Of course, you might be saying something like "nobody else uses com.gridgain as a package!" which is, well, more than likely unique to you.

    If you want to see rough equivalents, that's fine. They'd be qualitative comparisons and not quantitative, though, to which historically you'd respond with "See? SEE? You don't do it the exact same way we do! We win!" -- and I'm not interested.

    There's no "winner" here. Each product has its strengths and weaknesses - I just wish you'd be more willing to see everything as something other than a zero sum game.

  5. clarify[ Go to top ]

    If you want to see rough equivalents, that's fine. They'd be qualitative comparisons and not quantitative, though, to which historically you'd respond with "See? SEE? You don't do it the exact same way we do! We win!" -- and I'm not interested.

    Joe, if you are not interested, then stop replying. Otherwise, let me assume for now that you are interested. I don't think you even remotely understand what *zero deployment* is, so let me put it in perspective for you. Since this feature is mostly useful in development environment, then let met describe how you develop with GridGain.

    Imagine a grid where you startup a bunch of GridGain nodes on your desktop or laptop without deploying anything to it. Then you write a simple program in IDE of your choise (Eclipse, IDEA, NetBeans, etc...), hit Run button and it just starts executing on the grid nodes you have started. No ant or maven scripts, no jars to build - it just works. Then you realize that you made a mistake and fixed your code. Once you hit Run button again,  the old code gets automatically undeployed and the new code starts executing.

    Now, wake me up when GigaSpaces has something remotely resembling this ease of use, but until then please stop throwing these baseless assertions that everyone "has" it.

    Note that I have not even started comparing intuitiveness or ease of use of GridGain APIs, or even a mere fact that I need to pretty much sell my house to even consider purchasing GigaSpaces.

    --Dmitriy

  6. clarify[ Go to top ]

    Heh, I think you just validated why I wasn't interested in doing a lot of point-by-point. :)

    As far as "zero-deployment," well, you could always look at XAP, if you were interested - it's trivial to redeploy and modify after you've corrected things in development. I guess when I don't have an explicit redeploy step, that's 'zero deployment.'

    As far as the convenience of APIs, well, we scored a green where you scored a sine waveform. (You wanted apples to apples, by defining gridgain as the definitive tree. Sorry.)

  7. Wounded innocence[ Go to top ]

    Joe,

    Let me put this into the context. My blog had nothing to do with GigaSpaces. I just took Cameron’s idea and created our own Top 5 list (no mentioning of GigaSpaces, Coherence, etc.).

    Now this is getting a bit melodramatic. You are gnashing on one feature that GigaSpaces happened not to have and we have. Pretty big feature, I agree. No reason trying to invent it out of thin air on the forum like this. 

    Unless, of course, you call this as your "zero deployment" feature: http://www.gigaspaces.com/wiki/display/XAP7/Deploying+onto+the+Service+Grid

    GigaSpaces has other features that GridGain doesn’t - so no need to hyperventilate. And as far as “scoring green” you lost me there buddy, but keep on scoring whatever it means for you :)

    Best,

    Nikita.

  8. Wait... "sell your house?"[ Go to top ]

    Really? Sell your house? You do realize you can use Gigaspaces' community edition, right? It's free and everything? It doesn't have every feature the premium edition has, to be sure, but...

    Dude. Really. Relax. It's not a zero-sum game. For myself, I'm always happy when people do positive things with grid-oriented technologies, because that lowers the burden of education we have to go through. Every participant opens up the market a little more.

    That's why I don't go around saying "golly GridGain sucks!" - if I even thought that, which I don't. I don't think GridGain is as good as XAP, but then again, I'm biased. But I don't run your product down because there's no point, and we wouldn't gain anything by doing so.

    Do you gain when you try to put down GigaSpaces? Really?

  9. Joe, GigaSpaces,

    That's just sad. I'm signing off - i have no interest (really) to argue with melodramatic wussies... I'll let the readers to scroll up and judge for themselves. 

    Cheers,

    Nikita.

  10. Yes - sell the house to afford GigaSpaces.[ Go to top ]

    Just search for Nikita's posts on this and other forums and judge for yourself.

  11. Wait... "sell your house?"[ Go to top ]

    That's why I don't go around saying "golly GridGain sucks!" - if I even thought that, which I don't.

    Really? The only thing you have been doing is running around and saying exactly that. You work for GigaSpaces and your position is understandable, but don't try to paint an ivory tower with GigaSpaces on top of it. You need to realize your strengths and weaknesses, and, I am sorry to break it to you, but nieither "ease of deployment" or "ease of use" are your strengths.

    And by the way, YES, you do need to sell your house to use GigaSpaces, and yes, it's not a "zero-sum" game, but price does become one of important factors, among others, when users evaluate our products.

    --Best

  12. I don't think so.[ Go to top ]

    Dmitry, please - please - find an example of my saying GridGain sucks. I ask sincerely, because I'm unaware of having said so, because I don't think it.

    I ran a search on Google, and didn't find any such opinion expressed by me. I'd love to find out where you saw it, because I honestly doubt such an opinion is out there.

    And no, you don't need to sell your house to buy GigaSpaces. Please dump the hyperbole, thanks.

     

  13. memory leak?[ Go to top ]

    Dmitry, please - please - find an example of my saying GridGain sucks. I ask sincerely, because I'm unaware of having said so, because I don't think it.

    One does not have to look far... just scroll up. And you perfectly know that this is not the first time you have done it. It almost seems like attacking GridGain was part of your job description at GigaSpaces :)

    Long story short, this thread was never about you... you injected yourself in and now are accusing others of attacking you... pretty funny if you think about it.

  14. memory leak?[ Go to top ]

    Dmitry, please - please - find an example of my saying GridGain sucks. I ask sincerely, because I'm unaware of having said so, because I don't think it.

    One does not have to look far... just scroll up. And you perfectly know that this is not the first time you have done it. It almost seems like attacking GridGain was part of your job description at GigaSpaces :)

    Long story short, this thread was never about you... you injected yourself in and now are accusing others of attacking you... pretty funny if you think about it.

    I never thought it was about me. Dmitry, at no point did I say anything like "Gridgain sucks." Not on the web, not on this thread, not to other people directly.

    If you were to read this thread and what I've said on it, here's what you get:

    "You said these were features unique to GridGain; I don't believe that's necessarily accurate." Where the features were unique or impressive, I said so. Where they were not unique, I pointed that out.

    That's not the same as "Gridgain sucks." That's "I don't think you're correct."

    What I think is happening is that you want to think I dislike Gridgain, so whatever I say that isn't glowingly positive is interpreted as an attack. You may want to revisit that opinion, because it's not beneficial to anyone.

  15. Let's move on[ Go to top ]

    Joe,

    I'll buy the beer round next time we cross on some conference and you'll tell me everything about "scoring green" :) Let's move on for the benefit of the readers.

    Best,

    Nikita Ivanov.

  16. Let's move on[ Go to top ]

    *nod* agreed, Nikita - except I'll buy the beer,  mate. :)

    Incidentally, the 'scoring green vs. a sine wave' was a (not very good) point about apples to apples. I scored a color; you scored a mathematical function. Is green better than math? That's... I don't know.

    In other words, it was a bit of a joke. :)

  17. Where?[ Go to top ]

    I don't see anywhere where he claims GridGain sucks. He only contests the accuracy of some of the 5 points. He does say GridGain sucks. I only see him saying he thinks Gigaspaces is better. He asked you to cite where he has ever said it sucked. Lacking proof you dodged.

  18. oops![ Go to top ]

    s/He does/He doesn't/

  19. GI Joe?[ Go to top ]

    Hi "GI Joe",

    It does seem a little bit unfair that you hide behind a fake name while taking pot-shots. Obviously we can tell which "side" you are on, which makes your anonymity all the more suspect. Do Gigaspaces a favor and clarify who you are, so that people don't assume that some Gigaspaces employee is astroturfing.

    Peace,

    Cameron Purdy | Oracle Coherence

  20. What?[ Go to top ]

    What pot shot did I take? 

    As far as Gigaspaces goes I've evaluated it for one project and dinged it (for an Oracle product).

  21. :)[ Go to top ]

    Ironic :)

  22. Clarification[ Go to top ]

    Guys,

    Not that I'd want to pour more oil on that fire, however I'd like to add that "Zero deployment" is not unique to GridGain: JPPF does it too, and has done so for a long time.

    This is indeed a fabulous feature in GridGain, it's just not unique.

    -Laurent

  23. How does gridgain deal with deployments? So if I have a bunch of machines, how are these machines updated when a big update (that potentially could cause problems) is rolled out? Is there a mechanism that allows for partial upgrades and on success, do a complete upgrade.