What you need to know about moving to the Azure public cloud
Report from the frontline
Cloud service providers, the focus of part two, are important to Microsoft's plans as well. But Microsoft's plans do not end there: the company has gone and built itself one of the largest clouds on the planet.
It really, really want you to migrate your workloads there and, most importantly, pay it that delicious monthly subscription.
Technology-wise, what it has is pretty good. Even if Gartner is a little angsty about the concept of public cloud, Microsoft dogfoods its cloudy offerings by running Office 365, Bing, Xbox Live and pretty much everything else on top of the same infrastructure it is peddling as its public cloud.
There is no dark magic to Microsoft's public cloud. Indeed, for Microsoft's Azure-Server development feedback loop scheme to succeed, there can't be. What goes into Azure ends up in the server applications and vice versa.
If you want to build your own Azure to see what makes Microsoft's cloudy offering tick, it has the tools for you do just that.
In the first article of the series I talked about how – in my opinion at least – a proper cloud has to be more than just infrastructure as a service. While moving beyond this at the on-premises or servicer-provider level requires a lot of work from cloud herders running the thing, Microsoft's app farmers raise good server cattle.
Want to light up a web server? Microsoft will create an IIS-based web server that allows you to code in .Net, Node.js, PHP or Python. LAMP-based web servers are still second-class citizens requiring sysadmin TLC to instantiate and maintain.
The default database is, naturally, MS SQL, which now offers NoSQL and Blob storage to 200TB just in case you need room to manoeuvre.
Microsoft puts Mobile app development in a marketing category separate from standard websites, offering a messaging bus for things like push notifications and inter-app communication and notification hubs to make some of that messaging more manageable.
The Big Data button will take you to a page extolling Microsoft's Hadoop offering, HDinsight, with the big hint that you really should just do all that in MS SQL. (Because it does Big Data now too, dontchaknow?)
If you are in love with Active Directory and want it to be the centre of your single-sign-on universe you can do that in Azure too and they will even throw in a side of multi-factor authentication if that is on your list.
Also worth mentioning is Media Services, a nice wrapper around a combination of automated transcoding, third-party CDN hooks and the APIs that bind them.
Pack your bags
In the second article of this series I talked about how a test environment accidentally turned into a live environment when customers started provisioning real-world workloads on it.
This was a less than optimal situation for me and the quick way out was to move the workloads to Microsoft's Azure public cloud while I get my Azure service provider cloud lit up.
Simply picking up your virtual machines and moving them to Azure is actually really easy. Doing so without breaking everything is hard.
The first rule of virtual infrastructure on Windows Azure is pay attention to virtual networking. Little things like "are the virtual machines you are uploading trying to run DHCP servers?" or "are you sure they don't have static IPs?" are compounded by bigger issues like "how do you access the things once they are up there?"
Make sure you have RDP, Webmin or another form of access set up and that any non-standard ports you might be using are accounted for in your firewall config changes.
The virtual machines that get uploaded had better be rock solid
VMconnect-based console access is not an option, so the virtual machines that get uploaded had better be rock solid. In the end I resorted to Teamviewer and lots of post-setup tinkering.
Once you have this sort of thing down to a science you can even automate moving your virtual machines from your local cloud to Microsoft's public cloud.
If you are doing something along these lines – joining your on-premises network to your Azure-hosted one – then you are into the hybrid cloud concept and need to start caring about VPNs.
I would also strongly recommend this MVA course on the topic.
As much fun as it is to upload VHDs to Azure storage, realise you screwed something up, then upload another copy, I can't say I am a fan of this when trying to get 30-odd virtual machines set up and running.
The hybrid cloud thing starts to become a good friend here, as you can do a lot with PowerShell.
I have nothing nice to say about licensing. But if you plan to use Azure you need to learn about it.