What's the difference between IaaS, PaaS, and SaaS? Let's start by breaking down commonality within the acroynyms. "As-a-service" generally means a cloud computing service that is provided by a third party so that you can focus on what’s more important to you, like your code and relationships with your customers. Each type of cloud computing leaves you less and less on-premise infrastructure to manage.
On-premise IT infrastructure presents the biggest level of responsibility to you as a user and manager. When your hardware and software are all on-premises, it’s up to you and your team to manage, update, and replace each component as needed. What cloud computing allows for is the allocation of one, several, or all of the parts of your infrastructure to the management of a third party, freeing you up to focus on other things.
There are 3 main types of cloud computing as-a-service options and each one covers a degree of management for you: infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS).
We’ll cover each type of model, the benefits, and how you can use any or all of them to create a cloud-computing environment that meets all of your needs. We’ll also take a look at some examples of each to make it a little easier to understand.
Infrastructure-as-a-service, or IaaS, is a step away from on-premises infrastructure. It’s a pay-as-you-go service where a third party provides you with infrastructure services, like storage and virtualization, as you need them, via a cloud, through the internet.
As the user, you are responsible for the operating system and any data, applications, middleware, and runtimes, but a provider gives you access to, and management of, the network, servers, virtualization, and storage you need.
You don’t have to maintain or update your own on-site datacenter because the provider does it for you. Instead, you access and control the infrastructure via an application programming interface (API) or dashboard.
IaaS gives you flexibility to purchase only the components you need and scale them up or down as needed. There’s low overhead and no maintenance costs, making IaaS a very affordable option.
One way to use IaaS would be as a quick, flexible way to build up and take down and development and testing environments. You can use only the infrastructure you need to create your development environment—and scale it up or down—for as long as you need it, and then you can stop when you’re finished, paying only for what you use.
The main drawbacks to IaaS are the possibilities of provider security issues, multi-tenant systems where the provider must share infrastructure resources with multiple clients, and service reliability. These drawbacks can be avoided by choosing a reliable and trustworthy provider with a solid history and reputation.
Public cloud providers such as AWS, Microsoft Azure, and Google Cloud are examples of IaaS.
Platform-as-a-service (PaaS) is another step further from full, on-premise infrastructure management. It is where a provider hosts the hardware and software on its own infrastructure and delivers this platform to the user as an integrated solution, solution stack, or service through an internet connection.
Primarily useful for developers and programmers, PaaS allows the user to develop, run, and manage their own apps without having to build and maintain the infrastructure or platform usually associated with the process.
You write the code, build, and manage your apps, but you do it without the headaches of software updates or hardware maintenance. The environment to build and deploy is provided for you.
PaaS is a way that developers can create a framework to build and customize their web-based applications on. Developers can use built-in software components to create their applications, which cuts down on the amount of code they have to write themselves.
A few examples of PaaS are AWS Elastic Beanstalk, Heroku, and Red Hat OpenShift.
Software-as-a-service (SaaS), also known as cloud application services, is the most comprehensive form of cloud computing services, delivering an entire application that is managed by a provider, via a web browser.
Software updates, bug fixes, and general software maintenance are handled by the provider and the user connects to the app via a dashboard or API. There’s no installation of the software on individual machines and group access to the program is smoother and more reliable.
You’re already familiar with a form of SaaS if you have an email account with a web-based service like Outlook or Gmail, for example, as you can log into your account and get your email from any computer, anywhere.
SaaS is a great option for small businesses who don’t have the staff or bandwidth to handle software installation and updates, as well as for applications that don’t require much customization or that will only be used periodically.
What SaaS saves you in time and maintenance, however, it could cost you in control, security, and performance, so it’s important to choose a provider you can trust.
Dropbox, Salesforce, Google Apps, and Red Hat Insights are some examples of SaaS.
Red Hat can provide you with IaaS, PaaS, and SaaS options you can combine to form a cloud-computing environment that gives you the infrastructure, platform, and applications you need without the associated hassles and distractions.
Red Hat’s cloud infrastructure products include Red Hat OpenStack® Platform, Red Hat Virtualization, Red Hat Satellite, Red Hat Ceph Storage, and our container orchestration platform Red Hat OpenShift. Red Hat OpenShift can be accessed as a cloud service with leading cloud providers, or you can self-manage Red Hat OpenShift yourself for maximum flexibility and customization.
To simplify buying and managing enterprise software, Red Hat Marketplace offers automated deployment of certified software on any Red Hat OpenShift cluster.
Our as-a-service solutions are open source and backed by our award-winning support and more than 25 years of experience and collaborative innovation. With Red Hat, you can arrange your people, processes, and technologies to build, deploy, and manage apps that are ready for the cloud—and the future.