If you spend any time surfing around tech websites, you've probably seen plenty of ads for Microsoft's Azure service. The new Cloud OS. Push notifications simplified. Reduce the need for up-front technology purchases. Create applications running in the cloud. Um...ok, whatever that means. But behind all the confusing buzz words and endless promotion actually lies a decent product. And the last few years of Azure have seen significant improvement worth considering.
What is Azure?
According to Microsoft, Azure is an "internet-scale cloud services platform hosted in Microsoft data center". Again, not very helpful. Yes, we all love the cloud, but what can I do with it? Rather than ponder on more meaningful descriptions to suggest to the Microsoft marketing team, let's take look at what Azure offers the common man.
Virtual machines are the core of the Azure platform. Inside the online Azure portal, you can create virtual machines in minutes, either from an image you provide or selected from a list of popular OS's, including Windows and Linux.
After a few minutes of setup, your virtual machine will be up and running. VMs are only charged by the minute and only while they are running. you also have the flexibility to store persistent changes to a VHD and start a VM straight from stored VHDs, ensuring you can pick up right where you left off. At this point, the possibilities are endless. You might use VMs for quick development and test, especially across a large array of operation systems. Or you may want a virtual machine as the backbone for a Active Directory or SQL. Again, it all depends on what you want and whether the cloud is the right place for it
Virtual machines are certainly the most powerful services offered by Azure. But although virtual machines solve the hardware maintenance problem, VM's still require software maintenance like any other operating system. This is where services come into play. Since websites and mobile applications are some of the more popular uses for a VM, Azure provides specific services that target these without the hassle of a VM - Web Sites, Cloud Services, and Mobile Services. In short, Azure handles the back-end VM administration and lets you focus on your application. This includes tasks like installing OS patches, restarting failed VMs, etc.
Ok, enough talk, I'm going to build a website...
Similar to the VMs, you can create either a blank site, or choose from an excellent list of templates:
There is also plenty of methods to administer your new website. Azure has exceelent support from the command line if that's your thing:
If you want to avoid the command line, the new Azure Portal is pretty sleek:
Beyond VMs and websites, Azure also provides data storage in several different flavors. For large relational databases, Azure provides SQL Database, which should be very familiary to anyone who used it in the past. On the simpler side (and cheaper), Azure support "tables", which are super simple databases that contain only a key/value pair, but can support up to 1 TB of storage. Finally, Azure also provides pure storage with "blobs", designed to store large binary fines such as video.
Azure does provide some advanced features that I won't cover in detail, but will be popular among power users and larger businesses. These include media encoding services, content delivery networks, traffic shaping, etc.
Simply put, I love the flexibility of Azure. I can choose whatever OS I want, using whatever tools I want, running on whatever hardware I want (or I can afford). If I want completely control, I can setup my own VM, and if I prefer to not worry about the admin portion, I can easily setup a website in minutes. So far, so good.