Some of you may have started down the path of working with cloud computing and have run into the phrase "Infrastructure as a service" or IaaS. You might be wondering what IaaS can provide for you and your business. You may even get a little confused about IaaS and all the similar terminology that is out there: PaaS, SaaS, STaaS, SECaaS, etc. In this article we are going to take a brief look at IaaS, then we will take a longer look into Microsoft's Azure IaaS and how you can get started with Windows Azure IaaS.
To understand cloud, think quickly on your on premise datacenters. In your datacenters you manage everything from the networking and servers to the applications and everything in between. When you begin to leverage clouds services you offload some or all of the management of your datacenter services. To understand this, let’s take a quick look at two other main cloud services: Platform as a Service (PaaS) and Software as a Service (SaaS).
PaaS, SaaS, and Iaas
PaaS provides a platform for your applications, and you have really no control over the platform. With PaaS you only had to manage the applications and data, and the cloud service managed the rest of infrastructure. This is by design: PaaS was the original offering of Windows Azure and provided a highly scalable Windows platform for your applications. You still architected, created, compiled, and tested your applications to run in Windows Azure. You then uploaded the application and configured or provisioned your storage.
With SaaS, you are not responsible for supporting the application or any of the components. You are basically paying a provider for a service, usually on a subscription basis. With SaaS, your provider manages the data and platform -- really the entire backend. SaaS is probably the most prevalent of the cloud services. Some of the SaaS services include Office 365, CRM, Salesforce.com, and others. Additionally there are plenty of free SaaS services like XBOX Live.
That brings us to IaaS. Azure IaaS gives you a combination of control and the ability to leverage the cloud infrastructures. With IaaS, you manage the application, data, runtime, middleware, and even the OS. The main part with the virtualization and hardware are managed and maintained by your cloud provider. You will still perform many administrative duties in IaaS, and you will still have to install applications, manage patches, manage virtual machines and networks used by your virtual machines, etc. You configure the environment how you want it, and at the end of the day it is yours! With Windows Azure IaaS Microsoft takes the responsibility for uptime of that machine. For example, if a machine crashes, Microsoft will spin up a new instance of your server for you.
It's easy to get IaaS and PaaS confused. Just remember: If it requires a developer, it’s not IaaS.
Microsoft is the only vendor to provide offerings in all three main types of cloud computing services: IaaS, SaaS, PaaS. Microsoft provides a full spectrum of public cloud solutions, and has a strategy of integrating with traditional on-premises datacenters for Hybrid scenarios. Microsoft does not limit you to go with a 100-percent private or public cloud. This may give you the flexibility to choose the best cloud model based on your unique organizational and application needs.
Now let’s take a look at Windows Azure IaaS which is currently not yet released. However, it is in customer trial (free for 90 days) and you can sign up for a Windows Azure trial.
Windows Azure IaaS
When Windows Azure was first launched, the focus was squarely on PaaS and providing a platform for applications. As Windows Azure evolved Microsoft added many new functionalities and support for other application languages. In particular Microsoft added a function that some of you may be familiar with called the VM Role. The VM Role allowed you to deploy custom Windows Server 2008 R2 images to Windows Azure. This provided a way for you install squirrely apps, maybe error prone apps, or ones that do not install easily or quickly. This is not IaaS -- the VM role was still PaaS. While you still built your own image, it had to conform to the PaaS model. More importantly, the VM role was stateless and had non-persistent local storage; you would need to leverage Windows Azure storage service for persistent storage. You can learn more about the VM role here on the Overview of the Windows Azure VM Role.
And then in steps the next evolution of Windows Azure: Virtual Machines. Virtual Machines introduces functionality that allows full control and management of virtual machines and networking. Virtual Machines provides persistent and easily extended storage. This allows you to build your virtual machine directly in Windows Azure or upload and virtual machine you created locally. This provides many options not only for your applications that require persistent storage but also many other infrastructure opportunities. This provides the answer to Microsoft customers for this common for Windows Azure to provide this functionality. This is truly IaaS.
Creating virtual machines in Windows Azure
Virtual Machines provides a true solution for IT professionals, and your responsibilities are almost the same for your on-premise datacenters compared to the machines hosted in Windows Azure. You will still have the considerations to configure your virtual machine, its storage network access, and applications you want to install. Windows Azure Virtual Machines provides you the ability to run many of today’s key server applications such as AD, DNS, SharePoint. The functionality is there for you leverage. You will still have to perform your daily administration of these services, but the main difference is that you do not have to worry about the hardware or high availability. When you create, or upload, a Virtual Machine in Windows Azure, the Windows Azure service creates a replica copy for you automatically on the backend.
Creating a VM in Windows Azure is pretty straight forward, as you choose among these predefined VM sizes and capacity categories. The different sizes -- from extra small to extra large -- from which you can choose will determine many aspects of your virtual machines, whether it be the number of CPU Cores you have dedicated for your use (or shared in the case of extra small) or the amount of memory, bandwidth, and number of Data Disks preconfigured for you. You will even have the ability to include data disks that are separated from the OS disk. Each of the persistent storage disks you create can be up to 1 TB in size. Since this is still in preview, the numbers and sizes of the virtual machines may change when the service is released.
Hybrid Infrastructure and Iaas
One aspect that makes IaaS great is the ability to leverage IaaS as part of overall architecture and offer the ability to extend your on-premise data centers. I know what you're thinking: Wait, I thought I had to put it all in the cloud or nothing. That is simply not the case. This is a common use of IaaS, which allows you to straddle the fence between on-premise datacenters and cloud services. You can have part of your application on-premise and the rest in the cloud. This is a common example of a Hybrid Infrastructure or Hybrid Cloud. IaaS allows you to have the best of both worlds for your infrastructure requirements and business demands. It provides native capabilities for you to quickly network these environments together. In IaaS you can leverage private networks for just your VMs or extend your own datacenter into the cloud so that the machines have full participation in your LAN and/or your extended datacenter resources.