In a sign of the changing times, Garantia Data (an in-memory noSQL database service specialist) has launched a service to provide the Redis and Memcached No-SQL databases as a service to users of Microsoft Windows Azure.
There is a huge list of noSQL databases, headed by Hadoop (which a specalist platform), MongoDB. Cassandra, and CouchDB. The focus of our article is Redis, which is roughly 3rd or 4th by adoption. Redis is one of those interesting open source products that you had no idea that VMware actually owns. It is a key/value in-memory database with optional persistence. The main difference with previous technologies such as Memcached are
- Persistence
- Storage of objects, not just strings
- Some support for transactions
These features allow Redis to largely replace relational database in some architectures. For example, organizations with high website traffic may choose to to remove MySQL, replacing it with Redis to ensure enhanced scalability, whereas they might only use Memcached for session state information. Redis has bindings into a very broad range of server-side languages, including the .NET languages.
The big weakness of the current open source implementation of Redis is that when it gets too big to run on a single node, there is no clustered implementation, and you need to shard it manually. Garantia Data has built a version of Redis which automatically manages the sharding into a single distributed cluster (providing “infinite” scalability – beware the marketeer, nothing is ever infinite) and performs in-memory compression to allow higher density of data on a single node on a cluster. Since it looks like Redis is limited by network bandwidth, not CPU, this compression is likely to offer benefits in performance as well as memory footprint.
Redis is BSD-licenced, so Garantia Data is not required to re-contribute its extensions to the Redis Open Source Implementation, nor to competitors such as Redis-to-go. Instead it has a mixed-source product, which it markets as a service. It is seeking to persuade organizations that, rather than going through the pain of setting up their own scalable Redis architecture, they should buy Redis as a service. In addition, Garantia data can do this at a competitive price point because of the economies of scale in renting the underlying IaaS platform, the ability to share resources amongst customers using its proprietary clustering, and because its proprietary compression technologies reduce the overall demands on the IaaS service.
Garantia Data sells services implemented on various IaaS and PaaS platforms to customers whose applications are typically located on the same clouds. It can also split its implementation across multiple clouds to ensure additional resilience. Notably none of these clouds run on vSphere.
We have commented on these types of services in previous posts. At this stage it is very hard to understand how the PaaS marketplace will eventually resolve itself and where the winning platforms will be, so the strategy of these vendors has to be to ensure adoption across a broad range of PaaS platforms. It is in this context that Garantia Data’s Azure announcement is interesting. Previously there were two options available to Azure customers wishing to use Redis – implement your own Windows-based Redis server based on an unofficial distribution or, more recently, use a Linux virtual machine in Azure to run Redis. Garantia offers a turnkey solution which removes the complexity of managing mixed O/S or working with unsupported software.
It is also worth pointing out how the world is changing, and how this relates to the Pivotal initiative at VMware. VMware has had Redis since 2010 – it hired the developer, rather than buying the company. Since then it hasn’t launched a Redis as a service on a public vSphere cloud. And yet we have Garantia Data, a separate venture-backed company creating a business model around Redis on non-VMware platforms (notably AWS and Azure). Furthermore, VMware doesn’t have rights to the scalability enhancements on which Garantia Data is building its business, and these don’t have anything to do with the underlying virtualization technology.
We assume that Redis will go out into the Pivotal initiative (anticipated to become a separate company in early 2013), which will break the link between vSphere and the commercialization of Redis. We commented on the potential to liberate Cloud Foundry via that route and the challenges that lie ahead. Similar challenges apply for Redis, which is even smaller and more fragile and which, like Cloud Foudry, also has huge potential. One immediate challenge will be the existence of another noSQL database within the Pivotal initiative, GemFire. This is a commercial product which actually has clustering and which seems to be in direct competition with Redis. Gemfire makes money for VMware, Redis doesn’t, and yet Gemfire is essentially invisible in terms of volume adoption.
An interesting problem for Pivotal to solve, and in the meanwhile Garantia Data will be there to offer the service that customers want on the platforms they want to use.