Perhaps the first question to ask is, why do you even need a cloud migration strategy? The short answer is, if you don't have an appropriate cloud migration strategy in place before your move to the cloud, it may end up costing you more time and money than you think.
There's an old Russian proverb relating to needlework that seems appropriate here: "Measure seven times, cut once."
Or in Western terms, you need to get your ducks in a row.
What is the Cloud, Anyway?
Most people are already very familiar with cloud services.
If you use Gmail or even Netflix then you’re already using cloud services, but of course cloud providers don't just offer platforms for email and entertainment.
Businesses are migrating their IT infrastructures to the cloud too, for greater efficiency and cost savings.
'Cloud migration' means moving some or all of your organization's computer operations from on-site at your premises to the cloud - and that's where advance planning comes in.
Why Choose Cloud Migration?
The most obvious answer at the time of this writing is that the global pandemic has pushed companies all over the world to accelerate their move to remote home working.
It's been talked about for years, but remote working has suddenly become essential.
For companies that haven’t already made the shift, cloud migration has become absolutely necessary for those who want to remain competitive.
With cloud migration, some or all of your company's data, applications, and IT processes that are sitting on your own hardware in the server room (which could be anything from a closet to a secure, climate-controlled space) are moved to machines sitting in a cloud data center, or even multiple data centers spread across the globe.
You (and your customers) can then access all of your services via the Internet.
Cloud data centers are secure facilities that are full of servers and which are perfectly set up to provide computing power that can scale up and down to handle whatever tasks your business needs, as in the tap analogy.
This is good news since you only pay for what you use and you only use what you need.
Everything is backed up automatically too, you can connect to it from anywhere, and security is always top-notch and up-to-date.
If a server CPU cooks itself or a hard drive fails, it’s not your problem. Disaster recovery and business continuity planning is taken care of. Your workloads will be automatically shifted to other hardware and you won’t even know that there was a problem.
Plus, all of the maintenance costs that you once had to shoulder are effectively outsourced when you move to the Cloud.
You no longer need to worry about backup power supplies, hardware failures, permanent IT staff, or what the heck to do if the building burns down because you are covered.
It’s no wonder that so many companies are choosing cloud migration.
Update Legacy Systems
In computing, the term 'legacy' is used for hardware or software products and processes that are outdated but still in use.
They are usually not as secure or as efficient as newer solutions, but businesses sometimes hang on to their legacy systems because it seems easier and cheaper to stick with what they know than moving to a cloud service.
But legacy system software is generally less secure and less efficient, which puts you at a disadvantage compared to your competitors and makes a data breach more likely.
Legacy hardware such as aging servers and physical firewalls can slow down your business processes, and vendors often abandon support for old hardware and software anyway, so you may not even be able to get things fixed if they break.
Meanwhile, if your competitors have already gone ahead with cloud migration then you could be putting your business at a competitive disadvantage.
How Long Does a Cloud Migration Take?
The timeline for a cloud migration is entirely dependent on the current status of a business’s IT operations and the amount of data being migrated.
What Are the Different Types of Clouds?
Here the service provider offers features like storage capabilities, applications, or virtual machines to the public via the Internet. It offers benefits that a single organization would find difficult to achieve like scalability and sharing of resources.
This is like a public cloud but its resources are reserved for a single user or organization.
In this scheme, resources are spread across both private and public cloud platforms.
What are the Major Cloud Migration Techniques?
These common approaches to the Cloud migration process are usually referred to as the '6 R's of migration':
Rehosting (‘aka lift and shift’)
This is a fairly straightforward move across. You simply pick up your on-premises hosting and move an exact copy of it to the Cloud.
It’s the least expensive migration strategy option with the quickest ROI. Rehosting suits companies that aren’t looking to change very much in the future. They don’t care about optimizing everything to take advantage of the Cloud’s capabilities; they just want some of the benefits.
This is a slight step up from the lift and shift approach.
Here, the application core architecture stays the same, but there is some cloud optimization involved. It’s good for achieving a quick result with better system performance, but it doesn’t try to get the most out of the Cloud.
If you’ve been using your own highly customized CRM (for example) then the move to a SaaS platform like Salesforce may be challenging.
The old familiar code will be gone and your team will need to be trained to use the new platform, but this kind of transition can still be your most cost-effective option in the long run.
This means rebuilding your applications from the ground up, and it’s often done when companies want to use cloud capabilities that they don’t currently have, things like serverless computing or cloud autoscaling.
Re-factoring may be the most expensive option but it’s also the most future proof.
When you’re ready to move your applications to the Cloud, you may find that some of them have outlived their usefulness. In this case, you can just jettison them and use any savings this generates to boost the business case for cloud migration.
There’s no shame in staying put!
Your particular set of business circumstances may mean that moving doesn't make sense yet.
Perhaps moving data off the premises may compromise your compliance responsibilities or it doesn’t make sense financially. That’s fine, no business should migrate to the Cloud just for the sake of it, but it’s certainly worth investigating.
How to Plan Your Cloud Migration Strategy
First, find a migration architect
Even during a small cloud migration, you are likely to encounter a number of technical hurdles that need to be overcome.
The migration architect role is important because they are in charge of producing your cloud migration strategy. Their main responsibility is to define any essential refactoring requirements and create strategies for data migration.
They will look at what sort of cloud-solution is needed and work out the order of cloud migration so that the switch not only happens but goes through as smoothly as possible.
Choose your level of cloud integration
There are two types of cloud integration you can use when you’re moving an application over, shallow cloud integration or deep cloud integration.
We’ve already mentioned the first type of cloud integration by another name, rehosting (lift and shift).
You move an application over and make the bare minimum modifications necessary to get it to run in the Cloud environment.
With deep cloud integration, you do modify your app so that it can take advantage of the extra capabilities offered by the Cloud environment, including things like automated scaling and dynamic load balancing, and serverless computing capabilities such as AWS Lambda.
You might also want to use a cloud-specific data store like Amazon S3 or DynamoDB.
Single cloud or multi-cloud
There’s more than one cloud provider in the world, so you can either choose to tweak your applications so that they run at their best in one particular environment or leave them so that they can run in many.
Considerations before going single cloud
From a development point of view, it’s easier to focus on optimizing for one cloud provider, and you do get better performance once you’ve done that.
The drawback with that is that you’re then stuck with that cloud provider. Well, not exactly stuck, but if you ever decide to move to another cloud it’s almost going to seem like you’re starting the migration all over again.
The other drawback of being with one cloud provider is that you don’t have as much leverage when it comes to negotiating service level agreements and pricing because you can't just threaten to take your business elsewhere.
Considerations before going multi-cloud
Of course, because life is never as simple as you’d prefer, if you do go for multiple cloud providers, there are still some choices to be made as to how you approach migration.
Spread your applications between different clouds
One app here, another app there. This might be the simplest approach to multi-cloud and it offers the greatest flexibility. With this you have different applications running on different providers’ infrastructures.
Split your apps across lots of clouds
Since each cloud provider has different capabilities, they can provide different advantages, like one cloud provider might be better at AI and another might have faster database speeds. So, you might choose to split your applications into parts and run each one with the Cloud provider that can boost their performance the best.
Of course, if any one cloud provider runs into problems then it affects your entire customer experience of that application, so there are pros and cons to weigh up there.
Build your application to be flexible
This approach involves building your applications to run on any cloud service. They’re not optimized to run on any of them, but they do work on all of them, and this means that you can run applications on multiple providers at the same time or spread the workload across them.
It’s undoubtedly useful, but the main drawback with this approach is that without optimization your apps might not get to take full advantage of each cloud provider’s leading capabilities, and you may also find that it complicates development and validation processes.
Select Cloud Migration Strategy Key Performance Indicators
Key Performance Indicators (KPIs) are measurable indicators of progress towards a desired result.
In the case of cloud migration, you’ll need to define KPIs for your applications and services so that you’ll be able to demonstrate how well they’re performing in the Cloud compared to on-premises (once they’ve been migrated to the Cloud) and using KPIs during the process of migration itself will be useful for tracking the success of the move.
KPIs would normally cover user experience, specifically measuring things like page load times and response times. Also within their scope are categories like application performance (error rates, availability, etc.), infrastructure (such as CPU and memory usage), and business metrics (like conversions and cart adds).
You should select the ones that apply to your business and think about which of them will be most affected by the move to the Cloud.
Set performance baselines
Cloud migration clearly involves a big change, and the only way to know if it’s been successful is to measure the performance of your service or application before you move it to the Cloud, and then again after.
The first set of measurements you take are your baselines and you’ll be setting them for each KPI that you’ve decided to measure. The duration of each measurement is up to you; generally the longer you can afford to measure different metrics, the more representational your results will be.
You might choose to collect baseline data from “peak” periods, which for an e-commerce site might mean including data from Black Friday, or you might choose to avoid such days altogether to get a more representative result.
Whatever your approach to data collection, just make sure that you clearly define the scope and the time period.
Prioritize migration components
Apps and services can be migrated to the Cloud either all at once or piecemeal — one component at a time. If you go for the one-at-a-time option you’ll need to work out which services are interdependent, and it’s possible to do this using tools that can generate dependency diagrams.
For larger, more complex applications, you can use an application performance monitoring tool to generate dependency diagrams, making it easier to see where the connections lie. This will help you to determine which components to migrate and in what order.
You’ll probably want to start with the ones that have the lowest number of dependencies, and of those, you’ll first migrate the ones that are more internal, followed by the ones that are more external, i.e., closer to your customers. You could also do it the other way round so that you can control any impact this has on the people using your services first.
Do any required refactoring
It can be a good idea to do refactoring work on your services and applications before the move to the Cloud. This will ensure that they’re set up to employ features like dynamic scaling and dynamic resource allocation/deallocation that could help to keep costs down.
Create a plan for migrating data
Moving all your data during cloud migration isn’t always a cut and dried process.
If you move your data to the Cloud but still access it using on-premises hardware and software then performance will drop. The reverse holds true as well, with data on-premises and software in the Cloud the mix of systems will create bottlenecks that hurt access times.
Solutions include using a bi-directional syncing mechanism between your cloud and on-premises databases. This keeps everything running until all the data has been moved across and you’re finally free to switch to the Cloud-based system.
There are other synchronization options available, but perhaps using dedicated cloud data migration services from Amazon and Microsoft could streamline the transition. Data migration planning is a priority for the data migration architect. So much can go wrong and the stakes are so high that it might be best to measure more than seven times before you cut once.
This is the moment of truth, you can either choose to move everything in one go or incrementally. Your migration architect will choose the approach that best suits the unique set of circumstances that characterizes your data and application architecture.
Review and optimize
One of the big benefits of migrating to the Cloud is dynamic resource allocation, but your resources will only be able to take advantage of that flexibility if your applications have been optimized.
After the Switch
The Cloud can either cost you more or less than running your own data center, and it can largely depend on how you account for the expenditure.
A cloud-based infrastructure may appear to cost more than an on-premises solution if the business accounts for it under operating expenses. A lot of what you spend on your own in-house setup is going to be classed as capital expenditure, so it’s important to bear that in mind when you’re comparing in-house to a cloud provider.
What Are Cloud Migration Tools?
You need cloud tools to execute cloud migration strategies, and it’s obviously in the interests of large public cloud providers like AWS, GCP, and Azure to help you move to their clouds.
That's why they’ve created so many helpful tools, to lure you into their data centers.
Cloud cost calculators
These help you to estimate the costs involved in moving to a cloud provider before you commit, and include the likes of AWS Pricing Calculator, Azure Pricing Calculator, and Google Cloud Pricing Calculator.
Also, check out AWS Trusted Advisor and Microsoft Azure Advisor which help to guide you through cloud best practices along with security, performance, and optimizing costs.
Migration Hub — helps you track migration progress and choose the best tools to do that.
Application Delivery Service — AWS assesses your current data setup, encrypts it, and lets you access it via the Migration Hub.
Server Migration Service — good for handling migrations large and small.
Database Migration Service — with this one your source database is still up and running throughout migration, perfect for minimizing downtime.
CloudEndure Migration — a lift-and-shift tool that’s free for 90 days.
Other AWS file moving tools include Snowball, Snowball Edge, Snowmobile, DataSync, and Transfer for SFTP. More information is available from AWS.
If you’re going to go with Microsoft’s cloud offering, you’ll be spoilt for choice with various tools and how-to guides.
Migrate — many of the tools listed below are included with Microsoft’s central migration hub. It allows you to plan your migration and track progress along the way.
Migrate: Server Assessment and Server Migration — a tool suite that assesses servers and migrates them to Azure. This includes physical servers and VMware, Hyper-V, public cloud, and other virtual machines.
Data Migration Assistant — DMA helps you track down compatibility problems such as unsupported features and others that could put a handbrake on your cloud migration.
Database Migration Service — moves in-house databases to Azure VMs.
Data Box — moves large batches of on-site data to the Azure cloud.
Movere — is a business intelligence solution that helps you plan migrations and optimize IT environments.
You can plan your move to Google’s cloud-based offering in a couple of ways. The first one is Cloud Rapid Assessment & Migration Program (RAMP) which involves Google assessing your current setup. The second is called Google Cloud Adoption Framework, which assesses your business’s ‘cloud maturity’.
Transfer Service — handles large data transfers from online and on-site sources to Google Cloud Storage.
Transfer Appliance — bulk migration of off-line data with 100TB or 480TB models.
Migrate for Anthos — modernizes and migrates existing workloads to containers.
Migrate for Compute Engine — runs enterprise apps in Google Cloud while data is being migrated. Validating, running, and migrating applications happens without the need to rework them.
BigQuery Data Transfer Service — provides a solid basis for setting up a BigQuery data warehouse. Handles scheduling and automation of data transfers from SaaS applications.
You can find details of other Google migration tools on its migration-center website.
Feeling Overwhelmed by the Logistics of Cloud Migration?
The sheer complexity of migrating to the Cloud can be daunting for any business.
There are so many moving parts and so much that can go wrong, which is why many organizations turn to experts such as Ntiva to help them with their cloud migration strategies and to avoid the pitfalls that can come with such a big move.
Get in touch today and find out how we can help your business bring its best cloud game.