Microsoft Azure: First Impressions
Microsoft Azure — formerly known as Windows Azure — is Microsoft’s public cloud service that has been around in one form or another for several years at this point. To be honest, I viewed Azure as something for the developers and I ignored it. And to add to the honesty, I viewed Microsoft Azure with some acrimony because I, an IT pro, saw it as a threat to my career. I had to face that fear head on when I was given the mission at work to, first, learn Microsoft Azure, and second, be in a position to evangelize and consult on the service. In this two-part series, I will tell you about my early experiences with Microsoft Azure. I’ll discuss the things I like about it, the weaknesses that I see, and I’ll address the dreaded question: Will Microsoft Azure steal our jobs?
What Is Microsoft Azure?
You’ve probably read about Microsoft opening up super-modern data centers around the world. Those facilities, run by an organization called Global Foundation Services, host Microsoft’s public cloud services, such as Office 365 and Microsoft Azure.
A public cloud is a shared infrastructure that is run by a hosting company (in this case, Microsoft). Services, often labelled with the marketing term “-as-a-Service” or –aaS, from that infrastructure are sold to customers or tenants. The infrastructure is shared and it isolates each tenant (customer) from every other tenant. A trait of a cloud is self service: A tenant can sign up and consume services directly from the cloud without interacting with the hosting company’s technical staff.
Microsoft Azure started life as a service that is referred to as Platform-as-a-Service (PaaS) that was aimed at developers who wanted to run their applications with great elasticity (scale up and down at will) and broad network access (bandwidth and international placement). Devs could load software based on Microsoft’s stack or even opensource into Azure and take advantage of storage and database services, including a Microsoft-run SQL service.
PaaS has a very limited audience and Azure wasn’t doing as well against Amazon Web Services (AWS). AWS offered the ability to create and run your own virtual machines in a public cloud with various networking options. Eventually Microsoft came up with an offering in this Infrastructure-as-a-Service (IaaS) market, and based on recent news, it appears that Microsoft Azure has now overtaken AWS when it comes to hosting public-facing Windows web servers.
Want to try Microsoft Azure? Give it a whirl with this free trial.
Microsoft Azure: Services Offered
Microsoft Azure is now a brand for a large number of services spanning storage, networking, compute, platform, and more. I’m going to focus on a few services that I have found to be of interest to IT pros, but this is by no means an all-encompassing review.
If you’re after a website, then Microsoft Azure should be interesting. My first experiment with Azure was to deploy a free website instance. This is similar to the kind of web hosting that has been common place for the last decade. I deployed a WordPress site from a gallery (think of it as a template library) with very little effort and had a fully functional content management system and website in no time at all. I loaded templates, add-ons, and was browsing the site within an hour. If you switch to a paid option, then you get dedicated compute power and can even scale out your website across multiple load-balanced hidden web servers.
Storage is one of the big markets for Azure. At the most basic level, you’re talking about blobs or raw storage capacity that can be used by software that you load in Azure or other Azure services. Storage is also being used by some of Microsoft’s hybrid cloud (where on-premise services integrate with a public cloud) solutions. Microsoft Azure Online Backup allows you to send encrypted backup data offsite to Microsoft’s cloud. The StorSimple appliance offers tiered storage via SSD and SAS on premise and Windows Azure in the cloud. The thing about cloud storage is that it can be cheap. In fact, when you have the purchasing power of Microsoft or Amazon, you can acquire and resell storage at rates that are difficult to match.
Aside: I recently attended StorSimple training. It’s an interesting device. StorSimple can solve storage issues for some organizations with certain specific scenarios where they are challenged with the scale and cost of their on-premise storage requirements. I hope I can write a bit more about this solution in the near future.
The compute service that will be of most interest is Virtual Machine. Consuming this service is like being a System Center Virtual Machine Manager self-service user; to be more accurate, it’s more like being a user of the Windows Azure Pack, but that won’t help you any if you haven’t seen the Azure portal. You don’t deploy any physical infrastructure in Azure – Microsoft has done all that for you. Instead, you pick a virtual machine template and you deploy it. The virtual machine is installed, and you log into it via secure remote desktop over the Internet.
If you haven’t seen any Microsoft Windows Server presentations since June 2013, then you should know that Microsoft Azure is based on Windows Server 2012 Hyper-V. So a virtual machine that you deploy in Microsoft Azure is essentially a Hyper-V virtual machine. There are differences between the Hyper-V that you’d deploy on-premise and what Microsoft is running in its data centers. The most obvious of these is that your on-premise services are more customizable and more up-to-date in terms of features. Although Windows Server 2012 introduced the VHDX format of virtual hard disk, Microsoft Azure is restricted to using the less-flexible VHD format. There are also some other things, and it pays dividends to search for best practices when deploying applications such as SQL Server or Active Directory in Microsoft Azure virtual machines.
Microsoft Azure offers interesting networking solutions. Hyper-V Network Virtualization (HNV, aka software-defined networking or SDN) is alive in Microsoft Azure, and you will use it without even thinking about it. You can, and should, deploy virtual networks to connect your virtual machines. A virtual network can be subnetted and these subnets can route between themselves freely. This enables you to create multi-tier networks for complex applications.
One of Microsoft’s strategies for selling Microsoft Azure to medium/large businesses is the concept of a hybrid cloud. You can connect your on-premise networks to Microsoft Azure. Up to now, you could use site-to-site VPNs to connect your office (or offices using iBGP routing) to your virtual networks in Microsoft Azure. A new service was recently announced (initially with AT&T in the United States) to allow Windows Azure customers with MPLS networks to treat their footprint in Microsoft Azure as another site on the WAN. That is an option that was greeted with joy by larger customers.
It is this hybrid cloud connectivity that makes Microsoft Azure interesting. When you deploy new services, either in green or grey field deployments, you choose which tier of your compute capacity to use.
- On-premise: You have difficult to acquire/expand and limited elasticity capacity. But the local presence gives you the ability to customize, control security, and manage service levels beyond contractual refunds.
- Public-cloud by a hosting company: You get the elasticity and instant-on nature of a hosted cloud, but with the levels of personal service that only a local company can offer.
- Microsoft Azure: Microsoft’s public cloud offers incredible scalability and can be very cost effective (once you figure out the costs!). You won’t get the personal touch of an on-premise installation or from a local hosting company, but the service levels and simple-to-use options are incredible.
Getting Access to Azure
There are many ways to get access to Azure, some of which are good for evaluation or test labs, and others which you’ll use for production usage.
If you want to have a look at Azure to see what all the fuss is about then there is a time-limited free trial that gives you €150 (about $207) of credit. That might not sound like much, but it is actually a pretty decent no-obligation opportunity to evaluate Microsoft’s cloud services. According to Microsoft you can do the following:
- run two small Virtual Machine instances for the entire month, or
- store 800 GB of data in Storage, or
- develop and test a web application using Cloud Services, with three web roles and two worker roles on medium instances, for ten hours a day, five days a week, or
- run a 100GB SQL database for the entire month
If you have access to an MSDN subscription (such as those given to Microsoft partners with a silver or gold competency) then you’ll get a €75 credit (about $103) per month with no carry over for the length of your subscription. This is a nice benefit; it allows you to run a few virtual machines in Microsoft Azure for free. You can use these virtual machines to test or dev, to learn about a new Windows feature or other product, or even to do a proof of concept or customer demonstration – and all for free. Note that by default your account will not allow you to spend more than your monthly credit. You can override that if you want to exceed the limitations of the MSDN benefit.
Then we move into the world of real usage. There are two ways to pay for Microsoft Azure. The first is where you supply credit card details and you are billed on a pay-as-you-go basis. The more services and capacity that you use in Windows Azure, the larger your bill will be.
The second option, and this is the one that larger businesses will go for, is to add Windows Azure to an enterprise agreement (EA – Microsoft’s volume licensing scheme for larger businesses). The new Server and Cloud Enrollment scheme for licensing on-premise servers includes Azure as an option. With this system, you buy a block of credit up front from Azure. You draw down from that credit as you use the services of Azure.
One of the headaches with public cloud such as Windows Azure or AWS is trying to figure out how much this thing is going to cost on an annual basis. Cloud computing is often compared to buying electricity: the more you use, the more you pay, and it’s always ready to go. The problem with that analogy is that electricity is easy to bill. Windows Azure and AWS are not that simple. You pay for virtual machines on an hourly basis. You pay for bandwidth egressing the datacenter. You pay one rate for storage that is replicated within the data center, and another rate for storage that is georeplicated to a neighboring data center. (They’re actually pretty far apart; for example Dublin in Ireland replicates to Amsterdam in The Netherlands.) There are lots more services that you’ll consume, and it’s going to be tricky to figure out how much each will cost.
If you are moving services from on-premise to Microsoft Azure, then you might have the empirical data (see the System Center Operations Manager data warehouse and reporting functionality) to make a reasonable estimation on your future usage in a public cloud. But odds are, you either don’t have that level of monitoring or you will be deploying new services into Windows Azure. In that case, wet your finger, stick it in the wind, and guesstimate.
In that latter scenario, a proof of concept will prove very important. Consider using a free trial or an MSDN benefit to determine what your usage will be at a small scale and then scale those numbers out to forecast. The credit option of an EA might be very useful for paying for your subscription once it’s deployed.
In part two of this series, I will discuss my early hands-on experience with Microsoft Azure, discuss what I like, what I think needs to improve, and whether I think Windows Azure will make IT pros redundant.