Cloud

What are IaaS, PaaS and SaaS?

What is the difference between IaaS, PaaS and SaaS? QA Learning Consultant Daniel Ives breaks down these common cloud services and explains how to get the most out of each.

In 2011, the US National Institute of Standards and Technology (NIST) defined cloud computing. It established three ‘service models’: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

Since then, Iaas, Paas, and SaaS have become standard terminology in cloud computing. But what do these terms actually mean? And, crucially, what’s the difference between them?

What is Infrastructure as a Service (IaaS)?

fundamental computing resources… the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.

The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).’

Infrastructure services typically include features like auto-scaling; automatically increasing server size to meet increased demand and reducing when demand drops again. You’ll also find DNS resolution services and can connect your on-premise data centre to the cloud network.

Benefits of IaaS

  • 24/7 maintenance: No need for capacity estimates, or even to buy any servers upfront. If you suddenly need more servers to deal with a burst of traffic, you can get them at the click of a button.
  • Ease of experimentation:Your servers are no longer precious resources that depreciate over several years – they are temporary. Stand up a virtual machine (VM), run an experiment, then tear it down when done.
  • Automation:Access to resources via API calls to the cloud vendor, which means they can be scripted. A script defines what your infrastructure looks like, so you can repeatably and reliably create the same infrastructure and then tear it down again. This is known as Infrastructure as Code (IaC).

IaaS downsides

  • Updates and maintenance: Patching and hardening the operating system, securing access to the hosts, paying license fees, patching the application software, and securely configuring the network. The cloud vendor is only responsible for the underlying hardware.
  • More expensive: The payment model for IaaS is typically by the hour (or, depending on the vendor and operating system, by the second). You will also be charged for data transfer in various dimensions. Storage is typically charged per GB.
  • Responsible for recovery: Not only are you in charge of data security, it’s also up to you to resolve things if you experience a breach or loss – there’s no assistance with or assurance of file recovery.

Examples of IaaS

Typical examples of IaaS:

  • Microsoft Azure
  • GCE
  • DigitalOcean
  • AWS
  • Linode
  • Cisco Metacloud

What is Platform as a Service (PaaS)?

NIST explains that PaaS deploys ‘onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.

The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.’

Initially, PaaS was intended to cover such services as Digital Ocean, Google App Engine, and Azure Web Apps. However, the usage has shifted somewhat.

Say your application needs a database – you could use IaaS and stand up a server, install your database software of choice, and use it. You'd be responsible for patching the operating system and the database engine, etc.

Alternatively, you pay a cloud vendor to provide a database engine – let them be responsible for all those things. That’s where PaaS comes in.

You could argue this is in fact DBaaS (DataBase as a Service), but as that's not a part of the NIST definition, it can be considered part of PaaS – the cloud vendor is providing you with platform services.

Benefits of PaaS

  • Management without responsibility: With minimal coding required and automation enabled, you can immediately access your platform from any device and get to work. Let the provider deal with admin and patches.
  • Quick turnaround: There’s no need for month- or year- long environment development. Instead, you’ll be able to market your products in a matter of minutes.
  • Ideal for global teams: Regardless of where you are in the world, use the cloud-based development environment to collaborate, with all the tools required at your fingertips. All you need is an internet connection.

PaaS downsides

  • Lack of options: Although it’s easy enough to get started with PaaS, when it comes to customising, you might find that your access is limited. Whilst this is for the benefit of inexperienced end-users, it can also reduce the ways an environment can be created, maintained, and run.
  • Minimal control: Handing off responsibility can be a relief – you can prioritise more pressing issues. However, it also limits your permissions, impacting what changes you can make and when.

  • Migration issues: Technology is ever-changing. With PaaS, you might fall victim to ‘vendor lock-in’. This is when your needs and requirements change over time and can’t be met by your provider, but because they have failed to organise suitable migration policies, you’re stuck.

Examples of PaaS

  • Google App Engine
  • Heroku
  • Windows Azure
  • OpenShift
  • AWS Elastic Beanstalk

What is Software as a Service (SaaS)?

NIST define SaaS as a ‘capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email) or a program interface.

The consumer does not manage or control the underlying cloud infrastructure including the network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.’

SaaS involves end-user software as a service, like Office 365. You can broaden that definition to include database software as a service, message queueing and brokering software as a service, or authentication software as a service.

Payment for SaaS is typically per user, for things like O365, or per API call for things like pre-trained machine learning models.

Benefits of SaaS

  • Instant scalability: Increasing your server size at the flick of a switch, and it goes live immediately. Avoid outages, keep your customers happy, and save time upgrading manually!
  • More affordable: You’re not responsible for software installation, maintenance, or replacement, so money saved is invested in other areas of priority or concern. With ‘try before you buy’ periods, you can even test a provider’s product before investing fully, to ensure it’s suitable for your requirements.
  • Timesaving: Not only do you save money by offloading the responsibility of environment upkeep, but this also saves you a lot of time – which, again, can be re-invested and allow for progress elsewhere.

SaaS downsides

  • Issues with integration: If the SaaS application you choose hasn’t been designed to follow existing standards for integration, you might struggle with interoperability when it comes to pre-established services or apps.

  • Limited access: The benefit of shifting responsibility to the provider is offset somewhat by the loss of accessibility and customisation options you then have as an end-user, which may be limited to specific offerings from your vendor. It’s not just aesthetic features either – you might have to change your whole business model for SaaS to be suitable!

  • Keeping data secure: Transferring confidential business data via a public cloud service can be risky, particularly when a great deal of information is being moved between the front and back end. Falling victim to a data breach is costly, but it’s also expensive to ensure appropriate data security.

Examples of SaaS

  • Salesforce
  • SAP Concur
  • Google Workspace
  • GoToMeeting
  • Cisco WebEx
  • Dropbox

What’s the difference between IaaS, PaaS, and SaaS?

The key difference between IaaS, PaaS, and SaaS is your level of control. Whichever you choose really depends on how much you want to manage – and how much responsibility you want to delegate to the service provider.

Taking a database as an example, you have three options:

1. Go with IaaS, create a virtual machine in the cloud, and install database software of choice. You’re responsible for everything, including making the database available or fault tolerant and creating back-ups.

It involves all the ‘undifferentiated heavy lifting’ database ownership requires, but you’re not differentiated from any competitors. You’re also paying for it by the hour, every hour, 24/7.

2. Use a PaaS database as a service, like Amazon RDS, Azure SQL, or Google Cloud SQL. The vendor stands up a VM, offering you limited access, e.g., specifying back-up windows.

It’s highly available (with a standby server and auto-failover), so you can focus on optimising queries and storage structures. As with IaaS, you pay by the hour – possibly paying a little more.

3. Find a ‘fully managed’ SaaS database that meets your needs, talking to it using the vendor's APIs. In this instance, you effectively pay for what you use.

A database sitting behind a line of business applications, only in use from 9am – 5pm, won't cost anything outside those hours. It is worth noting that you can temporarily pause IaaS and PaaS databases, taking them offline to save money.

SaaS is the most attractive option, because it means not worrying about any servers, and, hopefully, very granular pricing.

At the moment, it seems many are considering ‘repatriation’, or bringing their cloud workloads back on-premise, because it turned out to be more expensive than expected.

This is because they’re not embracing the full cloud mindset – hovering  somewhere between IaaS and PaaS, perhaps a little bit of SaaS. Utility pricing only works if you're switching stuff off when you're not using it.

Training in IaaS, PaaS, and SaaS tools

If you're interested in stepping up your organisation's use and understanding of cloud services, get in touch. We also have a full range of cloud and virtualisation training.

Let's talk

By submitting this form, you agree to QA processing your data in accordance with our Privacy Policy and Terms & Conditions. You can unsubscribe at any time by clicking the link in our emails or contacting us directly.

Related Articles