The advent of cloud computing has revolutionised the way in which financial services and other businesses operate and deploy their application workloads.  

As organisations seek to leverage the benefits of cloud services, many are adopting a multicloud strategy, spreading their workloads across multiple cloud providers.  

It is not uncommon for large-scale enterprises to embrace multiple cloud platforms. However, what is not so common is for a single application to be served from multiple cloud platforms. In this blog, we will delve into this use case and present arguments for and against this approach. 

Cloud Cocktail! A single application in multicloud 

A single enterprise application designed on modern architectural principles is usually composed of multiple components set across logical layers. In certain scenarios, organisations can use multiple cloud platforms to host these layered components.  

The motivation for this approach could be driven by factors such as: the desire for redundancy, vendor independence, or leveraging specialised services from each provider. Another factor can also be the use of specialised ‘competency centres’ within the organisation, running cost-effective centralised hosted solutions, which are then ‘rented out’ to different internal teams within the organisation. 

Key benefits of this approach: 

  • Leveraging best-of-breed specialised services from the respective cloud providers 
  • Re-using centralised solution platforms within the organisation 
  • Optimising cost by avoiding duplicate solution platforms 

In the sample scenario below, there are three cloud platforms and a single on-premise network in the system. 

Note: This logical view only covers the higher-level applications components – load balancer and other detailed nuances are not depicted 

In this scenario, some of the key factors that will need consideration are: 

  • End-to-end latency – given the communication between cloud platforms is over the internet 
  • Data egress costs 
  • Security configuration across the various cloud platforms 
  • Operational monitoring and troubleshooting 
  • Domain SSL certificates and same-site security domain limitations on the browser 
  • Securing communication on cross-cloud legs of the traffic. 

Elaborating further on the potential downsides of this approach: 

Increased complexity 

Managing a single application across multiple clouds introduces significant complexity. Each cloud provider has its own set of nuances. This complexity can hinder development speed, increase maintenance efforts, and create a steep learning curve for the development and operations teams. Regional cloud deployments may further complicate the scenario for large multinational organisations with an IT footprint around the world. 

Increased exposure to outages 

The application reliability is only a sum of the reliability of its components. Application components scattered across clouds can contribute to increased exposure to outages, which will be critical for internet-facing sites. 

Cost and budget management  

Adopting a multicloud strategy may initially seem cost-effective, as organisations can compare prices and leverage competitive offerings. However, the management of costs and budgets becomes far more complex with multiple clouds. Monitoring and optimising resource consumption, identifying potential cost-saving opportunities, and managing billing across different providers become intricate tasks. Failure to do so can lead to unexpected expenses and budget overruns.  

Data egress costs are also a key concern which will need to be factored in. 

Operational overhead  

Operating a single application deployed on multiple clouds requires additional operational overhead. Continuous monitoring, performance tuning, and debugging across different cloud environments demands more resources and time.  

Compliance and regulation 

In certain sectors such as government and financial services, compliance and regulation elements are a key facet for any application design. Ensuring consistency in security measures, compliance requirements, and data governance policies all become a major challenge. 

Cloud Cocktail conclusions 

In conclusion, the trade-offs of designing a single application deployed on multiple clouds should be carefully evaluated in the context of the organisation. It is important to acknowledge the pitfalls of the approach and factor in related design challenges.  

In addition, it would be highly recommended to set the required guardrails from a governance perspective, capturing the scenarios which would be acceptable based on organisation-specific tactical and strategic goals. 

Source: https://www.finextra.com/blogposting/24596/cloud-cocktail-running-a-single-application-on-multiple-clouds?utm_medium=rssfinextra&utm_source=finextrablogs