Download the authoritative guide: Cloud Computing 2019: Using the Cloud for Competitive Advantage
These days, nearly all organizations use at least some public cloud services. The more important question is which type of cloud services companies should use: infrastructure as a service (IaaS), platform as a service (PaaS) or software as a service(SaaS).
According to the most recent IDC Worldwide Public Cloud Services Spending Forecast cloud computing spending is growing about seven times faster than overall IT spending. Currently, the most popular delivery model for cloud computing is SaaS, which accounted for about two-thirds of cloud spending in 2017. However, IDC predicts that IaaS and PaaS spending will grow faster than SaaS spending through 2020. As a result, SaaS spending will likely decline to around 60 percent of total public cloud revenues.
IaaS vs. PaaS vs. SaaS: Understanding the Differences
Clearly, all three cloud delivery models have advantages that are attracting new users. They also each have some disadvantages that might make them a poor fit for some use cases. Iaas, widely known as "the public cloud," has grown quickly. PaaS, focused on the needs of developers, has more of a niche appeal. And SaaS, a model of renting software over the Internet, is a giant in the cloud world.
So dive into all three cloud models.
IaaS Pros and Cons
BMC Software put together a graphic that illustrates the key differences among IaaS, PaaS and SaaS. As you can see, the primary thing that differentiates the three main categories of cloud computing from one another is who manages the different pieces of the IT stack.
IaaS, PaaS and SaaS each have strengths that make them the right choice for a given situation. Image Source: BMC
With infrastructure as a service, the cloud computing provider supplies and manages the physical infrastructure — the servers, storage and networking hardware — and the customer manages everything else, including the operating system, virtual machines (VMs) or containers, and any applications or middleware. Using IaaS is a lot like running applications in your own data center, except that your in-house IT operations team doesn't have the burdens of deploying, configuring and maintaining the physical equipment on which your applications run.
IaaS is currently the second popular delivery model for cloud computing. According to a Crowd Research Partners survey, 36 percent of organizations are running IaaS in production, and another 50 percent have plans to deploy in the future. Well-known examples of IaaS include AWS Elastic Compute Cloud (EC2) and Simple Storage Service (S3), Microsoft Azure Virtual Machines and Blob Storage, and Google Cloud Compute Engine and Cloud Storage.
IaaS offers all the typical benefits of cloud computing, such as scalability, flexibility, location independence and potentially lower costs.
In comparison with PaaS and SaaS, the biggest strength of IaaS is the flexibility and customization it offers. The leading cloud computing vendors offer a wide range of different compute and storage instances, allowing customers to pick the performance characteristics that most closely match their needs. Some vendors also allow the option of bare metal servers, which enables customers to configure their cloud servers exactly the way they want, just as they would if they were purchasing hardware to deploy in their own data centers.
That customization capability makes it easy to set up public cloud services so that they exactly mirror an organization's data center infrastructure. And that simplifies the processes of migrating legacy apps to the cloud, setting up a hybrid cloud environment or integrating your cloud-based applications and data with your existing tooling and other software.
In addition, IaaS is the least likely of the three cloud delivery models to result in vendor lock-in. It also charges customers only for the resources they actually use, which can result in cost reductions for some organizations.
On the other hand, IaaS doesn't necessarily offer the lowest total cost of ownership (TCO). Your IT team will still bear the responsibility for managing a lot of the IT stack. The time and skills necessary can add to overall expenses. In addition, IaaS costs can be unpredictable. The easy scaling that makes cloud computing so attractive can also result in higher-than-expected bills — not to mention the fact that users sometimes spin up instances and forget to shut them down, which can also increase the total charges.
PaaS Pros and Cons
Looking back up at that graphic that illustrates the difference among the cloud delivery models, PaaS offloads a little bit more of the IT management responsibility from the customer to the cloud vendor. In general, these services aim to streamline the process of application development by bundling together the tools necessary to create particular kinds of applications.
For example, Google App Engine unites all the tools necessary to write Web or mobile applications in Node.js, Java, Ruby, C#, Go, Python, and PHP. And Microsoft Azure App Service offers similar capabilities with built-in support for .NET, .NET Core, Java, Ruby, Node.js, PHP, and Python.
Some PaaS offerings are more specific to a particular purpose. For instance, IBM Watson Cloud offers a platform for creating applications that use artificial intelligence and machine learning. And the Salesforce Lightning Platform offers tools for creating apps that utilize Salesforce.com data.
Some people consider serverless computing, also known as function as a service (FaaS) to be a form of PaaS. These services don't require developers to do any infrastructure configuration at all — developers simply write their code and the serverless service handles everything else. The best-known example of this type of cloud service is probably AWS Lambda.
PaaS is currently the least popular delivery model for cloud computing, but it is growing the fastest. According to the Crowd Research Partners survey, 28 percent of organizations surveyed currently use PaaS in production, and 51 percent have plans to deploy in the future.
In some instances, it can be difficult to tell the difference between IaaS and PaaS. Cloud vendors are adding more options to their PaaS offerings, which makes them more like IaaS, and at the same time, they are adding some more automation capabilities or built-in middleware to IaaS offerings, which makes them more like PaaS. For enterprise customers, the label isn't as important as choosing the cloud service that best meets your needs.
The benefits of PaaS are very similar to the benefits of IaaS, but PaaS requires less time and skill for management. That may result in a lower TCO. The biggest advantage PaaS offers in relation to the other cloud delivery models is the way it can speed the development and deployment of new applications. For that reason, it's usually a good choice for enterprise application development teams that are creating new cloud-based applications. And PaaS is particular popular among DevOps teams.
On the downside, PaaS, like IaaS, can result in unpredictable charges, particularly as applications scale. It offers less flexibility, less customer control and more potential for vendor lock-in than IaaS. Although some vendors have PaaS offerings that don't require coding skills, most do require some basic programming knowledge, and PaaS, while easier to deploy than IaaS, isn't quite as easy to use as SaaS.
SaaS Pros and Cons
With software as a service, the cloud vendor handles the entire IT stack. The customer simply logs in and access the application through a browser. For the end user, the experience is essentially the same as using software that is installed locally, except that he or she can access the app from nearly any Internet-connected device. Well-known examples of SaaS include Microsoft Office 365, Salesforce apps, Dropbox and Google G Suite.
SaaS is the most popular form of cloud delivery, by far. The Crowd Research Partners report found that 52 percent of organizations already use SaaS apps, and 35 percent are planning to deploy them in the future.
The biggest benefit of SaaS is its ease of use. You don't need any special skills, and in most cases, you can get started using a SaaS app in minutes or even just seconds. They also generally have low, predictable costs. Most SaaS vendors charge a monthly fee per user, so enterprises know ahead of time what their bills will be each month.
The disadvantage of this delivery model is that IT has little or no control. In some cases, staff may be accessing SaaS apps without IT's knowledge or approval, and that can make it difficult to manage, access and secure any data stored in those apps. The vendor may have access to some of that data, which might violate some organizations' compliance requirements or privacy policies. Also, some SaaS apps may not integrate with other software or tooling that the organization uses.
In addition, SaaS generally gives organizations the fewest customization options, and customers have a high potential for vendor lock-in.
Despite these downsides, SaaS is often a very good fit for small businesses that don't have large IT teams. It's also a great choice for enabling mobile access or replacing locally installed applications for use cases like office productivity, customer relationship management (CRM) and email.
IaaS vs PaaS vs SaaS — Which Is Right for You?
So which is best — IaaS, PaaS or SaaS?
The answer will depend on the particular use case. Some organizations may find themselves using all three. For example, a large enterprise may use SaaS apps like Microsoft Office 365 and Salesforce, while also migrating some of its in-house applications to IaaS and developing new customer-facing apps via a PaaS.
The chart below details the strengths and weaknesses of IaaS vs PaaS vs SaaS, as well as offering guidance for situations where one cloud delivery model might be better than the others.
Type of Cloud Computing
· Vendor manages physical infrastructure
· Organizations can mirror their in-house infrastructure in the cloud
· Easy scaling
· Flexible and highly customizable
· Cost varies with consumption of resources
· Low costs
· Relatively easy integration with other system
· Relatively low potential for vendor lock-in
· Customer manages applications, data, OS, etc.
· Costs may be unpredictable
· Requires skilled personnel
· Organizations migrating existing workloads to the cloud
· Hybrid cloud environments
· Large enterprises with a lot of IT staff
· Organizations with existing software licenses that can be moved to the cloud
· Vendor manages physical infrastructure, plus the operating system, runtime, middleware and possibly other development tooling
· Developers can focus on writing code rather than managing infrastructure
· Streamlines and speeds application development and testing
· Easy creation of dev and test environments that are identical to production environments
· Easy scaling
· Cost varies with consumption of resources
· Costs may be unpredictable
· Customer has less control than with IaaS
· Requires more management and configuration than SaaS
· Requires skilled personnel
· Some potential for vendor lock-in
· Developers creating new cloud-native applications
· DevOps teams
· Large organizations with custom in-house applications
· Vendor manages all infrastructure and software
· No need to download, install or upgrade software on PCs and other devices
· Costs are predictable
· Fast, easy steup
· Anyone can use it
· Usually fewer customization options
· May be more difficult to access and protect data stored in SaaS applications
· Customer may be charged subscription fees for users who access the service rarely or never
· No control over software or infrastructure
· Integration with other software may be difficult
· Vendor may have access to customer data
· High potential for vendor lock-in
· Small organizations with minimal IT staff
· Applications that require mobile access
· Replacing a particular type of business software