Monday, 09 July 2012

JBoss Data Grid lands in Red Hat Summit!

It’s just over a week since Red Hat Summit/JBoss World 2012 finished and it was a great pleasure to be part of it. Heiko Rupp and I were speaking about "Effectively Manage & Monitor Red Hat JBoss Data Grid Nodes" where we presented JDG and JON at a high level and then we showed a demo of both products interacting with each other. The presentation’s slides are now available for download.

I was not the only one speaking about JBoss Data Grid. Both Manik, the Infinispan project lead, and Alan Santos, the product manager for Infinispan, were also delivering talks on JBoss Data Grid. Although their presentations are not up yet, you’ll be able to download them from here.

I also met some Infinispan customers, such as Erik who’s been using Infinispan at a well known telecommunications company, or two of the lead technical guys at a well known Geneva bank. We had some great conversations where we were able to synch up our roadmap with them to make sure any requirements they had are met in the future.

Of the presentations I attended, I was particularly impressed by Pete and Marius' 10 minute demo on going from 0 to a fully fledged mobile application running on top of AS7 in OpenShift in the "What’s New in Java Frameworks for Web, Cloud, & Mobile" BOF. I hope it was recorded cos it was very impressive stuff.

It was a great week and once again it was a pleasure to be part of the Red Hat Summit and JBoss World :)

Cheers,

Galder

Posted by Galder Zamarreño on 2012-07-09
Tags: conference jdg event jbossworld

Thursday, 09 June 2011

Keynote of the decade: behind the scenes, an Infinispan perspective

JBoss World 2011's much talked about keynote ended with a big bang - a live demo that many thought we were insane to even try and pull off - and has sparked off a lot of interest, many claiming JBoss has got its mojo back.  One of the things people keep asking is, what actually went on?  How did we build such a demo?  How can we do the same?

imageFirstly, if you did not attend the keynote or did not watch it online, I recommend that you stop reading this now, and go and watch the keynote. A recording is available online (the demo starts at about minute 35).

Ok, now that you’ve been primed, lets talk about the role Infinispan played in that demo.  The demo involved reading mass volumes of real-time data off a Twitter stream, and storing these tweets in an Infinispan grid. This primary grid (known as Grid-A), and ran off 3 large rack-mount servers. The Infinispan nodes were standalone, bootstrapped off a simple Main class, and formed a cluster, running in asynchronous distributed mode with 2 data owners.

Andrew Sacamano did an excellent job of building an HTML 5-based webapp to visualise what goes on in such a grid, making use of cache listeners pushing events to browsers and browsers rendering the "spinning spheres" using HTML 5’s canvas tag.  So now we could visualise data and data movement within a grid of Infinispan nodes.

imageAs Twitter data started to populate the grid, we fired up a second grid (Grid-B) consisting of 8 nodes. Again, these nodes were configured using asynchronous distribution and 2 data owners, but this time these nodes were running on very small and cheap plugtop computers.  These plugtops - GuruPlugs - are constrained devices with 512MB of RAM, a 1GHz ARM processor.

Yes, your iPhone has more grunt :-) And yes, these sub-iPhone devices were running a real data grid!

The purpose of this was to demonstrate the extremely low footprint and overhead Infinispan imposes on your hardware (we even had to run the zero assembly port of OpenJDK, an interpreted-mode JVM, since the processor only had a 16-bit bus!). We also had a server running JBossAS running Andrew’s cool visualisation webapp rendering the contents of Grid-B, so people could "see" the data in both grids.

We then fired up Drools to have it mine the contents of Grid-A and send it to Grid-B applying some rules to select the interesting tweets, namely the ones having the hashtag #JBW. With this in place, we then invited the audience to participate - by tweeting with hashtag #JBW, as well as the hashtag of your favourite JBoss project - e.g., #infinispan :-)  People were allowed to vote for more than one project, and the most prolific tweeter was to win a prize.  This started a frenzy of tweeting, and was reflected in the two grid visualisations.

Not only Infinispan is very quick here: needless to say, Drools was sending the tweets from Grid-A to Grid-B using HornetQ, the fastest JMS implementation on the planet.

Jay Balunas of Richfaces built a TwitterStream app with live updates of these tweets for various devices, including iPhones, iPads, Android phones and tablets, and of course, desktop web browsers, grabbing data off Grid-B.  Christian Sadilek and Mike Brock from the Errai team also built a tag-cloud application visualising popular tags as a tag cloud, again off Grid-B, making use of Errai to push events to the browser.

After simulating Mark Proctor to try cheating the system with a script, we could recover the correct votes: clear Grid-B, update the Drools rules to have it discard the cheat tweets, and have a cleaned up stream of tweets flow to Grid-B.

All applications, including Drools and the visualizations, where using a JPA interface to store or load the tweets: it was powered by an early preview of HibernateOGM, which aims to abstract any NoSQL store as a JPA persistence store while still providing some level of consistency. As HibernateOGM is not feature complete, it was using Hibernate Search to provide query capabilities via a Lucene index, and using the Infinispan integration of Hibernate Search to distribute the index on Infinispan.

We then demonstrated failover, as we invited the winner to come up on stage to choose and brutally un-plug one of the plugtops of his choice from Grid-B - this plugtop became his prize. Important to note, the webapps running off the grid did not risk to lose any data, Drools pulling stuff off Grid-A onto Grid-B was still able to continue running, the Lucene index could continually be updated and queried by the remaining nodes.

From an Infinispan perspective, what did this demo make use of?

So a fairly simple setup, using simple embeddable components, cheap hardware, to build a fairly complex application with excellent failover and scalability properties.

So we where depending on wi-fi connectivity, internet access, a live tweet stream, technology previews and people’s cooperation!

To make things more interesting, the day before the demo one of the servers died; hardware failure: didn’t survive the trip. A second server, meant to serve the UI webapps, started reporting failures on all network interfaces just before starting the demo: it could not figure out hardware addresses of cluster peers, and we had no time to replace him: its backup was already dead. Interesting enough we could tap in some advanced parameters of the JGroups configuration to workaround this issue.

imageNothing was pre-recorded! Actually the backup plan was to have Mark Little dancing a tip-tap; next year we will try to stretch our demo even more so you might see that dance!

So here you can see the recording of the event: http://www.jboss.org/jbw2011keynote or listen to the behind the scenes podcast.

After the demo, we did hear of a large commercial application using Infinispan and Drools in precisely this manner - except instead of Twitter, the large data stream was flight seat pricing, changing dynamically and constantly, and eventually rendered to web pages of various travel sites - oh, and they weren’t running on plugtops in case you were thinking ;)  So, the example isn’t completely artificial.

How do you use Infinispan?  We’d love for you to share stories with us.

Cheers

Manik and Sanne

Posted by Manik Surtani on 2011-06-09
Tags: jbossworld demo

Monday, 09 May 2011

JBoss World and JUDCon 2011 recap

So I finally get to recap on JUDCon in Boston and JBoss World/Red Hat Summit from last week.  And wow what a week it was too; I work with some brilliant minds.  Massively inspiring and innovative people.

JUDCon started well, at the World Trade Centre in Boston.  With over 200 people attending, it was the largest JUDCon we’ve ever done, with three parallel tracks of some of the coolest tech, many by non-Red Hat employees.  With regards to Infinispan, Mircea did a deep-dive covering how Infinispan works "under the hood".  Sanne did a talk on advanced querying across a data grid, including making use of map/reduce techniques.  I delivered a talk specifically on map/reduce and distributed code execution across Infinispan nodes - a talk I delivered on behalf of Vladimir as he sadly couldn’t make the event due to personal reasons.  The first day ended in a pizza-and-beer-fuelled hackathon that went on till 2am.  Hopefully this will give you an idea of what JUDCon is all about, including the quality and focus of talks, and whet your appetite - make you want to attend the next such event.  :-)  Trust me, for techies, there’s no better way of immersing yourself in it.

image

And then there was JBoss World.  As many in the industry keeps saying, JBoss has got its mojo back.  Coolness reminiscent of Marc Fleury’s early bad-boy JBoss - a poke in the eye of establishment, disruptive and brazen, JBoss has gone back to its roots.  Craig Muzilla talked numbers and new products, Mark Little talked about his vision of ubiquitous computing and JBoss Everywhere, and then the much tweeted, much talked-about demo started.  Many said we were nuts to try and pull off a live demo of such scale and complexity - let me put it this way, we had no backup.  :-) I’m not going to spoil the demo for you, a recording of the keynote including the demo is here (the demo starts 39 minutes into the video).

Demos aside, JBoss World/Summit was an excellent event.  The biggest of its kind to date, I presented on use cases and design patterns involving Infinispan, Bela spoke about geographic failover (click on the JBoss World tab for the video).  Sanne and Emmanuel talked about Hibernate OGM, the ultra-cool JPA layer over Infinispan that so many people want to get their hands on.  Craig Bomba from CBOE - the largest options exchange in the world - talked about going live with Infinispan, stressing on keeping close to the community, participating and being "good open source citizens".  Something we all applaud.

But for many folks, the biggest thing was the announcement of the JBoss Enterprise Data Grid platform.  A fully supported data grid, based on Infinispan.  This enables users to buy production support, consultancy and training around Infinispan.  The announcement even made its way to the Wall Street Journal, among many other illustrious publications!

So now with all the adrenalin - and old-fashioneds at our favourite bar, Drink - of last week behind me, it’s time to focus on getting Infinispan 5.0 into a stable state and cutting what will be the fastest, most feature-rich and ultimately usable Infinispan release ever.  Watch this space.

Cheers Manik

Posted by Manik Surtani on 2011-05-09
Tags: conference judcon jbossworld

Monday, 11 April 2011

Infinispan at JBoss World/Red Hat Summit/JUDCon in Boston, May 2011

It’s that time of year again, and Red Hat Summit/JBoss World 2011 looms ever larger on the horizon.  Back in Boston again this year, it will be co-located with another JUDCon, the JBoss Users and Developers Conference.

image

Red Hat Summit/JBoss World Infinispan is well-represented again at Summit/JBW, as it was last year.  I will be speaking on using Infinispan to solve a number of scalability and availability issues, including reducing database bottlenecks.

Emmanuel Bernard and Sanne Grinovero will be speaking on Hibernate OGM - an awesomely cool project to provide JPA-like access to Infinispan (details of the session available here).

Craig Bomba and Shane Johnson will talk about optimising Infinispan for performance and consistency based on lessons learned using Infinispan at the Chicago Board of Options Exchange, the world’s largest options exchange.

Further, for the first time, we intend to run a hands-on lab on Infinispan, coordinated by Jim Tyrrell.  An awesome chance to learn about the practical aspects of working with Infinispan, with core Infinispan engineers on hand to answer questions, etc.  This sort of opportunity doesn’t come about every day!  :-)

image

JUDCon JUDCon attendees too will get their fill of your favourite data grid with a talk titled Infinispan for Ninja Developers and one on Infinispan’s new Map/Reduce capabilities.  Fun, hands-on, developer-focused deep dives.

UPDATE: I forgot to mention, Sanne Grinovero will also be talking about advanced querying on Infinispan.  More cool stuff.

For a summary of what happened at JUDCon and Summit/JBW last year, check out this blog entry.  It’s still not too late to get tickets, you may even qualify for early-bird discounts if you hurry!

Hope to see you there. Manik

Posted by Manik Surtani on 2011-04-11
Tags: conference judcon jbossworld

Monday, 28 June 2010

JBossWorld and JUDCon post-mortem

Wow, what a week.  We all know Infinispan is sexy and gets a lot of attention, but the last week has been unprecedented!

image

The first-ever JUDCon, the developer conference that took place the day before JBoss World and Red Hat Summit, was great and I look forward to future JUDCons around the world.  Pics from the first-ever JUDCon are now online, along with some video interviews with Jason Greene and Pete Muir.

Some of the great presentations at JUDCon include Galder Zamarreño’s talk on Infinispan’s Hot Rod protocol (slides here) and a talk I did with Mircea Markus on the cache benchmarking framework and benchmarking Infinispan (slides here).

JBoss World/Red Hat Summit was also very interesting.  There is clearly a lot of excitement around Infinispan, and we heard about interesting deployments and use cases, lots of ideas and thoughts for further improvement from customers, contributors and partners.

From JBoss World, there were three talks on Infinispan, including Storing Data on Cloud Infrastructure in a Scalable, Durable Manner which I presented along with Mircea Markus (slides), Why RESTful Design for the Cloud is Best by Galder Zamarreño (slides) and Using Infinispan for High Availability, Load Balancing, & Extreme Performance which I presented along with Galder Zamarreño (slides).

In addition to the slides, the first talk was even recorded so if you missed it, you can watch it below:

image

Further, Infinispan was showcased on Red Hat CTO Brian Stevens' keynote speech (about 28:15 into the video) where Brian talks about data grids and their importance, and I demonstrate Infinispan.

image

We even had an open roadmap and design session for Infinispan 5.0, which included not just core Infinispan engineers, but contributors, end-users and anyone who had any sort of interest.  I’ll post again later with details of 5.0 and what our plans for it will be.

For those of you who couldn’t make it to JUDCon and JBoss World, hope the slides and videos on this post will help give you an idea of what went on.

Cheers Manik

Posted by Manik Surtani on 2010-06-28
Tags: judcon jbossworld

Wednesday, 23 June 2010

JUDCon and the JBoss Community Awards

The first-ever JUDCon kicked off on Monday, and was very well received. It was good to see so many from the Infinispan community, and be able to discuss ideas and thoughts in detail.  I’m hoping to see even more Infinispan-related activity at future JUDCon events.

The JBoss Community Recognition Award winners were also announced at JUDCon, and I was really surprised to find that 4 of the 5 winners were Infinispan contributors.  Sanne Grinovero, Alex Kluge, Phil van Dyck and Amin Abbaspour - thanks for your participation in Infinispan, your peers have recognised your contributions and have voted with mouse clicks!  Congrats!

Given how many Infinispan engineers and contributors are at JBoss World this week, we are having an open Infinispan 5.0 planning and roadmap session.  So if you are around and would like to join in, this will be at 4:00pm on Thursday, in Campground 1.  For those of you not able to make it, discussions will continue via the usual channels of IRC and the developer mailing list.

Now to prepare for my next talk …​ :-)

Cheers Manik

Posted by Manik Surtani on 2010-06-23
Tags: judcon jbossworld community

Tuesday, 13 April 2010

Boston, are you ready for Infinispan?

imageThe JBoss World/Red Hat Summit organisers have asked me to put together a short note on what to expect at the conference with regards to Infinispan, and this has been published on the conference website.  I thought I’d share this with you as well.

imageIn addition to the conference, this is also the first time JBoss is running JUDCon (JBoss Users and Developers Conference), a free event (limited on a first-come first-served basis) for the community, also in Boston.  Be sure to sign up as places are limited!

Look forward to seeing you there! Manik

Posted by Manik Surtani on 2010-04-13
Tags: conference judcon jbossworld

Friday, 10 July 2009

Infinispan@JBossWorld

imageI will be presenting on Infinispan, data grids and the data fabric of clouds at JBoss World Chicago, in September 2009. I will cover a brief history of Infinispan and the motivations behind the project, and then talk in a more abstract manner about data grids and the special place they occupy in providing data services for clouds.

In addition, I expect to pontificate on my thoughts on clouds and the future of computing in general to anyone who buys me a coffee/beer! :-)

So go on, convince your boss to let you go, and attend my talk, and hopefully I’ll see you there!

Cheers Manik

Posted by Manik Surtani on 2009-07-10
Tags: presentations data grids jbossworld

News

Tags

JUGs alpha as7 asymmetric clusters asynchronous beta c++ cdi chat clustering community conference configuration console data grids data-as-a-service database devoxx distributed executors docker event functional grouping and aggregation hotrod infinispan java 8 jboss cache jcache jclouds jcp jdg jpa judcon kubernetes listeners meetup minor release off-heap openshift performance presentations product protostream radargun radegast recruit release release 8.2 9.0 final release candidate remote query replication queue rest query security spring streams transactions vert.x workshop 8.1.0 API DSL Hibernate-Search Ickle Infinispan Query JP-QL JSON JUGs JavaOne LGPL License NoSQL Open Source Protobuf SCM administration affinity algorithms alpha amazon annotations announcement archetype archetypes as5 as7 asl2 asynchronous atomic maps atomic objects availability aws beer benchmark benchmarks berkeleydb beta beta release blogger book breizh camp buddy replication bugfix c# c++ c3p0 cache benchmark framework cache store cache stores cachestore cassandra cdi cep certification cli cloud storage clustered cache configuration clustered counters clustered locks codemotion codename colocation command line interface community comparison compose concurrency conference conferences configuration console counter cpp-client cpu creative cross site replication csharp custom commands daas data container data entry data grids data structures data-as-a-service deadlock detection demo deployment dev-preview devnation devoxx distributed executors distributed queries distribution docker documentation domain mode dotnet-client dzone refcard ec2 ehcache embedded query equivalence event eviction example externalizers failover faq final fine grained flags flink full-text functional future garbage collection geecon getAll gigaspaces git github gke google graalvm greach conf gsoc hackergarten hadoop hbase health hibernate hibernate ogm hibernate search hot rod hotrod hql http/2 ide index indexing india infinispan infinispan 8 infoq internationalization interoperability interview introduction iteration javascript jboss as 5 jboss asylum jboss cache jbossworld jbug jcache jclouds jcp jdbc jdg jgroups jopr jpa js-client jsr 107 jsr 347 jta judcon kafka kubernetes lambda language leveldb license listeners loader local mode lock striping locking logging lucene mac management map reduce marshalling maven memcached memory migration minikube minishift minor release modules mongodb monitoring multi-tenancy nashorn native near caching netty node.js nodejs nosqlunit off-heap openshift operator oracle osgi overhead paas paid support partition handling partitioning performance persistence podcast presentations protostream public speaking push api putAll python quarkus query quick start radargun radegast react reactive red hat redis rehashing releaase release release candidate remote remote events remote query replication rest rest query roadmap rocksdb ruby s3 scattered cache scripting second level cache provider security segmented server shell site snowcamp spark split brain spring spring boot spring-session stable standards state transfer statistics store store by reference store by value streams substratevm synchronization syntax highlighting testing tomcat transactions uneven load user groups user guide vagrant versioning vert.x video videos virtual nodes vote voxxed voxxed days milano wallpaper websocket websockets wildfly workshop xsd xsite yarn zulip

back to top