It’s really not that hard! That said, this would be a very short blog if that was the only answer. Honestly, it does depend on a few things. I had the chance to work on several projects where cloud-to-cloud migrations and working with multiple cloud providers was the requirement. Before we go on, it’s important to note that the market is very much open to cloud migrations and working with multi-cloud ecosystems.
Consider this, 81% of public cloud users reported using two or more providers, according to a recent Gartner survey. Also according to Gartner, the top five Infrastructure-as-a-Service (IaaS) providers accounted for 77% of that global IaaS market.
“Most organizations adopt a multi-cloud strategy out of a desire to avoid vendor lock-in or to take advantage of best-of-breed solutions,” Gartner VP analyst Michael Warrilow says in a recent Smarter with Gartner post. “We expect that most large organizations will continue to willfully pursue this approach.”
State of the cloud market
The good news is that the vast majority of those working with cloud have a very good definition of what it does and where it works for their company. Basically, we don’t need to explain that cloud is just another data center, somewhere.
However, with that broad definition come some challenges around emerging complexities in working with and designing around cloud. Specifically, people may understand cloud in general, but they get stuck on certain cloud services and where they should be applied. My experience has taken me across all of the major cloud providers and I’ve seen where each can apply some extraordinary benefits.
For example, Oracle Gen2 Cloud is arguably one of the best out there for bare metal applications. Similarly, Google Cloud Platform (GCP) is amazing in how it applies data-driven solutions for things like sentiment analysis, machine learning, and cognitive systems. Or, some love to leverage Azure for its deep integration with things like Power BI and other core Microsoft systems. The point is, each cloud can have its own benefits and you don't have to be stuck on just one cloud vendor.
“But it’s easier to manage just one cloud, right?” Yes and no. Just because it might be slightly easier to manage a single cloud environment doesn’t mean you’re actually doing yourself any favors. In fact, you might be sacrificing quite a bit of a competitive advantage in using a single cloud over a mixture of multi-cloud services.
When it comes to multi-cloud and even hybrid cloud management; there are some really cool tools out there. For example, solutions like Red Hat Ansible Automation Platform are capable of automating assets across environments and clouds. Or, you can leverage OpenStack or OpenShift to help you manage multiple cloud resources granularly. Even IBM is in the mix with their own Multicloud Manager. There are other amazing tools out there. The point is that you shouldn’t be afraid to leverage a powerful multi-cloud ecosystem.
Cloud migration: A few key points to understand
In a previous project, I had the chance to work on an SAP environment where a part lived in GCP and another part lived in AWS. In this case, automated environment provisioning in AWS was done using Chef. In GCP, we leveraged their environment to connect core application services and APIs using Apigee. Everything worked great an in unison.
To make a multi-cloud environment work, consider the following:
Complexity can be a challenge, but doesn’t have to ruin your day. Service and application dependencies, security architectures, connection and networking settings, access management, and more can throw a wrench into the cloud migration process. As daunting as it might seem; it’s really not so bad. Remember, you’re not necessarily moving the entire application. Rather, you might be moving a specific service or backend process. Without a deep understanding of what you have now, you’ll never be able to break down the application to see what will run optimally in a given cloud.
'Understand the six R’s of a migration strategy:
Re-host (lift and shift), re-platform, re-purchase, refactor
(or redesigning a piece of the service or app), retain, and retire.'
It’s critical to understand the strengths and weaknesses of a cloud ecosystem as it relates to youruse-case. The power of a multi-cloud strategy isn’t just to diversify your vendors and prevent lock-in. You want to leverage the best of each cloud provider. Know the ins and outs of your application, how it was developed, and how it will be optimized in the future. From there, do your homework on each cloud provider you’re selecting! If you’re a Microsoft shop leveraging data-driven solutions for data visualization, maybe leveraging Power BI and the Azure framework is best. However, if you have lots of APIs and need a great way to manage them, GCP and Apigee might be the way to go. The best possible design will come from you understanding your apps and services and which provider can handle those requirements.
Move bits and pieces, not everything at once. The flexibility of cloud allows you to test your use-case like never before. I was a part of a major proof-of-concept that took major components of SAP and moved them into GCP. We tested API development, automation, built microservices architectures in GCP using Apigee to support next-gen applications, and we even did work-around service framework integration. We were then able to take that PoC environment and move it into production once validation was done. Yes, it might cost a bit more, and it will take a bit more time to develop. However, this learning process will prove valuable as you learn more about your apps and services, how they will impact user experiences, and where they can help your business. Most of all, it’ll help make the actual deployment and migration much easier.
If you’ve never done an application or service migration from one cloud to another, just know that it’s really not always as simple as spinning down an application and relaunching it on another platform. There are other considerations. Everything from security to management must be understood before anything is changed or moved.
Working with a good partner can help you understand the six R’s of a migration strategy: Re-host (lift and shift), re-platform, re-purchase, refactor (or redesigning a piece of the service or app), retain, and retire. Your strategy, depending on your app, will incorporate one or some of these R’s. These partners can help you assess your readiness, create a strategy, build a foundation, and migrate your app or service.
Working with a cloud-to-cloud migration or a multi-cloud environment is absolutely normal and even advised. This helps prevent vendor lock-in and gives you the freedom to leverage the best of each cloud provider. Don’t get stuck thinking an application is too complex to move. Get the architecture right, work with a good team, and you’ll see the big benefits of working with a diverse cloud ecosystem.