I have been using Amazon’s AWS for the last couple of years. I grew accustomed to the interface and felt pretty comfortable spinning up new images to help in my development work or creating demos for clients or just to research some new technology. However, as a proud owner of a MSDN subscription it was hardly financially prudent for me not to make the switch over to Azure, especially in light of the many improvements Microsoft has made to the platform. My goal in this article is to provide some guidance to people like me who are beginning their Azure journey. I will not be discussing the pros and cons of Azure over AWS or vice versa. I will simple be providing an introduction to Microsoft Azure for those who may need it.
This should be the easy part, right? In most cases, I am sure that it is. In my particular case it was a bit more painful, but only because there was a glitch in the process where my MSDN subscription did not get linked correctly to my Azure account. However, Joe C, an Azure support engineer, fixed me up moments after I submitted a support request. I give Microsoft an A+ on the focus they are giving support of Azure customers.
The first thing you will need is a Microsoft account. I know, kind of obvious, right? After logging in with your Microsoft account, you proceed to link that account to an Azure subscription. There are a few pricing options to pick from including a pay-as-you-go and subscriptions linked to your MSDN or Enterprise account. Once you get through the initial signup process you are taken to the management portal where the true adventure begins.
The Azure Portal
On first glance, the portal can be a bit intimidating. Microsoft has packed a great deal of services under the name of Azure and I won’t spend time describing them all. However, the online documentation describes each service in detail and even provides case studies and business cases for each services’ use. What I will say is that the list of possible offerings is impressive. The ability to quickly create and deploy web sites, web services, SaaS APIs along with a wide variety of servers running both Windows and non-Windows operating systems such as Ubuntu and other Linux flavors makes Azure very flexible and platform agnostic.
For this first time venture in to Azure I will keep it simple and just stick to creating a new virtual machine. Since I am currently working on a project testing out the new features of SQL Server 2014, I am going to pick an image where it is installed and configured for me. I could have picked a new SQL Database from the menu which would have given me all the data services I could need to host applications, but it would lack all the management features that I need for my feature review. I could also have just chosen a basic Windows Server and installed SQL Server myself, but the great thing about Azure is the speed at which you can deploy images that already have what you need installed.
Once I have chosen my image, it is time to choose a name, tier, size and an administrative user for access.
For the tier selection I can choose Basic or Standard. A Basic tier server provides no auto scaling or load balancing features, while a Standard tier server does. As you can expect, the pricing is different as well, the difference ranging from about $1.00 a month for single-core servers with 1.75GB of RAM to about $100.00 a month for 8-core servers with 14GB of RAM. Which is the largest available server in the Basic tier. The Standard tier offers additional configurations up to the impressive 16-core 112GB Ram edition, with an equally impressive price of about $3700.00 a month.
The monthly charges are estimates since the actual pricing model is based on minutes and you only pay for the minutes that a machine is actually running.
Since I am creating a SQL Server and I want a reasonable level of performance versus cost I choose the A3 sized server with 4 cores and 7GB of RAM.
Next comes the cloud service configuration where I will configure the DNS name along with configuring the rather confusing Region/Affinity Group/Virtual Network setting. What this does is essentially allow me to set a Region for my virtual network along with the option to specify a proximity affinity for multiple machines in the same region or virtual network so that the virtual machines’ communication is optimized. I haven’t created a virtual network, so I will just set the region value. Since I am based out of Western Washington, West US makes sense.
For a much more detailed explanation of the Region and Affinity Group option see http://msdn.microsoft.com/en-us/library/azure/jj156085.aspx
I also have the ability to create and choose an availability set. Availability sets allow me to create multiple servers in different availability domains called Fault Domains and Update Domains. The purpose of the availability sets is so that I can separate two redundant machines in different Update Domains where they will not be updated by Microsoft at the same time. I can also separate servers in to different Fault Domains where they are hosted on a separate power source and network switch. The bottom line is that Availability Sets help me maximize availability.
The last configuration screen is provided to manage VM extensions. The extensions offered are for automatic image configuration and security. Automatic infrastructure configurations are offered through Chef and Puppet along with a custom script extension that utilizes PowerShell to perform automated VM configurations.
Security extensions are offered by Trend Micro, Symantec and Microsoft.
Each of the extension offerings have their respective licensing costs with the exception of those published by Microsoft, which are, of course, free just as they would be for on-premise installations.
Once the configurations are complete, the server is spun up in a matter of a few minutes. Gaining access to it is provided by a control bar at the bottom of the management portal. From the bar I can click on connect, that then downloads an RDP configuration file to launch a remote session. I can also restart or shutdown the machine. If additional storage is needed, I can attach disks or detach disks that have been attached when they are no longer needed.
A very cool feature provided by the control bar is the ability to “Capture” the image. The capture feature creates a new image configured exactly like the one running. It does this in generally less than a minute.
If I have no further use of my server, I can also delete it, but remember, you only pay for what’s running so go gently with the delete button.
The Azure portal also provides a dashboard where it is easy to monitor and change the configuration of the virtual services configured.
Azure has been around for a number of years, but it has really hit its stride recently and Microsoft continues to update the available features and add new ones on a fairly aggressive schedule.
The ability to quickly and easily spin up environments for almost any need along with the ability to easily link those environments to on-premise installations through virtual networks and VPN connections is a compelling reason to use Azure.
Hopefully this will help you get started.