I’m sure anyone who heard recent Microsoft Announcements around .Net (their flagship development platform) is either hyper excited or super suspicious. Microsoft open sourced .Net and also committing to make it run on Linux. This is so far fetched from Microsoft so many people have known so far.
I will try to explain these and many other recent Microsoft decisions from a strategy point of view. I will simply demonstrate it using 3 rough time periods
- Good Ol’ Microsoft (Prior to 2010)
- Current State (2010-2014)
- Future is here (2014 - Onwards)
Good Ol’ Microsoft
Operating System at the centre of all attention (See Green)
Microsoft owns the OS used by majority of enterprises and individuals. Microsoft bets on its overwhelming lock-in advantage in the operating system market to enhance its chances of winning the overall battle. It’s well known for its bullish tactics and quite used to being burnt by developer flames.
Current State (Past 2 years and probably next 2 years)
Programming platform is taking over the OS (Greener platform)
Cloud is changing the ball game and Microsoft is feeling it.
Enterprises no longer have to take a huge risk and invest heavily in order to change their development platform & strategy. They can even start slowly with the cloud and see how it goes and then once confident migrate fast. This is loosening the grip of Microsoft with regards to its OS advantage.
In addition Windows as an Operating System has not been innovating all that well. While it has wasted lot of energy on Start Buttons and Live Tiles, Linux community is coming up with game changing technologies like ‘Docker’.
Microsoft has invested heavily on their Cloud platform - Azure. They start very late but they’ve already become the largest hyperscale cloud provider with their data centre capabilities almost 6 times that of Google and 3 times of Amazon.
However their development story is still primarily woven around Windows.
Future is here
As mentioned earlier in the article, Microsoft is keen to change their development story and change it fast. They have realised that they need to approach this from top to bottom where developer lock in is more important. Developers are no longer restricted by IT capabilities (or lack of it) of the Enterprise - Cloud has given them lot more freedom and options when designing solutions. Options that go beyond the OS or infrastructure. Unless Microsoft provides a compelling set of tools and technologies to developers, they will see Microsoft as a toy suited for prototyping - not an end to end tool used for delivering complex software solutions.
In addition to realising this reality, Microsoft has embraced Open Source as the quickest form of widening the capabilities of their platform - Not to mention the extremely valuable PR brownie points they earn among communities.
It’s partnering with players that were once competitors or even too tiny to be bothered with. Some of the big ones are Xamarin (Mobile Application Development), Mono (Open source .Net), Docker (Next generation application container technology) etc…
All in all I feel Microsoft is heading towards the right direction. I’m sure early cloud adapters like Amazon won’t take the challenge lightly and they will start publicizing their story as well. There will be lot of innovation and lot more noise from all major players. The challenge for the development community as a whole is not to be drowned in all these noise but to find the gems among the chaos.