Since 1995, I have run a home networking consisting of several Windows servers, PC’s, Laptops, and other devices. I started out small – just a single NT 3.51 Domain Controller and a single workstation running Windows 95. It grew to 16 physical machines which was my peak in 2004-2005. Then I started virtualizing and farming out workloads (about a year and a half ago, I decommissioned my Exchange server and moved hosting out to Hotmail). I am now down to two servers and a handful of connected devices.
With the recent production release of Azure VM Roles and all of the attention being focused on Azure IaaS, I thought it would make for a great project to move my home network out to Azure. For me, there are several benefits -
Reduce Costs (multi-faceted) – I currently have a business class DSL line with static IP’s. This of course is tied to a land line. I rarely use the phone line itself and would actually like to get rid of it completely. All told, the phone + DSL + business class services costs me just shy of $150/mo. I don’t know what the electricity cost is for running the two servers but I am considering that a wash as I am sure I will repurpose them for other things. But I plan on eliminating my Phone +DSL completely and picking up cable internet for about 1/2 or less of the cost. Based on the Windows Azure Pricing Calculator, I estimate my Azure costs to be less than $75/mo. This will turn out to be a wash as far as “services” go. But from a hardware perspective, I no longer have to replace malfunctioning hardware or upgrade physical servers. I don’t really know what my hardware spend has been on an annual basis, but gauging from the size of my PC graveyard in the basement, I figure I will save $1000 (and probably a LOT more) per year on hardware spend.
Reduce Maintenance – Don’t get me wrong – I am a nerd! – I really do enjoy working with PC’s, but the reality is that these days I spend more time with the software than I do the hardware anyway. I can’t remember the last time I cracked open the cases of either of my two servers (knock on wood!). I still go to Fry’s every weekend, but I don’t spend as much as I used to on storage because I have so much in the cloud. My hardware spend has moved more toward personal pet projects, most of which I can accomplish leveraging Windows Azure VM’s. If I am not touching the hardware anyway, why not run the software elsewhere? Even though I am not actively doing anything with the hardware, I know at some point I will want to upgrade something, or something will fail and it will have to be replaced (see Reduce Costs). Why incur the downtime, expense, or headache? Plus, I may finally be able to sell off some of the stuff I am not using any longer and re-coup some of my costs.
Greater Uptime – My house is only 12 miles from the main Redmond Microsoft campus and one of the highest profile tech companies in the world, but that means nothing to the trees and above-ground electrical systems in my area. I live in the woods. It seems like every time there is a slight breeze, the power flickers at my house. Okay, it isn’t that bad, but I have grown accustomed to random power outages and service disruptions in my area. Since host my own DNS which in turn manages my domains (including http://chrisavis.com for this blog), I need DNS to alsways work. I also have web sites and other services that I run locally and I need consistent reliability for which is something Windows Azure IaaS can provide. Moving DNS, Web Sites, and other services to Windows Azure, will give me a level a reliability that I can’t even guarantee using my own infrastructure.
To give you and idea of what I will be moving up to Azure, here is what I currently run on my home network -
wallofvoodoo – My trusty Forefront Threat Management Gateway 2010 server. This machine will stay in place as my perimeter firewall. I honestly have to admit that I am keeping it because 1) I trust it and 2) I have an emotional attachment to it. I have been running our own Microsoft firewall products since Proxy Server 1.0 and have always thought Microsoft security products were overlooked by the broader community. Forefront TMG is a fantastic firewall product. Even though it is now discontinued, I plan on running it all the way to end-of-life or until/if we deliver something to replace it.
ironforge – This server does a lot in my household. It serves as my primary Hyper-V server as well as physical Domain Controller. It also serves as a tertiary DNS server. I know that isn’t a best practice, but it keeps my footprint small both physically and financially. By moving the workloads virtualized on this machine to Azure, I eliminate the needs for it to be a Hyper-V server (though I will probably use it for virtualizing some personal stuff at home). That just leaves the domain controller and DNS roles for which I will simply build a new VM in Azure to replace these roles.
Azjol-Nerub – This is my web server. This is one of the workloads I am most interested in moving to Azure so I can flesh out some web-based projects. I have delayed a number of them simply because I couldn’t guarantee the uptime I want using my own infrastructure.
Gallifrey – This is a secondary DC I have built as a part of my planned migration to Windows Azure. This is a Windows Server 2012 machine and I plan on moving all of my FSMO roles to this machine as a part of the migration. This will make it my “primary” DC once it gets moved to Azure. This will also let me upgrade all of my functional levels to Server 2012 level (I currently have 2008 R2 DC’s).
LormesaWAAD – I set this machine up as a Directory Synchronization server to test Windows Azure Active Directory Synchronization from my home domain to Azure. Since I plan on having everything in Azure, I won’t need this server any longer.
Blah– This is a crash and burn machine. It won’t be getting moved and may very well get deleted.
Here is the current plan for the migration for which I will be writing a blog post for each -
Step 1 - Clean up, patch, backup and prepare machines for migration
Step 2 – Migrate Gallifrey (DC) – including making “primary” DC, FSMO role holder, and
Step 3 – Migrate Azjol-Nerub (web server) – including verifying that all web sites stay online and web re-directs are active.
Step 4 – Migrate remaining virtual machines – including verifying all connectivity
Step 5 – Deploy new VM’s to support personal projects
Step 6 – Start planning secondary support domain for cloud based lab (this will get broken into several distinct posts)
If you would like to follow along, I encourage you to sign up for a Windows Azure 90 Day Trial as I will be building some new infrastructure along side this for testing and will be documenting this in a manner that lets you create it as a stand alone lab environment.
By the way, If you were previously using Azure VM Roles in Preview and would like to save some of that work before it is officially decommissioned on May 31st, Please see the following - Moving from VM Role to Windows Azure Virtual Machines