So most of you reading this post will probably have heard of Azure, Microsoft’s public cloud platform, at some point. Azure isn’t so much a single product but a platform that provides a huge range of services to anyone with a subscription. These services all pretty much fall in to one of three categories Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
IaaS is what most people who are new to cloud think of when they think of Azure. IaaS is the virtual machine in the cloud scenario. You log in to Azure, provision a virtual machine and then you’re left to customise that virtual machine as you see fit, just as you would do with a virtual machine running on your on-prem hypervisor like Hyper-V or vSphere. So what are some key points to understand about IaaS?
- You have the choice of deploying basic Windows and Linux VMs, a selection of pre-authored templates available through the Azure marketplace or even your own custom templates.
- You manage the OS, backups, updates and apps in VM just as you would with an on-prem VM
- Microsoft and other 3rd parties provide extensions such as AV and other software that can be added to your VM during provisioning
- You can add in and license MS and other server software such as SQL Server directly in the cloud or bring your own licenses
- You’ll be charged based on the following
- Instance size – VMs are available in a predefined set of sizes which dictate how much CPU, RAM and which additional features are available to a VM
- Storage usage – You’ll be charged depending on how much space your VM uses up
- Storage IO – You’re charged a very small nominal charge for the amount of IO your VM generates
- Network Egress – You’ll be charged for data transferred OUT of Azure but not for data coming in
- Extensions/features – You’ll be charged for an additional extensions or features you specify
When considering whether IaaS is suitable for your project you should consider the following:
- IaaS has the highest management overhead of the three categories as you’re in charge managing and maintaining all aspects of your VM and applications as we mentioned earlier
- IaaS tends to have the highest level of compatibility with the applications you run as the applications you’re running just see a standard OS
- IaaS provides the greatest level of control of underlying resources such as the OS, networking and storage
PaaS allows you to utilise Azure’s frameworks as a platform for developing custom applications in the cloud without the need to manage the underlying resources such as an OS, networking or storage, or maintenance tasks such as backups. Microsoft manages all of the underlying infrastructure and maintenance, all you have to do is turn up with your application, pay your subscription and off you go.
Major PaaS services you’ll find on Azure include
Azure SQL – Allows you to run your SQL databases on a cloud based instance of SQL Server
Azure App Services – Build and host highly scalable web and mobile apps directly in the cloud
Some key points about PaaS offerings
- While every platform is different, you’re typically charged for the amount of compute and storage your application uses
- PaaS generally has a lower management overhead than IaaS as you’ll only be concerned with managing and maintaining the application as opposed to the underlying resources like an OS, networking and storage
- Applications utilising PaaS may need to be modified slightly to make them compatible with the platform and you might not be able to utilise all of the equivalent on-prem platform features in the cloud
SaaS is probably a term you’re already familiar with if you’ve been working in IT in the last few years. SaaS applications are fully featured applications, either traditional or web-based, that are generally provided as part of a subscription. Some of the key examples of this type of application are
Office 365 – Email, productivity and collaboration suite
Microsoft Intune – Cloud-based mobile device management solution for managing Windows, Mac, iOS and Android devices through the web or SCCM
Salesforce – Web-based CRM solution
Some key points about SaaS offerings
- Like PaaS, there’s no need to manage the underlying OS, storage or networking.
- Unlike PaaS, there’s no need to maintain and update the application itself
- Subscribers typically just administer the application from a management console
- SaaS can be the easiest of the three to get started with but still requires careful planning to ensure a smooth transition and rollout