Skip directly to search

Skip directly to content

 

Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 1

 
 

Architecture | Radu Vunvulea |
18 August 2020

Nowadays, cloud is just a commodity, and there are a lot of public cloud providers (and even more cloud providers if we count private clouds too). Most of them provide a vast number of services that can be consumed on their platforms, from classical VMs to messaging systems and data warehouses. Once you start working with multiple cloud providers, the maturity level of each provider is crucial to allow you to optimise the cost and improve the quality attributes of IT solutions that you build or manage on these platforms. In this article I explore the different maturity levels of commonly used cloud services on several well-known cloud platforms.

THE WHAT

When we look at the services provided by a cloud, it is important to consider the level of management that we will have to do ourselves as users of these services. A cloud provider who just offers us a VM image that allows us to start a VM containing Redis is quite different from a fully managed Redis SaaS service.

Depending on where each service is on the IaaS-PaaS-SaaS (and even FaaS) scale, the cost of development, automation, and integration will vary. The most significant impact becomes apparent during management and operation, where there is a big difference between managing IaaS vs PaaS or SaaS.

An excellent example of this case is the database, where there is an immense difference between a cloud provider offering the database on an IaaS platform, compared to a managed service in a PaaS platform. In the IaaS context, you need to fully manage the VM, the backup of the database, among other things. In comparison, in a PaaS context all of these activities are provided automatically as part of the service and you only need to configure them, such as how long to retain backups, the recovery policy you want and so on – which are mainly one-click activities.

It is straightforward for the cloud provider to offer any service on their IaaS platform, as they just need to provide VMs and the application. But taking on part of the management and operation responsibilities and offering the user the ability to tailor those service from a configuration dashboard is a different thing. The provider needs to have the processes, the mechanisms and the teams that can do the magic behind the scenes.

THE WHY

From a management and operation perspective, I have seen a significant cost difference between different cloud providers. I have also found that development teams have complained that development and automation, for some specific cloud providers, can be slow and complicated.

This experience was the trigger that inspired me to invest time and effort to understand what the root cause of this situation is.

CLOUD MATURITY LEVELS

Given these differences between the different types of cloud service, one of the important factors that define the maturity level of a cloud provider is the percentage of the services offered as IaaS vs PaaS vs SaaS. In general, you will not realise the difference that each of these services make until you start to use two or three different cloud providers. When you try to do the same thing with different cloud providers and you realise that in one you need to manage a VM and all the software on it, whereas on another you get the service as a managed PaaS service, you really begin to understand that costs and complexity can vary widely.

Figure1

For example, at present, AWS and Azure offer the Cassandra DB as a PaaS service. We only need to spin up the service and copy and paste a connection string into its configuration page. In contrast, on the IBM Cloud, Cassandra DB is available only on their IaaS platform, so you need to spin up the VM, configure the operating system, configure the Cassandra DB, and so on.

COMPARISON

I analysed the top 4 cloud providers used by enterprises: Azure, AWS, GCP, and IBM. For each of them, I counted the number of services that are provided as IaaS versus those that are provided as PaaS and SaaS. The analysis may not be absolute, but the result should represent a good approximation of the reality that we have had at the end of 2019.

The initial result is exciting but not particularly surprising. AWS and Azure – the public cloud leaders – provide less than 12% of their services as IaaS. In comparison, IBM provides more than 27% of their services as IaaS.

Figure2

This result is consistent with the feedback I received from other sources.

My next query was which service categories have their cost impacted by being provided on IaaS. Specifically, I wanted to find out which service category suffers the largest impact from the platform it is provided on (IaaS, PaaS, or SaaS). I will present the findings of this analysis in part 2.

Radu Vunvulea

Group Head of Cloud Capability

Radu is a technology enthusiast. He has vast experience in different technologies and industries and spends most of his time working with the cloud, helping companies to innovate and finding solutions to their business problems. He enjoys connecting people and helping them to grow. When he isn’t blogging or speaking at events, Radu likes to build his own IOT devices, he enjoys an early morning run or a hike up a mountain. His feet seem to be his preferred method of transportation, he would do anything not to be stuck in traffic.

 

Related Articles

  • 10 December 2019

    AWS Serverless with Terraform – Best Practices

  • 23 July 2019

    11 Things I wish I knew before working with Terraform – part 2

  • 25 June 2019

    11 Things I wish I knew before working with Terraform – part 1

  • 14 May 2019

    Edge Services

  • 28 January 2019

    Internet Scale Architecture

 

From This Author

  • 25 August 2020

    Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 2

  • 30 May 2019

    Microservices and Serverless Computing

Most Popular Articles

8 Tips for Sharing Technical Knowledge – Part 1
 

Software Engineering | Laurentiu Spilca | 12 November 2020

8 Tips for Sharing Technical Knowledge – Part 1

API Management
 

Architecture | Gareth Badenhorst | 30 October 2020

API Management

Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 2
 

Agile | Thomas Behrens | 22 September 2020

Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 2

Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 2
 

Architecture | Radu Vunvulea | 25 August 2020

Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 2

Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 1
 

Architecture | Radu Vunvulea | 18 August 2020

Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 1

A Virtual Hackathon Together with Microsoft
 

Innovation | Radu Orghidan | 08 July 2020

A Virtual Hackathon Together with Microsoft

Distributed SAFe PI Planning
 

Agile | Florin Manolescu | 30 June 2020

Distributed SAFe PI Planning

The Twisted Concept of Securing Kubernetes Clusters – Part 2
 

Architecture | Vlad Calmic | 09 June 2020

The Twisted Concept of Securing Kubernetes Clusters – Part 2

Performance and security testing shifting left
 

Testing | Alex Gatu | 15 May 2020

Performance and security testing shifting left

 

Archive

  • 12 November 2020

    8 Tips for Sharing Technical Knowledge – Part 1

  • 30 October 2020

    API Management

  • 22 September 2020

    Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 2

  • 25 August 2020

    Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 2

  • 18 August 2020

    Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 1

  • 08 July 2020

    A Virtual Hackathon Together with Microsoft

  • 30 June 2020

    Distributed SAFe PI Planning

  • 09 June 2020

    The Twisted Concept of Securing Kubernetes Clusters – Part 2

  • 15 May 2020

    Performance and security testing shifting left

  • 30 April 2020

    AR & ML Deployment in the Wild – A Story About Friendly Animals

  • 16 April 2020

    Cucumber: Automation Framework or Collaboration Tool?

  • 25 February 2020

    Challenges in creating relevant test data without using personally identifiable information

  • 04 February 2020

    Service Meshes – from Kubernetes service management to universal compute fabric

We are listening

How would you rate your experience with Endava so far?

We would appreciate talking to you about your feedback. Could you share with us your contact details?