Windows Azure: Cloud-hosted virtual machines done right [review]
Some of Microsoft's greatest battles aren't being fought in the open, contentious field of constant public opinion and media coverage. If there's one thing Microsoft has always done better than the competition, it's blowing open new areas of opportunity and running with the ball on the sly. Apple and Samsung can keep their tactical flags limited to consumer electronics; Microsoft has far greater potential as a rising star in the cloud arena. The war started with its drive to push email to the cloud with Office 365, and the next leg of battle sits in the helm of Windows Azure and XaaS dominance.
If you're under the impression that we are not yet in the era of massive, prevalent 'big data', you're wildly mistaken. Our data needs are already climbing to astronomical levels, with IBM stating that 90 percent of the data in existence today was created in just the last two years. Not surprisingly, much of these growing data needs are being tossed into virtual environments whether it be on-premise in a VMWare or Hyper-V driven route, or my personal favorite: cloud-hosted virtual machines.
Before I get too far into my thoughts about Microsoft's Azure service as a VM platform, let me say that I have been using the service on a limited basis with a few customers since about October of last year. For industry watchers out there, Microsoft quietly took Azure IaaS out of beta formally a few weeks ago. And along with attaching a nice SLA uptime guarantee for VMs (99.95 percent, currently), they company is serious about taking on the giant Amazon in a price war that has no foreseeable end in sight. If you thought Microsoft rolled out Azure as nothing more than a pet project, guess again.
As a consultant to many small and mid-size businesses in the Chicago area, the move from physical servers to cloud alternatives is nothing less than hot right now. And in my opinion, cloud-hosted virtual machines are a better fit for smaller firms (25 and under) for many reasons. Just a few of the biggest benefits over on-premise virtual machine environments include:
- Minimal experience necessary. While on-premise virtual farms built on Hyper-V or VMWare require extensive planning and experience, Windows Azure can spin up virtual machines in minutes, not weeks, of technical prep work.
- Little up-front capital expenditure. In contrast to a concerted Hyper-V rollout that could run in excess of thousands of dollars in hardware and licensing, I can turn on an Azure VM for a cost of $60-115 USD per month in most instances.
- Unmatched uptime and availability. I have yet to meet a customer with on-premise servers that exceeds a 95-percent uptime per month. The older the systems get, the worse they are. Azure has stellar uptime from my experience so far.
- Disgusting bandwidth for inbound/outbound traffic. I've clocked most recent customer VMs in at over 110Mbps downstream and 60Mbps upstream. If you have such bandwidth readily available onsite, you're luckier than 97 percent of organizations out there.
- Remote access from anywhere, anytime. Sure, traditional servers have had remote desktop for some time. But there is always configuration needed, along with static IPs, for this to function, especially when more than one server is in use. Azure provides you with a simple pre-configured FQDN for connection purposes on every VM you create.
- No licensing worries. An on-premise VM environment invariably has licensing issues to wrangle with no matter how you slice it. Higher level needs on Azure may necessitate licensing, but stock virtual machines are fully licenses and ready to roll for production needs.
There are other aspects that I'll discuss as I progress, but in general, my initial impressions with Azure thus far are pretty stellar. No, the service has not been without hiccups, but compared to the number of quirks I ran into with Amazon's EC2 during my testing over the same period, I'll take Azure any day of the week.
It's simple, very competitively priced, and affords for the flexibility of any virtualization project needs that your organization or customers may be going through. Microsoft even offers Linux boxes on its cloud; something commendable for a company that publicly prefers for you to keep Windows Server running in your network closet.
Leveraging Azure means you have access to some of the fastest pipelines to the backbone of the internet. Microsoft's data center infrastructure is arguably one of the best in the world. The above speed test from a production Azure VM (on Server 2012) speaks for itself.
Amazon and Microsoft aren't the only ones in the cloud hosted VM arena these days. RackSpace got into the game some time ago, along with numerous smaller vendors like SoftSys, PayPerCloud, and MyHosting, to name a few. I'm not here to knock all the little guys, as I only have formal experience with SoftSys outside of Azure and EC2, but they can't compete with Azure in two primary areas: breadth of offerings and price points. In these two respects, Microsoft and Amazon have the market fairly cornered.
Google launched Compute Engine back in the middle of 2012 to compete in the cloud VM market. But since the service only supports Linux VMs at this point, along with its numerous rough edges to boot, I don't consider Google a major name in this arena just yet. In my opinion, the service needs to add Windows VM support to compete in the same class as Azure and EC2.
Nothing like an Old-fashioned Price War
I'm not one to champion companies merely on price alone. I know there is more to the quality equation then just pricing. But budgets speak numbers these days, and when the bar of quality is equal, pricing talks. Microsoft needs to keep Amazon at bay if it plans to keep growing Azure into a mainstream service. In the same way that Microsoft has Hosted Exchange providers beat on pricing with Office 365 as a whole, I think the company also created a two-horse race between Amazon when it comes to virtual infrastructure services.
It helps that Microsoft is dedicated to keeping costs in line, or cheaper, than Amazon's competing EC2 and S3 products. With the announcement just a few weeks back slashing Azure pricing 21-33 percent, Microsoft provides assurance to the technical community that it wants to level the playing field and differentiate from Amazon on feature sets -- not on face value price points. For my own customers, this has helped us consider Azure as a viable competitor for what is otherwise a fairly new entrant to the market.
Comparing prices between Amazon and Microsoft is a pain in the rear end, and not because of Redmond I might add. Amazon's EC2 website is so backwards that there is a single page outlining a bevy of price levels, and comparing the services apples to apples requires that you reference back to a glossary page of VM instance types. Perhaps Amazon wants to create a cloud of confusion and sucker you into submission.
In contrast, the Azure cloud calculator is a simple to use dynamic form that shows pricing levels on the fly depending on the number of VMs needed based upon the performance tier chosen. You can easily mix and match vanilla Windows servers along with Linux boxes, and toss in SQL instances, among other options. Simple, quick, and dirty - and as a technician and customer alike, I appreciate when companies embrace KISS.
On the raw pricing front, Microsoft seems to be undercutting Amazon's price levels just enough to make it worth mentioning. Here is a pricing comparison taken on May 7, 2013 based on the latest publicly available rates between each service for Windows Server virtual machines. Amazon's US East pricing was used, since this represents the generally cheapest price levels for Amazon cloud services in the USA.
As you can see above, Microsoft's similar level Medium Windows instance beats Amazon's by more than 12 percent. Before you jump on me for the difference in memory offered, even taking that into account, there is only a 6 percent difference in memory levels between the two providers. Pitting the two numerically equally, this still means Microsoft's pricing is over 6 percent better than Amazon's. For an organization looking to run these VMs nonstop month after month, this small difference adds up. For those curious on Amazon's reasoning behind a unit of EC2 processing power, you can read up on their official FAQ page.
The same numerical advantage sits in Microsoft's court even if you size up a beefier VM, from the respective "Extra Large" class that each provider offers:
If a customer wanted to run one of these Extra Large instances 24/7 for a production need, it would cost them $6,289.92 per year on EC2 compared to a mere $5,529.60 per year from Azure. That's a $760.32 savings for the year. Sum that up across every extra VM in use, and the numbers start adding up to a pretty penny.
Management counts, and Azure tops EC2
Another area that Microsoft clearly has Amazon beat is in administration and maintenance. If you're looking to spin up a quick VM on Amazon, you better learn the sprawling and massive instance glossary before chugging forward or else you could be in for a pricing surprise if you chose an instance too large for your needs. The process won't become any more user friendly until Amazon takes a deep long look at the number of steps involved in the instance creation process on EC2.
Microsoft's dashboard for Azure (known as the Portal) is visually balanced, easy to manage, and logically organized (bottom). In contrast, Amazon's EC2 dashboard is a cluttered mess of technical jargon and links loosely collected in a left hand tree (top). No wonder I like working in the Azure Portal compared to the rat's nest Amazon provides.
Microsoft's portal, in contrast, is clear and concise from the get-go. Looking to create a VM? Click on the large "New" option at the bottom left hand corner of the Portal, choose your desired platform, and plug away at all the options you need. The visual indications on screen let you know when your VM is being built, and when it is ready to go. No second guessing the setup process is necessary.
The other issue I have with Amazon is that their administration for different services is illogically carved up into various admin areas. Administering EC2 is different from the area that controls S3 (cloud storage) is still different than what you see for RDS (relational database service). Why can't they all play nicely together under a unified management portal like Azure provides? If I had to work with a small business to get them oriented on managing multiple services from Amazon AWS, I don't know how I would explain it all.
Amazon's answer to managing its numerous cloud services online, as shown in entirety above. Each service has a different control panel area to learn. Azure's portal allows you to manage all services from a common administrative interface, reducing complexity and streamlining tasks.
I know full well that most organizations won't be spending all that much time in the online interface, but there are many instances where you may need to flip VMs on and off regularly or create new test environments for various purposes. Whatever it may be, that's not the point here. Microsoft's approach to cloud service administration is much more defined and "mature" even though Amazon has been doing this longer than anyone. Seniority doesn't always win out, it seems.
Performance and Reliability earn Azure Top Honors, Study says
Microsoft may be one of the rookies in the cloud services game, but it sure plays like a veteran, according to enterprise storage vendor Nasumi. The organization released its second State of Cloud Storage report a few months back, and Azure gave the competition a licking in most areas, including performance and availability. Nasumi was pretty blunt about the findings: "Microsoft Azure has taken a significant step ahead of Amazon S3 in almost every category tested".
What were the key points in Nasumi being so poignant about Azure's offerings? Based on tests run between Nov 2012 and Jan 2013:
- Speed: Azure was a full 56 percent faster then the number two vendor, Amazon's S3.
- Availability: Azure was 25 percent faster in response times than Amazon's S3, which was second best in the results.
The only area where Amazon was able to top Azure was scalability, but only with a difference of 1.3 percent between the two. "Not only did Microsoft outperform the competition significantly during the raw performance tests, it was the only cloud storage platform to post zero errors during 100 million reads and writes", the report goes on to say. While Amazon was a strong second place contender, Nasumi clearly believes that Microsoft's Azure service is serious about taking the lead in cloud storage and services, and staying ahead of the rest.
Azure's Possibilities seem Endless
This review was focused solely around Microsoft's virtual machine offerings on Azure. But with all of the available flavors on the platform, the sky seems to be the limit for Microsoft in this newfound realm. The platform already plays host to such diverse offerings like cloud-hosted SQL, mobile services, and storage blobs, and Microsoft's appetite for moving us to the cloud is not getting any smaller.
Take, for instance, the possibilities surrounding the budding identity features in Azure, specifically within Hosted Active Directory. Today Microsoft has solely limited the scope of the functionality within this platform to federation with existing services and on-premise AD infrastructures, but imagine when -- not if -- we can ditch all remaining local AD servers and replace them with AD in the cloud? I know this is on Microsoft's plate, and I expect it will start rearing it's head sooner rather than later.
Further proof leading me to believe this is the eventual future of Azure sits within a juicy nugget of news that came out recently surrounding a pet project reportedly in the works. Under codename Mohoro, Microsoft is supposedly looking to branch into cloud-hosted VDI (virtual desktop infrastructure) which is dominated by players like Citrix right now. If Microsoft could get this initiative right, and build it into Azure as a pay-per-use offering, VDI could become a lot less expensive and actually viable for the average small business.
Such VDI buildouts in Windows ecosystems have been traditionally reserved for the enterprise. Why? Expensive hardware; expensive software; hard-to-manage licensing; extraordinary planning efforts; and an entire upheaval of the way organizations handle their desktop technology now. Azure has already proven it can deliver the backend to handle diverse needs. I don't doubt in any way that it couldn't make VDI for the masses an eventual reality very, very soon.
And if Windows goes the way of pay-per-use, a bevy of other Microsoft products will subsequently follow, namely the entire Office ecosystem that has held onto its localized, desktop roots. The current push by Microsoft to turn Office into a 365-driven platform doesn't change the fact that the software is still downloaded and installed locally to your Mac or PC (Office Web Apps being the cheeky exception).
If Azure has it's way in the next 5-10 years, that could all be a thing of the past. Imagine merely selecting which Office app you need to use, on the fly, and having it streamed through your Azure-powered Windows desktop in a matter of seconds.
Microsoft gets it (mostly) right with Azure
Is Microsoft's Azure service perfect? Of course not. It has got some rough edges, but nothing to make it any less recommendable. For one, reserving static IPs for virtual machines is still a challenge when you get rid of (delete) VMs that are tied to specific addresses. And Microsoft is not immune to making some rookie mistakes with its baby of an offering, as was seen as recently as this past February. But like with any cloud service, there will be bumps along the way, and I guess that's a part of the ride. Sit tight, and be prepared for the unexpected at times. It's not like Google Apps is coasting along unscathed by downtime, either.
If you are looking for a service that has flexibility for varying needs, solid pricing, and the trust and security that comes with the Microsoft name, I don't think you could ask for much more. Azure went from being nothing more than a value-added afterthought to a full blown primetime option that I have already deployed for numerous customers, and am actively setting up for others going forward.
It will be interesting to see how viable Microsoft's yet-released VDI initiative will be on Azure, and whether or not it will take off. Some studies are already finding that VDI is something either being used or investigated by over 80 percent of organizations, and this number will surely continue to grow. As much as the industry tries to move away from Redmond, quality offerings like this will only keep reeling them back in. Hopefully others like Amazon can keep up.
Derrick Wlodarz is an IT Specialist that owns Park Ridge, IL (USA) based technology consulting & service company FireLogic, with over 8+ years of IT experience in the private and public sectors. He holds numerous technical credentials from Microsoft, Google, and CompTIA and specializes in consulting customers on growing hot technologies such as Office 365, Google Apps, cloud hosted VoIP, among others. Derrick is an active member of CompTIA's Subject Matter Expert Technical Advisory Council that shapes the future of CompTIA exams across the world. You can reach him at derrick at wlodarz dot net.