Penguins at the G.A.T.E.S of Troy
It was one of those annoying days, with all chasing down their potentialpart in a "system is slow" fault – really nothing we've never met before. Yet this fault happened in a very peculiar time: we have just installed the 1st shipment of our newly bought Linux-designated Suns v40 machines, and in a week or two we were supposed to receive the 2nd, significant, shipment for our Linux migration project.
When the fault has suddenly disappeared with no apparent changes to configurations or to utilization, we have decided to add more servers to the Terminal Servers Farm – just in case. And as we lacked spare windows-enabled servers, half of the 2nd Linux servers' shipment was relocated to the Terminal Servers Farm.
It was this intuitive relocation of resources that made Microsoft's brilliant survival plot clear to me. And after giving it a 2nd thought, I realized Survival was the wrong word; Taking-Over was a much suitable one. Microsoft strategy, in short, was to create the perfect Trojan penguin, which will be happily embraced by Enterprises. By embracing it and having "Linux inside", Enterprises will necessarily do two more things: abandon Unix and embrace Windows.
The Microsoft/Yankee Group anti-Linux campaigns were, therefore, constructed to fulfill this strategy. The campaigns touched uniquely and consistently one and only one subject: TCO. By comparing TCO, Microsoft has achieved its two goals: Linux has become a LEGITIMATE ENTERPRISE PLAYER, and its predator teeth were redirected toward Microsoft's real enemy – Unix vendors.
Let us try to reverse engineer the chess game played under our eyes.
Historically, Microsoft adopted the "X86 Intel architecture", which has been incapable of supporting Enterprise Business Applications. These applications were designed to cope with an ever growing business processing requirements by scaling up and adding more and more processors, memory cards and I/O channels into the same SMP machine. This is not the playground of a 2-4-way processors architecture.
In this game, Microsoft was helpless. But then Linux has changed things around, with the very good help of Java "write once, run many". Linux was the 1st non-niche Unix O/S to embrace commodity, X86 hardware. In other words, Linux used Windows-Hardware to run Unix applications. Which led Linux to the inevitable confrontation with Enterprise scalability requirements: business applications couldn't scale on Linux just as they couldn't scale on Windows. Same problem, buddy!
Surprisingly or not, Microsoft and Linux have found themselves on the same boat of those "fabulous OSes" with a tiny, little, insignificant inability to scale up. But, hey – the Internet taught us that a much better scaling architecture is out there: it's the scale out architecture, or the power of the masses. See Google, Amazon, Yahoo and all those names mentioned whenever the economies of scale are discussed. They are using thousands of worthless servers and if one fails - nothing happens. Why won't we apply this same model to Enterprise applications?
Well, scale-out is not just another option on the scaling-switch. A Business Application that was designed to scale-up will have to go through major architectural reengineering efforts in order to make it scale-out. To do so, ISVs must see a solid business case. So far, the major ISVs had no incentive to do so. They were making a great deal of money by selling software that run on huge Unix machines, and they had to maintain separate versions for each of the OSes/hardware combination offered by IBM, HP and Sun. As I wrote in an earlier post, testing costs dozens if not hundreds of millions of dollars a year. Maintaining two software architectures – a scale-up architecture for Unix boxes and a scale-out for Windows boxes - was clearly not cost-effective nor justifiable.
That's why Linux – facing the same problem with business applications scaling - has become so strategic to Microsoft. If Linux succeeds in gaining market traction on behalf of the big Unix vendors, then ISVs would have their scale-out business case. They will need to support a lesser number of OSes – Microsoft and Linux [only] - and they will be able to run their application on the same physical hardware.
That's a huge savings in functional and interoperability testing. And if the business application is coded in Java, it is the same software, the same hardware, just different OSes – a great advantage for the ISVs.
So how Microsoft will make more money through Linux?
A. Enterprises will run most of their applications on windows-hardware, so unlike the days of the UNIX regime, allocation and reallocation of hardware for Microsoft apps is possible. If it is possible – it will happen.
B. Microsoft will be able to play big time in the Enterprise game – a long lasting unfulfilled desire – as finally, Business applications will be able to run across (scale-out) several windows servers, providing the scalability and availability requirements for today's mission-critical Enterprises in a most cost-effective way.