How to execute cloud migration
Business Process Management
Get the lowdown on cloud migration, from its importance to the steps involved in its successful execution.
The cloud. Even for those well-versed in cloud computing, its name might evoke a sense of abstraction, like reaching out to touch something intangible. Cloud migration, however, can still be a complex concept to grasp fully, especially when understanding its significance for advancing your business.
To ensure we're on the same page, let's clarify what we mean by "the cloud." We're referring to cloud computing, a virtual ecosystem rather than a physical cloud. It consists of a network of servers working together invisibly behind the scenes.
But what matters most is not the cloud's nature but what it enables. With the cloud, anyone with an internet connection and an internet-capable device can access files, data, and services from anywhere. This convenience is just one of the many enticing reasons companies like yours are migrating their IT infrastructures to the cloud environment.
What is cloud migration?
Have you heard? “Everyone” is moving to the cloud. But why?
Cloud migration means moving your applications, databases, and workloads from on-premise infrastructure to a public cloud or from one cloud to another. For this reason, migration is a process companies seek to reap the benefits of utilizing cloud infrastructure.
Cloud migration benefits
If your company initially started developing on the cloud, migration might be needless. But suppose your organization’s infrastructure is on-premises, on a private cloud, or a multi-cloud. Under those circumstances, your company might want to explore migrating to a more cost-effective and productive setting.
In like manner, you may need improved performance and reduced latency for your customers that cloud data centers can better achieve. In sum, every organization has its reasons to migrate. Some of the main reasons are to:
- Save money
- Recover from a disaster
- Scale current workloads
- Improve performance
- Lure more skilled engineering talent
- Gain access to more helpful and reliable cloud solutions and features
Six types of cloud migration
There are several approaches to cloud migration, which can be summed up as “the 6 Rs”:
Large and complex organizations with existing non-cloud software architecture implement their move to the cloud in stages and use a combination of the following approaches in their execution.
Rehosting simply means taking the existing software tools you already use and shifting the hosting aspect to the cloud.
You no longer maintain physical servers on-site but instead pay for a subscription server service like AWS. For this reason, this model is also known as the “lift and shift” cloud migration model.
Replatforming (also known as lift and optimize) involves changing the operating system, API setup, and middleware during your cloud migration.
This step is between a rehosting approach and a full-scale platform re-architecture.
Repurchasing simply means dropping whatever software you use for a given purpose and purchasing a new platform.
This is known as the “drop and shop” model, and it’s commonly used to move from a legacy system to a SaaS platform, such as when upgrading your CRM tool.
A refactor or rearchitect approach involves entirely upgrading your existing software product, which will involve moving hosting to the cloud and the adoption of cloud-native benefits like containerization of the app environment.
Retaining is the decision to keep using certain aspects of your current software environment.
Retiring involves moving away from legacy systems you no longer require due to changes in business processes or the introduction of other software systems with overlapping feature sets.
Seven steps to cloud migration
1. Understand the cloudscape
Gaining access to the cloud is as easy as finding and working with a cloud provider like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP), as examples. Also, cloud service providers are third-party businesses that offer cloud-based services like:
- Platforms (PaaS)
- Infrastructure (IaaS)
- Applications (SaaS)
- Cloud migration services, including migration tools
As you would for utility energy, you pay for the amount of cloud service you use based on calculated usage. The service provider you choose depends on your needs and plans.
For example, you might need a cloud-native platform that provides a distinct delivery model and have no plan to migrate. On the other side of the spectrum, the flexibility of a cloud-agnostic provider might be a priority so your apps and workloads can easily migrate from cloud to cloud.
You don’t need to choose between cloud-native or cloud-agnostic. Ultimately, you can mix the two to benefit from all options.
There are three major types of clouds: public, private, and hybrid. Of course, public clouds are what most cloud service providers offer. These clouds deliver almost limitless scalability alongside tools for developing apps and running workloads easily and cost-effectively. Private clouds are often installed on-premises and are limited by space and cost. Still, they can offer extra security around sensitive data. Hybrid clouds combine on-premise infrastructure with public cloud capabilities, giving an organization the best of both types.
2. Define your migration goals
Keep the end goal in mind. Defining company goals guides your migration process and how you measure success. Specify the metrics you’ll measure, such as:
- The company’s expenses (Capex and Opex)
- Your development team’s productivity (release cadence, etc.)
- Your dev team’s agility (how quickly they can pivot for a priority shift)
According to Gartner, “The key to avoiding cost overruns and implementing a successful cloud plan starts with building a realistic estimate of cloud migration costs.” Get a baseline of your key performance indicators (KPIs) to compare with later.
You can measure company expenses relatively easily, but measuring productivity and agility requires a different approach. For example, you could measure points if your company and dev team use Agile methods. How many points can the team complete before the migration? And how many after migrating?
3. Strategize your cloud migration
Your company’s goals should drive your cloud adoption or migration strategy. Thus, its priorities will help you migrate with purpose and steady progress. This strategy avoids fragmented app-moving caused by a lack of planning.
For this reason, answer these questions to decide how your company addresses your migration (Note: These will help even if you’ve already taken steps to move to the cloud.)
- Should we go cloud-native, cloud-agnostic, or somewhere in between?
- Should we move existing applications and workloads to the cloud or only use the cloud for new apps?
- Do we need the cloud for a specific purpose (application, workload, or database)?
- How complex will our migration be?
- What are potential roadblocks to a successful migration?
4. Determine what to migrate
Your company could migrate all types of workloads, from applications, databases, and websites to storage, servers, and data centers. Therefore, sticking to your company’s goals will make choosing what to migrate easier.
For our examples, we’ll focus on app and data migration.
First, identify the easy wins. These “easy” apps and services are what you would consider “lift and shift” apps or those easy to consume via an API.
Second, prioritize your candidates with a scoring system. With this intention, your scoring system will look at factors like
- How the app or workload is built
- The app’s dependencies
- The app’s refactoring needs
- The value you receive by moving the app
- How much the app costs to run on the cloud
- If the app can be decoupled with ease
- How new or old the app is
Third, start small and move toward larger assets. This smaller-to-larger approach is helpful when migrating large-scale environments.
5. Prepare your assets to migrate
If you’re working with a migration expert or a cloud service provider, they get involved in this stage. To begin with, service providers will thoroughly survey your team to understand each app or workload. Also, you’ll get teardowns, change specs, and a statement of work for each asset, including pricing, design, operational impact (like downtime), plan, and roadmap.
6. Migrate your assets to the cloud
It’s time to move your applications and workloads to the cloud. At this stage, you must:
- Run a pre-migration checklist: Know what you’re migrating, what it includes, and what it requires to move.
- Follow best practices during migration: Set up parallel environments, start with no-production apps, and use virtual machine images, to name a few.
- Automate whenever possible: Use repeatable machine images and standardized processes for task automation.
- Enroll the right people with the right skills: It takes many teams to manage a migration project, so ensure you engage the right project management, cloud migration, and client-application, subject-matter-expert (SME) teams.
- Test your applications and optimize DevOps processes: From the testing platform to the cloud infrastructure, design testing strategies and apply modern tools for operations optimization.
7. Assess, adjust, and iterate your migration strategy
At this stage, you’ve managed a successful cloud migration. But you’re not done yet.
First, you must assess how your migration went. Using KPIs for quantitative comparisons, how do your results measure up to your goals? Some KPIs to compare are cost, flexibility, reliability, and speed. But for qualitative comparisons, compare the transition quality, user-communication clarity, and the team’s opinions.
Next, optimize your cloud infrastructure. Your cloud platform will likely provide tools to help you get the most out of your environment and reduce your costs. Remember to optimize your SaaS usage, too. Knowing your SaaS spending and app usage will help you decide whether to renew or replace your stack assets.
Last, know that your migration is never “really” done. In other words, to continue to evolve, you must measure, compare, monitor, and adjust every aspect of cloud migration. Find new possibilities to replace complexity or cost savings to replace higher-cost licensing.
Challenges of cloud migration
Complex existing architecture
For large, established companies with complex existing software architecture, digital transformation can be cumbersome and challenging.
As such, cloud migration plans for these companies tend to be more complicated, involve more migration challenges (user adoption alone can be a big hurdle), and should generally be rolled out in phases to streamline the process.
The cloud migration journey is rarely a linear one.
Sourcing software upgrades, integrating managed services, and performing data transfers from on-site hosting to a cloud-based solution are all prime suspects for creating unwanted roadblocks in the cloud migration process.
The best practice here is to build plenty of buffer time into each step during the planning phase.
Hidden cloud costs
Those unfamiliar with cloud hosting may find several costs involved beyond the per TB headline price, which can drive up the total cost of your application migration plan.
“Hidden” cloud costs to look out for include:
- Data transfer fees
- Consequences of over- or under-provisioning
- Storage overage charges
- Expiration of free cloud resources
Data security risks
When you move to the cloud, you’re essentially trusting a third-party provider to manage all of your internal and customer data safely.
This presents a significant, though manageable, security risk.
The best practice here is to use your vendor sourcing software tool (like Vendr Explore) to identify which security protocols potential cloud vendors are compliant with.