Search This Blog

Saturday, September 11, 2021

Multi-Cloud : What, Why and How?

What is Multi-Cloud? 

Multi-cloud is a cloud computing deployment model that enables organizations to deliver application services across multiple private and public clouds containing some or any combination of the following: multiple cloud vendors, multiple cloud accounts, multiple cloud availability zones, or multiple cloud regions or premises.


Why companies are thinking or working on the Multi-Cloud strategy? 

  • Availability - Your critical, customer-facing applications such as worldwide e-commerce or SaaS or customer support, etc., must be available 99.99+%
  • Elasticity - To achieve high availability, you need to make sure that your application can be scaled horizontally or vertically to meet the influx of connections
  • Vendor lock-in - After investing too much in one Cloud provider, you realize that you have a vendor lock-in situation, wherein you are not able to exit a particular cloud provider and Optimize Cost
  • There could be various other reasons such as Disaster Avoidance/Recovery, Local Government rules, regulations, compliance, M&A’s applications, which demands to think of utilizing multiple clouds
  • And last but not least, you are trying to avoid different operating models, cloud management, and CI/CD Release tools so that your developers and platform engineers can focus on value creation!
What should we focus on? 
  • Golden Triangle: Don't focus only on Technology! In this blog, we will see all 3 aspects, People, Process, and Technology!

What are the challenges of Siloed Public Clouds?


How to Abstract Siloed Multiple Clouds?


How to identify Vendor lock-in traps?



So, if you have applications running on VM's or Containers, you have a greater choice to move your applications across multiple clouds!

How to Avoid Vendor Lock-in?
  • Understand complex dependencies in Apps/IT
  • Find out Commonalities in IT infra and applications 
  • Upgrade network, platforms & apps before migrating to the cloud
  • Educate management & stakeholders about the cloud computing 
  • Develop or redevelop portable apps, align to open source & standards
  • Modernise SDLC methodologies, toolset, & invest in Infrastructure as Code
  • Recheck Application portability after migration
  • Be aware of OpEx, exit strategy & revisit it frequently 
  • Try to avoid any Native Cloud specific technology/features

What is the best solution to avoid Vendor Lock-in?


Furthermore, if you modernize your applications, breaking them into micro-services, will give you added advantage, wherein you will be able to easily utilize multiple clouds with no or minimum refactoring of applications. In addition to this, your platform operations and engineering team do not have to maintain too many cloud-specific platforms!  

What should be the operational guardrails?


How to handle Security in Multi-Cloud?


Apart from this, you need to decide the multi-tenant architecture/solution

Which IaaS clouds I should pick up?
  • No brainer, just follow Magic Quadrant!
Which PaaS I should pick up?
  • Again, no brainer, just google, which company provides consistent VM and Container platforms across on-prem and multiple clouds, so that you can run any application, on any cloud and access from any device! 
What skills are required in a Multi-Cloud environment?
  • Virtualization, Various IaaS Clouds knowledge, K8s, API, Scripting, IaC, CI/CD/Release automation etc.
How to Structure the Multi-Cloud team?
  • Core teams: Cloud Infra and networking, Platform Operations & Engineering, CI/CD - Release Engineering
  • Common services: Architecture, Command Center, Monitoring Tools and Change management
  • Consumers: IT Development, Business Technical Analyst, Business Units, and ultimately your end customers!
Define RACI, always be clear who is accountable!

Here is a sample high-level RACI!

Last but not least, What cultural change is required to succeed in a multi-cloud world?


Move away from a top-down approach to Collaboration!