Cloud lock-in is a growing concern for businesses who have invested copious amounts of time and resources transitioning their new or legacy systems to the cloud. Once the honeymoon phase of transitioning wears off, you start to ask yourself, “How portable is my cloud solution? How easy is it to move my systems to another cloud provider?”
“By then, it’s usually too late to avoid the issue and you’ve locked yourself into using a single cloud provider and their attractive features” states Peter Scheffel, BBD’s chief digital officer. “This is not where companies want to be.”
When the concept of cloud was first introduced, it was explained that cloud computing would work as a utility. There are currently three main cloud providers or utilities: Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform. Scheffel explains that each utility uses a different type of plug and runs at a different voltage. “They all have elaborate reasons why their voltage choice is the best, but if you want to be a cloud agnostic consumer and avoid being locked in to a single vendor and their features, then you’ll need the same plugs with the same voltages.”
Now that we know the why, let’s talk about the how. BBD, a cloud-agnostic software development company with specialist experience migrating both new and legacy systems to the cloud, has identified the following five-step checklist to help you make sure your business avoids cloud lock-in.
Step 1: Ditch the glitz
Each provider tries their utmost to sell you on their specific cloud lock-in features, because that’s good for their business. “Whether it’s AI, image and speech recognition, or secure authentication that catches your eye, know that it can only be used with that specific provider,” warns Scheffel. If you’re looking to be completely cloud-agnostic, ask yourself if you really need all that cloud Kool-Aid to decide whether the flashy extras are worth it.
Step 2: Container management tools are your best friend
An easy step to take to ensure your solutions are cloud agnostic is to deploy using only standard open source containers and container management tools. “In simplistic terms, this means stick to Docker and Kubernetes,” Scheffel adds.
Why? Because they allow for increased deployment agility, control, and can easily run across private, on-premise or public clouds, but are extremely complex to manage yourself.
Step 3: Onsite first, cloud later
Scheffel suggests that you should deploy onsite before deploying to the public cloud. This allows you to gain experience with your application and become familiar with it in your own environment before running it in a public cloud.
We get it. This step may seem strange to those who believe that they should only be on the cloud, but as Scheffel points out, “it should be considered because of the ability it allows for self-hosting your solutions during times of low usage or other scenarios”. However, if your organisation has decided to move away from on-premise entirely, then you can skip this step.
Step 4: Move to the current preferred cloud provider
If you are cloud agnostic, then this decision should be based on cost. The availability of the service should not be a differentiator, and internet speed should rightfully be consistent across all providers. Each provider should be able to supply you with a managed Kubernetes cluster to host your solution.
Scheffel adds that what’s key here is that your services need to managed for you to get real benefit in using cloud providers.
Step 5: Move to other cloud providers or multi-host depending on the best deal
Up until now, this step would sound ridiculously hard and the thought of manually migrating to other clouds would often be shied away from. But with the growth and adoption of newer products in the market, this step is becoming easier by the minute. Google recently launched Anthos, a managed service that allows you to manage your entire cloud deployment (on-premise or to any cloud providers) from a single screen.
Microsoft has yet to succeed in providing an Anthos type solution and despite having been experimenting with the Azure Stack (an on-premise cloud deployment solution) for some time, it has had a slow and with limited capability rollout and requires specific hardware to run. Although Microsoft was the first with the idea to provide a full onsite version of their cloud and pioneered the Azure Stack, they have been slow to deliver on their promise and as yet, the stack lacks many of the features of the Azure public cloud. Microsoft has yet to catch on to the idea to provide a cloud agnostic on-premise stack that could be deployed to any cloud.
Scheffel concludes that the easiest way to make your business cloud agnostic is to find a technology partner who understands cloud software development, and work with them to achieve this goal. “With a company like BBD, the ability to make cloud agnostic deployments aligns closely with our own strategy. We help you choose the best way to host your solution across the clouds or to help you unlock your current solution from being able to only run in one cloud.”