Why is a cloud OS necessary?

      Ever since Ballmer announced that Microsoft is going to release a cloud operating system I have seen the same question posted over and over again, “Why do we need another operating system for the cloud?” The answer is simple, you dont, Microsoft does. The “Azure” operating system was designed by Microsoft specifically for running in the cloud. The OS is not made for people accessing the cloud, instead it is made specifically for running on servers inside of Microsoft datacenters. Will the OS be made available outside of the data center? For all intensive purposes, no. If it is made available it will likely be limited to use by developers and companies specifically for creating and testing applications which will run in the cloud, and for installing on some corporate servers so they can have seamless integration between their in-house servers and the Microsoft cloud. For example, say a company has a small server farm which they run to host their web application. If they were to run that application on servers running Azure, in the case that their application gets very popular and their servers become overloaded they could send some of the excess traffic to the Azure platform as opposed to become completely Slashdotted into submission. By keeping the operating system consistent it will ensure completely seamless transition between the two as well as an actual test-bed to run applications on before putting them on the platform.
      Seeing as how questions come in packs, the immediate follow up to this is, “isn't there already Windows Server 2008? What wrong with that?” Yes, both operating systems are designed to run on servers, but by making an OS specific to the cloud there are quite a few optimizations which can be made to get even more performance out of the machines. In the case of Azure it is definitely going to be run as a virtual machine inside the data center much in the same way that Linux/Windows images are virtualized on EC2. Virtualization is really the key to making the cloud possible. It allows multiple OS instances to run on the same physical machine while encapsulating them from each other. That way one VM cant mess with anothers data or processes. Also, when someone is done with their VM, they simply replace it with a clean VM image and its as if they were never there. On EC2 they run up to four VMs per machine, I highly suspect that by trimming down their server OS they will be able to get a lot more VMs running reasonably on a single physical machine (I wont speculate as to the exact number, but I think that number will be at least double digits, maybe more?). Keep in mind that as opposed to EC2 where users have direct access to the OS, on the Azure platform users wont have direct access to the operating system. Therefore Microsoft can toy with the number of VMs to figure out the optimal number to run on their servers.
      So in summary, the new OS is not absolutely necessary, they probably could have done it on Server 2008. But, given the scale they are shooting for, and the amount of optimization they can achieve by making a specific OS it is no real surprise they made a new version specifically for this function.


Post a Comment