The acronyms IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service), and SaaS (Software-as-a-Service) refer to different models of providing computing services via the cloud. These three are listed in order from most to least customizable, and consequently, from least to most services provided, as seen in the image below.
SaaS is the easiest to use, since all services are provided and bundled in the delivered software. On the other end of the spectrum (disregarding on-premises software creation), IaaS only provides the enterprise customer with virtual computing, storage and network resources for provisioning. In the middle of those two, PaaS attempts to hit a sweet spot by providing more cloud services to speed development, but not so much as to disallow for customization on the client end. With PaaS, an operating system is provided, as well as development frameworks for the client. This has its advantages and disadvantages compared to SaaS and PaaS, but in general it has been successful in providing a middle ground between the two.
PaaS has also gained publicity in the last few weeks after a recent report by global research company Gartner indicated a $23.9 million increase in the worldwide application infrastructure and middleware (AIM) market in 2015. This is directly tied to PaaS growth, since PaaS solutions provide middleware and application frameworks, whereas IaaS solutions do not. According to research director Fabrizio Biscotti, “The PaaS segment showed the most impressive growth across the entire enterprise software market,” thus begging the question, why is PaaS so important? Or at least, why has it been gaining traction in the worldwide enterprise software market?
Compared to SaaS, PaaS solutions allow for much greater flexibility. Many organizations desire this flexibility so they can extend the capabilities of given software, building off of included development tools and APIs. If these provided tools are robust, and the operating system is sound, this can be a powerful feature for business and even their customers to develop new solutions. Technology giants such as Microsoft (Microsoft Azure), Google (Google App Engine), and Amazon (AWS Elastic Beanstalk) provide PaaS solutions that all support multiple languages/frameworks and are highly scalable to meet their clients’ needs. Oracle is another company that has developed several cloud services in this area, designed to meet different needs of their enterprise customers.
If this flexibility in PaaS systems is so helpful, why not use an IaaS system that would be even more customizable? After all, with IaaS, only the virtual machines, cloud storage and networking features are provided. And indeed, some companies desire the quick deployment and low cost of an IaaS solution, as well as complete control over their software environment. Some companies also will have specific performance requirements or hardware dependencies that current PaaS systems don’t yet support. Another concern that some companies have is that, given how many PaaS services are arriving on the market, they will pick a solution now that they will want to change in a few years. As this VMWare blog notes, this is a valid concern, but a robust PaaS solution allows the code and its pertinent application to be moved to a platform when necessary. When the middleware and OS portion of a PaaS is done well, the additional level of virtualization allows companies to look past virtual machine management (which is automatically scaled) and focus on creating high-quality applications. In a world where companies of all sizes are trying to be the first to get their app on the market, a good PaaS can greatly speed up the process of developing high-quality solutions.