<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=4958233&amp;fmt=gif">
 
RSS Feed

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.

CLOUD MATURITY LEVEL: IAAS VS PAAS AND SAAS – PART 2

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.

 

From This Author

  • 07 February 2022

    Using Two Cloud Vendors Side by Side – a Survey of Cost and Effort

  • 25 August 2020

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

  • 30 May 2019

    Microservices and Serverless Computing

 

Archive

  • 13 November 2023

    Delving Deeper Into Generative AI: Unlocking Benefits and Opportunities

  • 07 November 2023

    Retrieval Augmented Generation: Combining LLMs, Task-chaining and Vector Databases

  • 19 September 2023

    The Rise of Vector Databases

  • 27 July 2023

    Large Language Models Automating the Enterprise – Part 2

  • 20 July 2023

    Large Language Models Automating the Enterprise – Part 1

  • 11 July 2023

    Boost Your Game’s Success with Tools – Part 2

  • 04 July 2023

    Boost Your Game’s Success with Tools – Part 1

  • 01 June 2023

    Challenges for Adopting AI Systems in Software Development

  • 07 March 2023

    Will AI Transform Even The Most Creative Professions?

  • 14 February 2023

    Generative AI: Technology of Tomorrow, Today

  • 25 January 2023

    The Joy and Challenge of being a Video Game Tester

  • 14 November 2022

    Can Software Really Be Green

  • 26 July 2022

    Is Data Mesh Going to Replace Centralised Repositories?

  • 09 June 2022

    A Spatial Analysis of the Covid-19 Infection and Its Determinants

  • 17 May 2022

    An R&D Project on AI in 3D Asset Creation for Games

  • 07 February 2022

    Using Two Cloud Vendors Side by Side – a Survey of Cost and Effort

  • 25 January 2022

    Scalable Microservices Architecture with .NET Made Easy – a Tutorial

  • 04 January 2022

    Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 2

  • 23 November 2021

    How User Experience Design is Increasing ROI

  • 16 November 2021

    Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 1

  • 19 October 2021

    A Basic Setup for Mass-Testing a Multiplayer Online Board Game

  • 24 August 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 3

  • 20 July 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 2

  • 29 June 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 1

  • 08 June 2021

    Elasticsearch and Apache Lucene: Fundamentals Behind the Relevance Score

  • 27 May 2021

    Endava at NASA’s 2020 Space Apps Challenge

  • 27 January 2021

    Following the Patterns – The Rise of Neo4j and Graph Databases

  • 12 January 2021

    Data is Everything

  • 05 January 2021

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

  • 02 December 2020

    8 Tips for Sharing Technical Knowledge – Part 2

  • 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 January 2020

    Service Meshes – from Kubernetes service management to universal compute fabric

  • 10 December 2019

    AWS Serverless with Terraform – Best Practices

  • 05 November 2019

    The Twisted Concept of Securing Kubernetes Clusters

  • 01 October 2019

    Cognitive Computing Using Cloud-Based Resources II

  • 17 September 2019

    Cognitive Computing Using Cloud-Based Resources

  • 03 September 2019

    Creating A Visual Culture

  • 20 August 2019

    Extracting Data from Images in Presentations

  • 06 August 2019

    Evaluating the current testing trends

  • 23 July 2019

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

  • 12 July 2019

    The Rising Cost of Poor Software Security

  • 09 July 2019

    Developing your Product Owner mindset

  • 25 June 2019

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

  • 30 May 2019

    Microservices and Serverless Computing

  • 14 May 2019

    Edge Services

  • 30 April 2019

    Kubernetes Design Principles Part 1

  • 09 April 2019

    Keeping Up With The Norm In An Era Of Software Defined Everything

  • 25 February 2019

    Infrastructure as Code with Terraform

  • 11 February 2019

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

  • 28 January 2019

    Internet Scale Architecture

OLDER POSTS