Sunday, March 08, 2009

The Birth of CorAleri

It is now March 9th, 2009 somewhere in the world. And, the atomic bomb news that I have been mysteriously referring to for the past two weeks is ….


Not quaking in your boots? Well, this IS earth-shattering news in the small community of Complex Event Processing. But, you guys were good guessers. No, I am not leaving my company (yet). No, I did not take the CTO position at a Complex Event Processing vendor (none has been offered yet). No, I did not get escorted out off of the trading floor by a gaggle of security guards (yet). No, I didn’t run off to play marimba with Magma.

However, it confirms the predictions of many people in the blogosphere that the consolidation amongst CEP vendors is starting to happen. And, I am sure that this consolidation is not over, both in the CEP space and in the infrastructure space. Already, I am hearing of financial troubles among several of the infrastructure players, and it would be really wise of everyone out there to re-engage your vendors in a little bit of financial due diligence. Make sure that their source code is in escrow …. not that you would ever do anything with it.

I had been predicting that Coral8 would be acquired for quite some time. Terry Cunningham had been personally bank-rolling the company since its inception, and unless Terry went short on the market, I am sure that his portfolio has suffered like the rest of ours. I can only speculate whether financial considerations inspired Terry to sell the company, or whether Terry just got the itch to move on to his next adventure (although he did take the role of Chairman of the new company). To be honest, when I heard that a large database company had purchased a source code license for Coral8, I thought that the end was near for our intrepid band of CEP’ers from Mountain View.

My curiosity was aroused when I received a dinner invitation from Terry about two weeks ago. Since I have been burning the midnight oil due to my new role and responsibilities, I politely declined, saying that I was just two exhausted to go out at night and play. However, Terry knew how to appeal to the closet “foodie” in me, and picked a very nice restaurant at Columbus Circle that I have only been able to dream about. Imagine my surprise when I got to the restaurant, and found Terry locked arm-in-arm with my other favorite CEO, Don DeLoach of Aleri. I thought that they had united to jointly serve me with the lawsuit that I deserved for publicly taking their products to task on my blog.

(I am taking a bit of literary license here … I actually found out about the merger the night before from another source, so I was not too surprised to see Don there.)

Why did they single me out for such attention? I guess that having a big mouth and a title pays off sometimes. But as a customer of the newly combined company, they wanted to know how a typical customer would react, and what effect the merger might have on us. Would we continue to buy licenses, or would we go running to a competitor? Or, did they want me to give them love and kisses on my blog?

So, in between lot of glasses of wine and a lot of arm-waving on my part, I expressed a number of concerns. But, also, there is lots of goodness in this merger.

There have always been some issues with Coral8. First and foremost, they had no financial domain expertise. They had attempted to rectify that recently by hiring Colin Clark, but I had my doubts whether that strategy would result in anything concrete. Second, they had no true presence in New York, and if you are going to market to the financial services industry, you have to at least have an office in New York City. Third, they had no European penetration, and I could imagine that Apama, Streambase and Aleri were cleaning Coral8’s clock in EMEA. Fourth, they were one of the only CEP vendors who did not have a vertical product for trading or risk, and they really had no intentions of writing one.

Here was this nice 40-person company, sitting in their nice, sunny offices in Mountain View, 3000 miles away from their main customer base, without a clue of what the capital markets companies really needed. However, Coral8 is an extremely nice company, very friendly to developers, writing lots of nice white papers, and putting out a good product that was less expensive than all of the other products (except Esper).

Then, there was Aleri. Lots of financial domain expertise, with a few products that were geared towards trading firms. Good European presence. Ex-Bell Labs rocket scientists working in a basement office in Mountainside, right across the street from their old Bell Labs haunts. Not a very developer-friendly company. Very hard to configure the product. Documentation that was not as good as Coral8's (although my last experience with their docs was the old 2.4 version). A better IDE than Coral8, but that’s not saying much as Coral8 has a minimalist IDE. Not very good at testing and QA (based on 2.4 experiences, and some recent feedback from some customers in London). Some sort of real-time OLAP strategy. More adapters geared towards financial services companies.

Now, Aleri has bought all of the assets of Coral8. What does the combined company have to offer us? It has a European presence, it has financial expertise, it has a good documentation writer, it has a person who knows .NET, it has people who are concerned about compelling visualizations, it has a procedural language called Splash, and it has two engines and two SQL-ish languages. And it has two pricing models, with Coral8 coming in at $15K per core and Aleri costing about $27K per core.

What did you say? Did you say two engines and two languages? What’s a customer to think?

First, let’s tackle the issues of the engineers. You have two very smart teams located on different sides of the USA. Each team is justifiably proud of the CEP engines that they wrote. One engine came out of a Stanford University research group, and the other engine came out of a commercial effort from Bell Labs. (Correction: the engine is not the same one that they developed at Bell Labs.) Eventually, the combined CorAleri is going to have to choose one language and one engine. So, you will have two sets of development teams positioning themselves as the winner of the language and engine competition.

Every customer of Coral8 MUST program the engine in CCL, which is Coral8’s SQL-like language. However, even though Aleri supports an SQL language, almost nobody uses it, as the Aleri IDE does not support it. (The Aleri IDE likes to generate XML-based code.) Let’s assume that Coral8 wins the language and engine competition. However, in my vision, Aleri gets their licks in when CCL is supplemented with the Splash language.

So, in my ideal world, the language of CorAleri would be CCL with some Splash. And, since the language and the engine are linked tightly, Coral8 keeps the engine as well. However, Aleri would help the Coral8 engine team to make their engine even faster.

At first, CorAleri will have to support two engines and two languages. But, the longer you postpone the single-engine strategy, the more time you give the Coral8 and Aleri engineers to improve their individual engines in order to win the engine competition. Then, it becomes more difficult to have a single-engine strategy.

Don and Terry talked about a single product that includes BOTH engines. The Aleri engine would be the “performance engine” and the Coral8 engine would be the “deterministic engine”. If you check a certain checkbox, “stuff” would be sent to the Coral8 engine and if you check another checkbox, “stuff” would be sent to the Aleri engine.

You cannot have two engines running simultaneously on a single server. They would be competing for resources. We have to worry about administering another process on our servers. We wouldn’t be sure which engine was handling what. It makes monitoring more difficult.

If you give a customer too many choices, then the customer might get confused. Customers want transparency and simplicity. If you confuse a customer, then that customer might change over to a CEP vendor who offers a simpler solution. This means that a confused customer might run over to Apama or Streambase.

CorAleri must come up with a solid roadmap about the merging of the languages and engines, and they must make this roadmap available to customers.

We do not want to take 25% of each sprint to play catch-up on a moving target. The worst thing for us is to be surprised. With each release of the new CorAleri engine and language, we want the migration effort to be painless. We want to change as little of our existing CCL scripts as possible, and we don’t want to find that queries that previously worked do not work anymore.

To me, this is the greatest challenge to CorAleri and the greatest risk to us.

I would like to see the engine and language and the documentation stay with the Mountain View folks. What would the Aleri folks do? They could concentrate on writing more adapters, work on integration with other partners (ie: Netezza, Gemfire, RTI, etc), come up with a better IDE with debugging a monitoring support, come up with more Jack Rusher-type visualizations, real-time OLAP and analytics, and develop some more financial apps. This would give a clear line of separation of duties between the two development teams.

In summation, there is a lot to be excited about, but there is also risk that is associated with confusion.

I wish CorAleri good luck. They have some really good people. They have a sense of integrity. They have a new sense of purpose. And, if they could come up with a unified roadmap that makes sense, then it would be a company to be reckoned with in the CEP marketplace.


Anonymous said...

Time for an serious open-source alternative, written in C++.

Edward Yavno said...

thanks for breaking the news. Good analysis of the challenges the merged company faces.

- Ed Y.

Anonymous said...

This is an atom bomb?! Compared to what's happening in our world lately, this is a flea on an elephant's ass. Also please get over yourself and be a bit more objective going forward if you want to be taken seriously.

Hans said...

Is it CorAleri or Aleril8?

Jerry Baulier said...

Hi Marc, thanks for your comments on the merger. We know you are not one to sugar coat things, but we are glad to hear you are excited to see what opportunities the merger will bring.

We honestly do think we’ll be a company to be reckoned with in the CEP marketplace, however we do understand the confusion that will arise with regards to which CEP engine to use. As you know, our short-term vision is that the Aleri CEP engine and the Coral8 CEP engine will remain separate products. Both the Aleri CEP Platform and the Coral8 Engine will be integrated components of the new Aleri product family. Both CEP platforms will work in unison with other product family members – Live OLAP, Coral8 Portal, Aleri Packaged Solutions – to deliver the most comprehensive real-time Continuous Intelligence™ solution stack in the industry. For customers wanting to use both CEP platforms in different application areas, the two products will be fully interoperable, enabling derived events and streams to be passed. This allows customers to use either product where best suited and maintain "single version of the truth" for real-time analytics and key performance indicators.

We do expect the two engines to converge, pulling from the best of both offerings into a single engine. However, a guiding principle of our product roadmap is that we will provide a smooth migration path for users of both the Coral8 and Aleri engines to new releases of the products. So long-term, weather you use the Coral8 engine or the Aleri engine we guarantee it will be a smooth and painless migration to the ultimate Aleri CEP engine.

Also, I wanted to note that Aleri has greatly improved our documentation since you evaluated Aleri 1.5 years ago. Since then, we have put in place a very experienced technical writing team and I believe they have made exceptional progress upgrading, restructuring, and cleaning up the previous docset to the extent that we’ve gotten many compliments from our existing customers. And, as far as your comments on “testing and Q&A go” I’m not sure what you based that on. Last year we launched version 3.0 of our CEP platform which vastly improved ease of use, including in-process/Studio connectors. We also have not gotten feedback from the field that product QA is an issue. We now have 3 QA folks on the product and they have been doing a tremendous job, especially considering how quickly we’ve been adding functionality.

One other thing I wanted to comment on was your remark that the Aleri engine came out of a commercial effort from Bell Labs. This is not accurate. We wrote our CEP from scratch with a completely different architecture from what my team developed at Bell Labs 12+ years ago. There is no official relationship between Aleri and Lucent (now Alcatel) other than the fact that several of us came from Bell Labs Research.

Thanks again for your well wishes! Watch out for us, we plan to execute strongly on the integration and in the market!

Jerry Baulier
Chief Technology Officer, VP - R&D