When I recently researched different caching options in Microsoft Azure, I ran across the following article on MSDN: Which Azure Cache offering is right for me? This article almost shocked me because it was unapologetically advising all new developments to use Redis cache over other Microsoft-developed Azure caching services. Just think about that for a moment: Microsoft invested plenty of time and money to develop two separate Azure caching services: Managed Cache Service and In-Role Cache… and then to abandon both in favor of an open source alternative (Redis)?!
This signals a no less than a seismic shift in regards to how Microsoft is treating open source. It’s no secret that Microsoft used to not exactly be friendly to the open source movement, preferring in-house development (which they have a full control of) over community-developed code. However, over years, Microsoft developed a much friendlier attitude towards open source software by opening its own products (like ASP.NET MVC framework), integrating with open source products (like the addition of Git support to Visual Studio) and supporting open source products and frameworks in its Azure cloud offering.
So, why is Microsoft doing this? In the case of Azure caching services, it looks like Redis is simply providing more features than Microsoft’s own caching solution and it’s robust enough to keep up with any load. Plus, it’s supported by a thriving development community. It seems like it’s a no-brainer for Microsoft to embrace Redis, because they are essentially getting a great product and support for free!
Another example of the growing open source support at Microsoft is Linux. For years Microsoft was looking at Linux as a direct Windows competitor. Now, as Microsoft is becoming more of a product and services company, it’s happily embracing Linux support in Azure. It’s as easy to create a Linux VM in Azure as launching a new Windows VM. Now, they are letting it be a customer’s choice to decide which operating system to use, as Microsoft will provide cloud infrastructure for both OSs.
I thinks this growing open-source support inside Microsoft is a very positive development, and a win-win situation for everybody.