<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 |
07 February 2022

One common question that we’ve been hearing from our customers and the market lately is: 

How much would it cost me to build a system running on two cloud vendors side by side?

It is a simple question that is usually raised by businesses who want to increase the reliability of their systems. However, the answer is not that simple. Without running a workshop and investing time to understand the business requirements, the current technology stack and the expected quality attributes, providing a cost estimate for building the same solution on another CSP (Cloud Service Provider) is hard. 

Photo of cloudsPlanning cloud architecture needs focus

There are tools on the market that provide the mechanism to assess the costs for each CSP or what would be the cost of running the identical on-premises payloads inside a CSP. Analogies and mappings between different CSP services can definitely be made, making running cost estimation an easy job. 

Here is a list of some of these useful tools:
But these tools cannot provide us and our customers with the information to answer the question about the effort required to build such a parallel system. The challenge is not the running cost itself! It is the effort cost to make a system run on another CSP. Is it possible? How much effort is required – $100k, $1M, 10%, 30% of the initial investment? 

The complexity of building such a side-by-side system is higher and, in most cases, can be compared to the migration from one cloud vendor to another. Trade-offs, like using fewer SaaS services and cloud features to ensure that cloud interoperability level, can impact the quality of the final product. Still, they help us to keep costs under control. In general, the ‘juice’ provided by any CSP is diluted when you use fewer CSP-specific features. 

When you want to run a software solution side by side on two different CSPs, additional effort is required for:
  • Architecture 
  • DevOps and Automation 
  • Application Development 
  • Operations and Management 
  • Infrastructure 
  • Testing 

Furthermore, the following system layers will mainly be affected:
  • Application 
  • Database 
  • Infrastructure 
  • Communication 

THE ACTUAL COST OF A SIDE-BY-SIDE SOLUTION 

We had the opportunity to get feedback through a survey answered by 51 cloud experts with solid experience with Azure, Amazon Web Services (AWS) and Google Cloud Platform (GCP) and some more in-depth conversations with some of them. Each of them provided input on the additional cost of building a system that runs side by side on two CSPs versus a system that runs only on one. 

The additional effort required per layer was given as:
  • 30% for the Application layer 
  • 25% for the Database layer
  • 10% for the Communication layer 
  • 15% for the Infrastructure layer 

Photo of clouds


The additional effort per work discipline was:
  • 30% for Architecture 
  • 20% for DevOps using Terraform 
  • 70% for DevOps with cloud-native solutions (e.g. ARM, CloudFormation) 
  • 50% for Operations and Management 
  • 10% for Testing 
  • 30% for Development 
  • 25% for Database 

Furthermore, the monthly cost of running a side-by-side solution is not simply double the cost of having one CSP because of the trade-offs mentioned above. Taking this into account, the running costs for the cloud are: 
  • 215% in the best case 
  • 250% on average 
  • 300% when you don’t use SaaS and PaaS services anymore, and you need to use only IaaS services 

Our discussion and estimations were based on the following type of system: a standard business application, built with Kubernetes and Docker and using a relational database management system (RDBMS), where an enterprise service bus (ESB) and REST API endpoints are used for external communication. In front of the system, an API gateway and a load balancer are required. We also assume that a VPN connection exists between the cloud and the on-premises office as well as basic cloud-native monitoring tools. 

CONCLUSION 

Taking all the estimations above and the effort required to develop a cloud solution into consideration, we expect that developing a side-by-side system that runs on AWS and Azure would require:
  • 35% additional effort to build and design the solution 
  • 50% additional effort for Operations and Management 
  • 215% additional cost to run the solution on AWS and Azure side by side 

The data shows that it can be significantly more expensive to build a system that runs on two cloud vendors side by side. Therefore, the decision on whether to use one or more CSPs needs to take into account all the advantages, trade-offs and the added complexity. In the end, the business impact should dictate the cloud approach that a company needs to take.

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

  • 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

  • 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