Computing is getting ever farther away from the old approach of storing all your data and software in your own server tower. Now devices are shrinking to become more mobile, and they are becoming less like local processors and more like portals onto distant files and applications. The cloud, whether it’s your own private cloud or some third-party datacenter, is what you’re reaching into these portals to access. A lot of what cloud providers offer comes in the form of software subscriptions, or SaaS—that’s Software as a Service—like Microsoft’s Office 365 suite. But if you want to build or host applications in the cloud, you’ll want a service like Azure.
Microsoft categorizes Azure services under four main headings:
Cloud Services (PaaS):
Developers can use Azure as a platform for building and deploying applications. They create the code with tools provided by Azure, and then virtual machines execute the rules of the application using Windows Server. Since the development and hosting tools are purchased through a subscription, Azure Cloud Services is an example of what’s called Platform as a Service (PaaS).
With Cloud Services, your application will run on virtual machines, but unlike with the Virtual Machines service (see below), Azure will install the operating system for you and continuously update it with any new patches. You can use Cloud Services to create different roles for users—web users or workers, for instance—and it’s really easy, as it is with all Azure tools, to scale up or down to accommodate increases or decreases in the number of users. This type of autoscaling allows you to pay only for the computing power that actually gets used.
Virtual Machines (IaaS):
Azure gives you the ability to create VMs simply by specifying the size and the Virtual Hard Disk (VHD) you want to use. The VHD is the virtual version of a hard drive on a conventional computer; it’s the storage unit on which all the files and applications are saved. Microsoft Azure provides access to both Windows and Linux VHDs, so it accommodates developers with expertise in either. And with this service as well, you only pay according to how much time the VM is actually running.
One of the big advantages of VMs is that developers can use them to build and test applications quickly at low cost. You can also use VMs to augment on-site datacenters to boost the power of applications like SharePoint. Since Azure Virtual Machines essentially gives you the computing substrate for your applications through a service subscription, it falls into the category of Infrastructure as a Service (IaaS).
You can make use of virtualization in your on-site datacenters, but if you’re using Azure you’ll definitely be relying on virtual machines to one extent or another. To create virtual servers on physical servers, you use software that sets up divisions between each virtual machine (VM) and allows them all to operate independently. What this does is add a layer of abstraction between your information and the physical infrastructure that hosts it. This in turn gives you more flexibility in how you manage and protect the various elements of your computing environment.
You can use Azure as a platform for creating and hosting websites and web applications. Web Sites supports several different development tools and content management systems. And it provides a low cost way to make your site available to however many visitors use it without having to maintain or upgrade any on-site servers. Hosting your website on Azure allows you to take advantage of autoscaling, which means your server capacity will be automatically augmented to accommodate spikes in traffic, but it will return to normal once the spike is over. Again, you only pay for the capacity you actually use.
Mobile Services (mBaaS):
You get three basic advantages from using cloud platforms and infrastructure as opposed to on-site machines:
1. Quicker Development
Purchasing new servers, configuring them, and integrating them into your existing environment tends to be both costly and time-consuming. With Azure, you can set up an application and start building it out in minutes.
Demand for your applications may be variable throughout the year (think tax return filing software). Or you may expect a low number of users at first followed by huge growth as your application catches on. You may even expect usage to the decline, maybe because you’re launching another application. Scaling up with your own on-site servers means purchasing and provisioning them to accommodate growth. And once the servers are in place you still have to maintain them even if they’re not being used.
3. Easier Maintenance and Backup
On-site server farms require a lot of regular upkeep: climate control, electricity, disaster recovery, backups, security. Moving to the cloud means freeing up your IT staff so they can focus on new projects instead of routine maintenance.