Monday, March 31, 2008

Esper maturity and open source maturity models

Esper has definitely reached an exciting maturity already. There are many things happening, both controlled and uncontrolled, and this is what makes open source so powerful to widespread new paradigms such as CEP.

There has been some thoughts and criteria on what makes an open source project or product mature or not. The common criterias are:
On the community side (ie widespread interest and growing number of knowledgeable people around it)
  • coverage in leading conference, by the core team (somewhat sponsored then) or by virtually any volunteer speaker ("raise your hand if you have some smart thing to say")

  • use by/integration with/ other open source projects or initiatives in a loosely controlled/sponsored way ("innovation happens elsewhere" kind of effect)

  • coverage in good old technical books

On the enterprise side (ie more and more real-world deployments)

  • existence in a supported form, with full IP liability and possibly enterprise level certifications and features

  • actual real world use in such a form

  • apparition in technical requirements for job descriptions

  • actual roadmap and feature delivery

Here are some links of maturity models with such criterias:
industry analyst views
HP content

All those maturity criterias are matched today by Esper, and this is very exciting to watch and act upon this.
Here is what I can already wrap up:

  • dedicated coverage in JavaOne, TheServerSide, NoFluffJustStuff, JAX conference, and more coming. Half of the coverage was from volunteer speakers: Brian Sletten (Zepheira) and Papick G. Taboada. Links are:
    Esper slideware
    JAX 2007

  • integration prototype with Apache WS02 by Paul Fremantle (Co-Founder and VP of Technical Sales at WSO2), and Apache/IONA Camel/ActiveMQ by James Strachan (Technical Director at IONA), David Greco and team. There is way more to do on that area of course.
    See WSO2 and Apache Camel

  • dedicated chapter in "OSWorkflow" by Diego Adrian Naya Lazo, available on Amazon bookstore and any good bookstore. It covers Event Driven SOA, Event Driven BPM and Esper enabled BAM in a dedicated chapter!
    Here at Packt or on Amazon

  • growth of EsperTech as a company with a dual licensing and professional support model, including a wider product portfolio with f.e. EsperHA

  • more OEM agreements, more supported customers (see a few referencable names)

  • apparition in job descriptions f.e. here by SunGard / Finetix
    Here on MySpace or from Finetix directly
  • Esper is now in version 2.0, with 2.1 at the corner, with a version about every 3 months with a chunk of features that is most often here to match real-world demand

On the common things I hear is that NEsper, the Esper .Net/C# version is "lagging a bit behind". For one reason this is because the NEsper team is somewhat iterating on it as a port initiative thus always slightly with a version behind, and for another reason is perhaps that the .Net community is not as large and disparate as the Java community to digest new concepts somewhat that fast (and so is it with NHibernate, Spring Net, and a bunch of other products initially started in the Java world)

I am really looking forward to 2008 and beyond!
and I am already pleased to announce that Esper will get coverage at JAX India 2008 (nice job Papick) - abstract available here and that Tom' TheServerSide Symposium 2008 Las Vegas slides are available online.

Thursday, March 13, 2008

Esper adds HA, local cache and resiliency to CEP with EsperHA

EsperTech has released its first non open source product EsperHA.
EsperHA is an extension to Esper the leading open source ESP/CEP event processing engine for Java. It essentially adds key features to match common enterprise deployments requirements:
- continuous query results can be made resilient and recovered if a crash occurs
- they can deal with large data window with an overflow / page out to disk option (f.e. keep a 20 days moving average VWAP, or find causality between events over long periods of time - countless of use cases)
- can simply make EPL statement durable so that they are re instantiated upon recovery / restart

From the announcement there is much more to look at, and the fact that all this comes at no code change, with fine level statement-level and stream-level configuration means that one can scale up or down its Esper applications with minimal effort.
By contrast, Esper keeps everything in live memory which provides excellent throughput and low latency (see some figures here) but is 1/ bounded (few G or more likely 32G to 128G in real deployments) and 2/ is dropped upon shutdown / crash.
EsperHA ensures one can trade-off low latency, high throughput and full resiliency in one system.

This is an interesting crossroad for EsperTech as a company as it further strengthen its positioning and readiness for real world deployments, and nicely complements its so far professional open source / dual license model with a classic software vendor one.
There was already great evidence of Esper fit for purpose in real world situations, as OEM and actual deployments demonstrated so far, but having this HA / resiliency option will certainly reinforce this.

There is common FUD from classic / elephant vendors thrown at open source software - essentially saying that it is not enterprise ready, not operable, as it is made by a bunch of volunteers that don't care about production reliability. This seems EsperHA and EsperTech proof point how much of FUD are that kind of claims.

You can sign up for a free trial and gain access to the download, docs and samples here.