.NET Developers Gain Velocity
Microsoft's surprise launch of its in-memory data caching platform could bolster data-driven app development.
One of the big surprises at Microsoft's Tech-Ed North America 2008 Developers conference in Orlando, Fla., last month was the launch of Project "Velocity," the code name for a distributed, in-memory data-caching platform that was quietly under development in Redmond.
Velocity is designed to provide high-speed access to data developed in .NET via partitioned, replicated or local caches. While Microsoft's plans to commercialize Velocity remain unclear, Anil Nori, a distinguished engineer in the company's SQL Server group who's overseeing the development of Velocity, sees data caching as a separate tier in the application stack.
Presuming Microsoft does meet its goal of releasing Velocity in the second half of next year, it will have an impact on how developers write and deploy data-driven applications, according to observers.
"This creates a big design and architectural shift for a lot of developers to move from the model of writing programs that are single-threaded programs to a system that's distributed and multithreaded," says Daniel Chait, managing director of New York-based Lab49 Inc., a consulting firm that builds high-performance apps for large firms in the financial services industry.
"It's a big paradigm shift from that standpoint," Chait adds. "I think more so than learning a particular set of APIs, which are relatively easy, or the kind of installation and management tools which frankly aren't that complicated. The big shift is in how developers architect these systems and that's where we've seen the big learning curve."
Velocity vs. Incumbents
The unexpected launch of Velocity caught many developers off guard -- especially with the simultaneous release of a community technology preview. Several vendors offer distributed cache products, among them GigaSpaces Technologies Inc., GemStone Systems Inc., ScaleOut Software Inc. and Oracle Corp., which acquired Tangersol.
"[These companies] spent a lot of research and development money. They're naturally going to be upset," Chait says.
William Bain, CEO of ScaleOut, says he was blindsided by Velocity, only getting wind of it days before its announcement. Particularly troubling, says Bain, is that ScaleOut is a Microsoft partner on the fourth release of its distributed cache server, dubbed ScaleOut StateServer (SOSS). SOSS is used by a number of large organizations for high-performance apps.
"This was a surprise to us," Bain says. "We're a Microsoft partner focused on high-performance computing -- particularly in the financial-services market -- and we've had a positive and successful relationship with them over the past year."
Because Microsoft has hedged on its product plans, many are speculating that the software giant might offer Velocity free of charge or, at the very least, put the squeeze on other players in the market like ScaleOut.
"The steps they take over the next year will determine whether it has an effect on the market," Bain says. "If Microsoft should elect to make distributed caching available as its own standalone SKU free of charge, that does undermine the market for products of this type [that are] coming from vendors that have worked for years to develop and evangelize this market. That has a negative effect on investment for new Microsoft-related technologies."
Despite the uncertainty Velocity creates, Bain believes there's some upside: "[Microsoft has] validated the importance of this technology for driving scalability of server farms and compute grids," he says.
For now, Velocity provides only a subset of the functionality in SOSS. The ScaleOut product, according to Bain, supports high availability of stored data, offers a self-configuring and self-healing architecture, offers quorum-based updating of stored objects, supports push notification of events within the cache, and offers asynchronous replication between data centers for disaster recovery and parallel query of cached objects using tags.
If Microsoft ends up giving away Velocity or bundling it with other tools, Bain expects the onus on distributed-caching technology suppliers will be in offering value-add. He doesn't rule out supporting Microsoft's Velocity APIs.
"I think the Velocity API may become a de facto standard as the lowest-common-denominator API that everybody will support," he says. "In addition, I think vendors like ourselves and our competitors will add value. I know that we'll add value beyond those APIs."
Gideon Low, GemStone's principal architect, agrees, saying caching is just one component of the functionality offered by his company's GemFire caching tools. Among others are complex event processing.
"Managing data in-memory is very core to what we do because of the performance advantages of in-memory data management, but it's really a subset. We're not a caching vendor so to speak," Low says.
Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.