I have to admit – I’m not always great at spotting whatever is going to be the next great thing. This is evidenced by the fact that I bought an HD-DVD player because I was certain that format would beat Blu-ray, but more important to my professional life was the skepticism with which I originally approached cloud computing. The first time that I was approached by an IT executive in my company and asked whether I thought cloud computing was right for us I was quick to respond with something to the effect of “No way. I don’t want someone else keeping our apps and data where we can’t touch them and make sure they’re all right.”
I’ve learned a lot since that conversation and found Azure to have a wealth of advantages that made getting over my initial unease with things seeming out of my control well worth it. In this post, I will discuss some of the compelling reasons to consider using Azure for your next project.
Give access to your app – not your network
The proliferation of connected consumer devices such as smart phones and tablets has led to business users wanting (or demanding) to use these devices to stay connected to their work, leaving network pros to figure out how to meet this demand without exposing critical pieces of network infrastructure to the world. Along with hosted services such as Office 365, hosting targeted applications in Azure can allow businesses to make these applications to connected devices while keeping the doors locked tight on their internal network.
You don’t have to go “all in”
There are still many reasons to leave all or part of an application on-premise. These can range from licensing and regulatory restrictions to technology concerns. From virtual networks to service bus relay, the Azure stack provides plenty of tools to build a hybrid solution that allows you to keep the right pieces in the right places. The Microsoft Patterns and Practices team has put together some excellent Azure guidance to include the downloadable book “Building Hybrid Applications in the Cloud on Windows Azure” that can help you understand how to build your hybrid solution.
Ease of provisioning server instances
One of the more frustrating parts of supporting an enterprise application is trying to make sure that there are “just enough” system resources available to the application. If you have too much horsepower available then you’re wasting money on unnecessary hardware and if you have too little you’re wasting money as the users of your application sit idle during yet another outage. To make things worse, in many organizations once you jump through the hoops of proving that another server is necessary you may find that it will take weeks or months to get on the schedule for the group that installs new servers. When operating Azure applications, once this decision to increase capacity has been made, provisioning new servers is simply a matter of moving a slider in the dashboard or running a PowerShell script. The ease with which adding and removing server instances can be achieved in Azure combined with billing being calculated on a per minute basis creates makes realistic the idea of managing a highly elastic environment that adds “just enough” capacity during peak load periods and scales back during lower utilization periods to maximize gains from IT investment.
Azure applications aren’t locked up in Microsoft’s data center
In the past year, Microsoft has made significant progress in removing reasons to fear being locked into a hosting agreement with them by making Azure available as a hostable solution for third party hosting providers and Enterprise customers. Information on this offering can be found at the Microsoft Hosting page.
Many applications will “just work” hosted in Azure
Azure certainly has some great features that can and often should be leveraged to fully take advantage of its resilience and scale (such as queues and table storage), but many applications built to run on Windows Server in the past several years will run on the Azure fabric with no modifications because Azure is built with compatibility in mind. For solutions that require a mix of components designed to run on Windows Server and those built for operating systems such as Linux, Azure’s Infrastructure as a Service (IaaS) offering can be used to spin up virtual machines running the necessary application server software.
In this post, I’ve touched on five compelling reasons to consider building your next project (or a piece of it) on Windows Azure. There are many more reasons that could be added to this list, so I’d urge people trying to decide whether it’s time to move toward the cloud to invest a little bit of time to learn about what Azure brings to the table.