Today businesses are rapidly getting digitally transformed at the back of innovative solutions including Artificial Intelligence, Machine Learning & LLM language models like ChatGPT. Cloud infrastructure and services have played a crucial role in providing impetus to these innovations and truly made it possible to deliver next-gen applications with speed and efficiency.
That said, many organizations are still hesitant before adopting technology due to their business nature, associated risks, diverse regulatory rules, and compliance across the globe. Additionally, concerns about an organization’s readiness, skills, and capability to fully benefit from cloud offerings, as well as the cost and risks associated with a multi-year migration project, may hinder innovation, and justify the journey.
Once the decision is made in favour of Cloud adoption, everyone gets excited to embark on the journey and starts planning for migration but often neglects to plan what if things go wrong with a Cloud Service Provider (CSP) in future for various reasons, mostly beyond its control. What options it would have which can be executed without delays, minimizing the impact on the business?
Clearly, an organization needs a thoughtful cloud exit strategy to have minimal disruption due to an adverse situation. Let me define what I mean by cloud exit strategy — it is a plan developed by an organization to ensure that the services that support business activities can be replaced or replicated efficiently to other CSPs or on-premise and without significant disruption to the company. In a recent study by Forrester Consulting, 85% of IT decision-makers agreed that exit is a critical part of their hybrid cloud strategy.
Early adoption of an exit strategy is crucial for organizations migrating to the Cloud. Let’s examine the key drivers for this approach.
The multi-year lock-in trap: Organizations often begin their cloud journey with one CSP for various reasons, such as skill shortage and cost savings through long-term contracts. However, lock-in with one provider’s proprietary services and pricing model is a significant concern. Flexibility to switch to different CSPs at any point is crucial.
Compliance and Regulations: Data localization and privacy laws in certain countries, may necessitate a multi-cloud or hybrid approach. Even brief downtime of a critical system can have catastrophic effects on the entire banking system.
Cloud outages are costly: Cloud performance optimization company GlobalDots calculates the cost of downtime as $5,600 per minute for the average business. Over the years, each of the major providers had outages lasting from a few hours to days and many businesses suffered frequently from these outages. Organizations need to plan for faster failover and disaster recovery and having a multi-cloud or hybrid strategy could be a lifesaver.
Innovation: Finally, leveraging niche offerings from a CSP enables innovation and helps the business respond better to new market opportunities, e.g., leveraging Vertex AI & AutoML offering from GCP to build an ML platform.
Tech & Design considerations supporting an exit strategy
An organization should formulate a cloud exit strategy at the beginning itself while framing a adoption strategy instead of approaching it as an afterthought. Exit strategy influences the solution design and choice of technology stack significantly.
When deploying an application in a multi-cloud environment, your choice of services may differ significantly from those in a single cloud. For instance, using NoSQL databases such as MongoDB/CouchDB or Cassandra may be better than cloud-native options like Azure Cosmos DB or GCP BigTable or AWS DynamoDB.
Automate infrastructure using IaC (Infrastructure as Code) configurations i.e. Terraform. Though you’ll need to create separate Terraform scripts for each CSP in a multi-cloud strategy, replicating them is easy. You can even use ChatGPT to transform AWS Terraform scripts to Azure, which serves as a good starting point. If not keeping multi-cloud IaC code ready, maintain a mapping of resources between CSPs, configuration changes in GitHub, and blueprints design.
Opt for Open-Source solutions whenever possible, even though CSPs try to make these solutions ‘sticky’ to their platform, it is still much less work to transition to another. For instance, use Kubernetes and Containers for your microservices, use Kafka for messaging backbone, MySQL / PostgreSQL for RDBMS needs, MongoDB for NoSQL requirements and such. Using CSP-native services would incur expensive architectural changes if needed to exit.
Design solutions to facilitate data portability and interoperability, while also meeting regulatory requirements for an exit plan. Take into account third-party solutions, licensed products, and frameworks that are available across major CSPs.
Categorize the application portfolio into business critical, important, and non-essential/peripheral applications. Define the recovery point objective (RPO) and recovery time objective (RTO) for each application, as not all applications hosted require real-time failover to another cloud or exit to on-premise. The exit strategy should outline how to handle each category of apps.
And finally, upskill your teams on the multi-cloud environment to ensure that they can work efficiently in the new environment.
While developing cloud capability for a secondary cloud provider as part of the exit strategy is crucial in the longer term. A fine balancing act is required between competing priorities and having an effective exit plan meeting the cost, risk and innovation objectives. Additionally, operating multi-cloud increases operational risk for an organization.
Also, building applications in a cloud-native manner and fully integrating them with a cloud provider’s services offers several advantages, such as a better solution offered in the Cloud, seamless integration, and reduced development and operational time. Some may argue that this is the only way to deliver true value from cloud migration.
It’s hard to have one universal, sweeping exit strategy which would work for every organization. Like everything else in life, it depends on the organization’s context, business criticality, technical maturity of firmwide solutions, skills of people and a cost-benefit analysis. Leaders must adopt a grounded approach that enables smart decision-making, a favourable risk-reward ratio, and the ability to innovate to beat the competition.
The bottom line is, you should always have a exit strategy because it’s not a matter of if you’ll need one, but when.
About the author:
Amit Maheshwari is the Senior Director, Engineering at Publicis Sapient.