Last of the Mohicans...I love that book by James Fenimore Cooper. For those of you who don't know the story, I'll summarize. It's about the last chief (Chingachgook) of a disappearing Native American Indian nation (the Mohicans) and his two sons Uncas and Hawkeye (adopted). The family is caught up in the French and Indian war in 1757. Uncas dies defending the Munro sisters from a revenge-thirsty Mohawk chief named Magua, leaving Chingachgook as the "last of the Mohicans". Just like the Mohicans of yesteryear, I believe the operating system – as we know it -- is fading into history.
Just to be clear, let me state my position in the OS debate. I believe that the monolithic operating system is fast becoming a thing of the past. Operating systems are now a commodity. Customers don’t want/need a veritable “kitchen sink” of OS functionality. The dynamic data center needs is a small, thin application runtime environment that can be tailored for individual applications running in a virtual machine. I mean, does the operating system have to be the equivalent of the Swiss army knife to enable applications to run? Does every application require multi-path I/O or graphics acceleration support? Should the customer pay for functionality they don’t require? What about the memory and disk space these features consume?
Now, I’m not saying the operating system will stand still. Hardware technology advancements will continue, and some piece of software will have to account. But, operating systems are becoming more modular, and will one day separate hardware compatibility from application interface. Server virtualization will only accelerate this trend until the monolithic operating system – as we know it – is gone.
So, using this as a basis, let's go through Nik's list once again...this time with a slightly different spin.
Nik's first point was rapidly changing hardware. Ah, yes….the changing hardware question. The basic premise here is if the operating system doesn't change, then how in the world is it going to accommodate ever changing and increasingly powerful hardware? Here are some thoughts:
- Microsoft can't just snap their fingers and release a new operating system every time hardware changes. Nik is right...hardware changes come much too fast. But Microsoft (and other OSVs) has a mechanism for dealing with hardware technology changes -- the service pack. Using Nik's argument, Microsoft should have revised the operating system when IHV's switched the architecture for internal storage from parallel SCSI to Serial attached SCSI. Other technology advancements: MPIO, IPv6, 4Gb FC, were all supported within the same major operating system. It’s not just storage and external I/O, its processors too. W2K3 has seen several generations of processors from many different vendors, yet the kernel hasn’t changed (although I’m sure Nik will argue that the 64-bit version of W2K8 is a different animal).
- Another issue is application support. If hardware advancements make their way into the server platform, but there are no applications that can take advantage of the new technology, does it make a sound? 64-bit processors and cores have been out for a while now, but do you know of any native 64-bit apps? And, how long will it be before the industry develops them (much less 128-bit applications). Applications drive the market and if an application doesn't require 128-bit support, then why does the operating system need 128-bit support?
- Hardware technology advances in phases. The computer industry oscillates between large, monolithic computers and smaller more modular, less powerful computers. Right now, the future seems to be headed toward hardware architectures that include massive amounts of processing power and memory. But eventually, there are limitations (power, space on the motherboard, our ability to cool, etc) to the number of processors a single machine can accommodate. Is there really a 1,000 core Exabyte memory server in our immediate future? Unlikely. Given the fact that Windows Server 2008 is 64-bit and SMP capable, do we really need another turn of the OS in the next 3 years to accommodate that kind of hardware? Even if hardware were to make such advancements, is it likely that applications could take advantage? Or, is it more likely that the hypervisor divides system resources into smaller chunks that a guest OS and applications can handle?
The next argument is modularity. Actually, this point is a better argument for not revising the operating system. I'm reminded of an industry adage "One layer of abstraction solves all problems". The reason we modularize technology in the industry is to protect one module from changes occurring in another module. Remember the HAL? The hardware abstraction layer (HAL) was created to shield the upper layers of the operating system (e.g. the application interface) away from hardware changes. The idea was to increase OS portability to different hardware architectures without having to re-write the applications.
Looking at technology today, is virtualization the new HAL? VMware's view of the world is the hypervisor is the place where value and services are added – including new hardware support. It's the interface to system resources. The guest operating systems are nothing more than an application run-time environment. In fact, VMware probably wouldn't mind if the guest operating systems didn't change at all. Every change on the part of the guest operating system adds support costs to VMware's platform. VMware would like nothing more than to add hardware technology changes to the hypervisor while the guest operating systems become more solid and stable.
So, in my opinion modularity enables the hardware support layer to change, but the application operating environment can remain constant. However, I do agree with Nik on this: Microsoft hasn't perfected the HAL or OS modularity...yet. But given that W2K8 was five years in the making, I think Microsoft has to consider that virtualization might create a more modular OS architecture that can shield applications from hardware changes.
The next argument is revenue stream. Yes, Microsoft wants to consistently release operating systems in order to generate a steady revenue stream. But that ship has long since sailed. Windows Server 2003 took three years to produce, while W2K8 took almost five. Is the time difference an anomaly or…. are Windows Server operating systems taking longer to develop and release? Even deeper – what was the cost of the slip to Microsoft’s and other IHV’s earnings? You can bet that Intel, IBM, AMD, Dell, and HP weren’t happy about the W2K8 shipment slip and have applied some not-so-friendly pressure to the software maker to change their model. So what can Microsoft do to regain their slowing – if not lost – OS revenue stream (besides work faster)? Well, as Nik said, modularize the operating system. Notice that Microsoft is selling Hyper-V both with the operating system and as a standalone SKU. Although Microsoft is hedging their bets with this move, one could easily imagine Microsoft revising Hyper-V more frequently to keep up with hardware advancements, while the application interface portion of the operating environment releases on a slower schedule. In doing so, Microsoft kills 3 birds with one stone. 1) Create a new release vehicle for hardware advancements… keeping the IHVs happy by selling more hardware. 2) Recapture some of the lost revenue between application platform releases -- Hyper-V lists for $28. 3) Maintain control of the application environment and keep the traditional revenue stream.
Another benefit -- this strategy buys Microsoft time. Hyper-V can keep the revenue stream going while they figure out what to do with Windows Server…like tailor it virtualization environments to play a specific role.
The final argument is that IT organizations require change…change to make operations more efficient….change to dynamically meet the needs of business. Nik and I agree here. But like the difference between Senators Obama and Clinton, our “data center health plans” differ. In my view, change is already happening. Virtualization is quickly commoditizing the operating system, reducing the need for expensive, bulky, kitchen-sink OSes and turning DCs into sleek, consolidated, dynamic business tools.
There are two other “elephants on the dinner table” that Nik didn’t mention.
First, Microsoft is fighting a two front operating system war. On one side of Microsoft is Google. Google, with its "Google Apps" is showing customers a world where the browser is the application platform, not the operating system. Google hopes that customers will one day have the ability to rent applications when the need arises rather than buying a more expensive perpetual license. On the other side is virtualization (mainly in the form of VMware). Virtualization looks to marginalize the monolithic operating system and turn virtual machines into application runtime environments. Microsoft is making some moves, but the road ahead is tricky.
Second is operating system uptake. IT administrators tend to live by the mantra “If it ain’t broke, don’t fix it.” It’s no secret that Vista isn’t selling well. The fact is Windows XP works just fine and may even outperform Windows Vista. And remember, Vista and Windows 2008 use the same code base. People don’t want to learn a new interface, worry about performance issues, worry about application compatibility. If you believe the press, the same holds true for Windows Server 2008, but only time will tell.
posted by: Drue Reeves


Comments