What is Platform as a Service (PaaS)? How does it differ from Infrastructure as a Service (Iaas)?
Let’s start with IaaS. When “The Cloud” first became popular IaaS was the target. The point of IaaS is to migrate a company data center into Windows Azure. This involves converting whatever physical servers you have to Hyper-V virtual machines and upload the contents to Azure(or sending them via FedEx for Microsoft to upload). While this process is cumbersome and time consuming it does work and has some great benefits. The next step in this process is to create a secured link between your former data center and the Azure data center. Doing this will allow your users connectivity to all of their pre-existing applications. In fact, your users should not even notice that the data center has been moved. Everything should operate exactly how it did prior to the migration. Depending on the size of your infrastructure IaaS has the ability to save you time, space, money and will allow IT admins to breathe easy knowing they don’t have to be overly concerned with server hardware failure. From that perspective, IaaS saves you money because you have zero server maintenance / replacement cost. Another benefit of IaaS is that all of your existing third party software is guaranteed to work on IaaS. If a business has an old Citrix application that is critical for the accounting team, then migrating to IaaS will guarantee that application still works as expected. The problem with IaaS is that you are still running an entire infrastructure. IT will still have to manage the servers, Active Directory, patches, and updates. In short, you aren’t benefiting from a lot of the major benefits of the cloud.
PaaS aims to solve that.
PaaS in Azure is synonymous with “Cloud Service”. The target of PaaS is custom business applications that will replace your existing third party software infrastructure. These applications can be written in either .NET or Java. In PaaS you essentially rent the hardware the application runs on. Renting the hardware means you do not have administrative access to the virtual machines powering the application. The permissions are set so that Remote Desktop to the virtual machine is enabled and users can administer IIS.
What is the advantage of renting hardware the application runs on? Why wouldn’t I simply use IaaS to retain tighter control over the environment?
Azure manages the infrastructure powering the application so IT administrators no longer have to worry about it. The infrastructure used to power a global application with millions of users generating massive amounts of traffic (like SnapChat) is massive. The work and time it takes to manage that infrastructure is several times larger. With PaaS you are able to eliminate the management of the environment the app runs on. It is also cheaper to run an application with PaaS than creating dozens upon dozens of virtual machines. Scaling is much easier with PaaS. It is possible to scale to a massive size very quickly(and automatically) with PaaS. To do the same with IaaS, virtual machines must be created in geographically relevant locations.
PaaS provides most of the flexibility that IaaS provides. By sacrificing a little control administrators and developers are able to automate most of the infrastructure maintenance that comes with growing web applications. This not only saves money but allows developers to create new features without having to worry if the infrastructure can handle it. Whether the application is of massive global scale like SnapChat or simply a small application which applies business logic to users; PaaS on Azure maximizes productivity by removing laborious infrastructure maintenance.