Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke in 1961
It amazes me how applicable that quote is still today, and virtualization technology is going to keep that quote alive for me many years to come.
Think about virtualization for just second, you can create an entire server environment(Active Directory, Exchange, SQL, IIS…etc) with some RAM and hard drive space. How great is that. Yeah I know there are all kinds of other components that go into making virtualization happening. There are so many other virtualization workloads to consider, from VDI, Application Virtualization, Remote Desktop Services….etc. There is a nice article written by Michael Otey of Windows IT Pro Magazine which talks about the many Microsoft virtualization offerings, check it out here:
So what is the next wave of magic for me? It is cloud computing. What makes cloud computing on platforms like Azure fantastic? For me and from an IT perspective, it is the sheer scalability power the cloud can deliver. More importantly, the cloud is rooted in virtualization technologies. The ability to have 10 or 10,000 servers as an IT Pro is simply amazing and that is delivered via virtualization. So how does it all work, in the diagram you can see and example of the physical implementation of Azure.
- Hardware actually at first does a PXE boot that loads and boots WinPE in order to then download the base OS which is actually being deployed as a VHD. (Boot to VHD)
- OS in the VHD is the Windows Server 2008 “Parent Partition” running Hyper-V. (actually a modified version of Hyper-V tuned just for the specific hardware we’re running)
- And now when you want to run an application. It adds a base .vhd and runs a guest partition with Windows Server 2008 running on each.
That’s your application! You have an affinity to your own processor. Azure makes sure that your server will not be sharing processor core with any other applications from other Azure customers, in order to guarantee more reliable and consistent performance. So Azure offers a truly remarkable platform for your applications and could be a nice compliment to your infrastructure.
When you dig deeper under the hood of Azure, how does it help seamlessly spread the workload of your application across multiple virtual machines? The answers lies in the flux capacitor (sorry could not resist love the 80’s) for Azure called the Fabric Controller. The Fabric Controllers is the “Brains” behind it all. Essentially it is the “Kernel” behind Azure and by the way happens to be just another application running on Azure. So how does the Fabric Controller work:
After you load your application which contains two files the service package and model configuration:
- The Fabric Controller reads the model configuration which describes how to deploy our service. Let’s say that in this case we are deploying our service to 3 machines.
- The Fabric Controller determines which 3 machines to deploy to, copies the service package to the 3 machines, and fires up the services.
- The Fabric Controller then configures the DNS so you have an endpoint exposed for your services for the outside world to communicate with your services.
- From there, it configures the load balancers and routers.
That’s it. It’s completely automated. Amazing! As you can see we have some magical computing in our future!
If you want to come out and hear more about Azure and Virtualization, my teammates and myself are delivering live events across the country. These are free events and you can come out and learn more about Azure and Virtualization, check out www.technetevents.com for more information and to register.
Also one of my teammates, Dan Stolts is doing a dedicated event on virtualization on Friday, February 12, 2010, to learn more check out his post here:
This was a fun posted, I posted on the Windows BEIB blog, but wanted to share it here as well, comment and let me know what you think.