The Guide to Migrating Data to the Cloud
Why Use Cloud Services?
At one time, data network professionals used a cloud symbol on diagrams to represent the network of routers and other equipment that a data packet traverses to get from computer A to computer B. Eventually, the cloud came to represent not just network equipment, but also any computing applications and storage resources that reside outside the data center.
Some companies, most notably Amazon and Microsoft, built businesses around providing these “cloud” resources to subscriber companies. Their service offerings, Amazon Web Services (AWS) and Azure, respectively, have gained immense popularity in a few short years - along with the general adoption of cloud services.
Enterprises are adopting cloud solutions because they have numerous advantages:
- Backups and security – Despite early concerns about hosting data and applications on someone else’s data center, cloud servers can be more secure than those in a local data center for several reasons:
- Automatic backup creation
- Current antivirus data protection
- Up-to-date security patching
- Rapid recovery from ransomware and other debilitating attacks
- High availability – In the event of a physical server failure in a cloud data center, another server (in the same or different data center) can be set up to seamlessly take over.
- Reduced costs – There's no need to buy or maintain server hardware in local data centers.
- Scalability – Resources can expand or shrink, sometimes automatically, as demands change.
These and other advantages have inspired businesses around the world to make cloud migration a key part of their digital transformation strategies.
There is a catch, however: Cloud migration isn’t easy.
Migrating applications and data to the cloud requires careful planning and execution that must be coordinated with the business to minimize disruption. For large projects, migrations may need to be executed in phases. The cloud also represents a new way of thinking about, designing, and managing computing resources. This means the IT department may need to acquire new skills. The fact is, there are many aspects of cloud migration. Data migration is just one aspect, and it’s important to do it right the first time.
In this guide, we'll break down a normally complex process into 5 steps and identify key considerations before starting a cloud migration project:
- Strategic preparation for migrating your data to the cloud
- Technical preparation of your cloud environment
- Data "wrangling", cleaning, and organization
- Transition planning
- Execution of your cloud migration
While most cloud technology providers have technologically comprehensive and detailed support materials for cloud migration, this guide is an excellent starting place for beginning your cloud migration project.
1: Strategic Preparation
Strategic considerations for a data migration to the cloud
Before sinking a lot of time, effort, and money into a cloud data migration project, it’s prudent to perform a “reality check” to ensure you’re considering a cloud migration project for the right reasons.
For example, a CEO might hear something somewhere about this new thing called “the cloud” and decide the company’s data should be on it. While this might be a valid "career affecting" motivation, it shouldn't be the sole justification for a cloud migration undertaking. You need a more robust business justification.
Considering the common motivation for cloud migrations centers around cost efficiencies, a good place to start is a cost-benefit analysis. This will identify and enumerate the financial advantages to moving your data to the cloud versus keeping it on local hardware. It also establishes key metrics that can be used later for success measurements of your cloud migration project.
Considerations for a cloud migration cost-benefit analysis:
- Cost of additional wide-area network (WAN) bandwidth that might be needed to support a cloud solution
- Cost of modifying or reconfiguring applications to refer to the new data location
- Cost of on-premise hardware maintenance and periodic replacement and software upgrades, compared with the subscription cost of the cloud solution
- Expected business conditions (mergers, acquisitions, and/or physical moves)
- Expected future growth in data volume and application demands
If cloud migration looks like a good idea, some business interests may still need to be convinced. Often, this discussion revolves around security and the perception that storing your data on someone else’s computers is much less secure than keeping it on your own servers.
It can be useful to point out, with the help of information from the cloud provider, that cloud security is at least as robust as on-premise data security. In any case, the high-availability and disaster recovery features of cloud storage are compelling advantages that are difficult or impossible to replicate with on-premise storage.
When the business gives the green light to proceed with the project, you will need to work with the business users to structure and schedule the project to minimize disruption. You might even include a business unit representative on the project team to make sure their perspectives and needs are considered.
2: Technical Preparation
People, Technologies, and Requirements for a Successful Cloud Migration
One key to a successful cloud data migration project is meticulous technical preparation; constructing the cloud environment correctly to meet your business and technical requirements.
Technical preparation may also require some cloud education for IT staff. There are new cloud-related concepts and terminology and cloud server architectures and environments can be a lot more complex than their on-premise counterparts. Like many aspects of IT, you risk disaster if you are not fully aware of what you’re doing. If you are unfamiliar with cloud service offerings or how to translate your requirements into a cloud server design, you owe it to yourself to seek outside expert assistance. This upfront investment can help ensure the back-end success of your cloud migration project.
As with most projects, developing even a basic requirements document will go a long way to help identify the service capabilities you will require and the providers to consider.
Considerations might include:
- Level of integration - are you simply moving current on-premise applications to the cloud with limited changes, or do you plan to modify current applications to take advantage of new cloud capabilities?
- Single- or multi-cloud - do you plan on migrating to a single cloud provider or are you planning on using multiple cloud providers?
- Establish KPI’s - Thinking about how you will measure the success of your migration project in terms of KPI’s will aid in the selection of the service providers and the configuration of that service. Here’s a few cloud migration KPI’s for consideration:
- Application performance - data throughput, availability, Apdex (does measure performance meet user expectations)
- Infrastructure - CPU usage percentage, disk performance, network throughput, and memory usage
- User experience - application lag time, page load time, session duration, response time
While this may seem daunting, many of the leading cloud service providers offer valuable resources to assist in the requirements development for your cloud migration project. Leveraging these resources makes good sense and will help expedite and help to ensure the success of your migration project.
With some basic planning and preparation completed, now is the time to consider the selection of your cloud provider. This should be a simple exercise if you know your business and technical requirements. Avoid the initial tendency to focus solely on cost. Make sure you consider price versus performance considering how the service will be used. Other important concerns include the provider’s support options, uptime commitments, and service level agreements.
The cloud architecture you design should fit your needs, both now and in the future. Important considerations here include:
- Backup scheme – Backup frequency (hourly, daily, weekly …) and scope (virtual machine snapshots, full data backup, incremental data backup). Be sure to review all the service provider’s backup options.
- High availability architecture – Multiple options (and price points) are available for implementation of high-availability server architectures. Again, make sure you understand the choices, along with their advantages and disadvantages.
- Network bandwidth for expected traffic – This can bite you if you push large volumes of data in the cloud and then find that your applications slow to a crawl. Work with your WAN provider ahead of the migration to right-size your bandwidth.
- Server OS (Windows Server, Linux) and database platform (SQL Server, MySQL, Oracle, …) – This will probably match your existing environment, but if your existing environment isn’t getting the job done, it might continue to fall short in the cloud. Now might be a good opportunity to switch to a more robust technology stack. But changing also involves additional risks that you must anticipate and mitigate.
- Encryption – There are two aspects to data encryption: data at-rest and data in-transit. Each one has special considerations and tradeoffs regarding performance. Learn what encryption options are available and choose the strongest one to meet your requirements that won’t cause performance issues.
3: Data Wrangling and Organization
Pre-move Data Cleaning, Structuring and Enrichment
When you move to a new home or office, one of the biggest (and most costly) mistakes you can make is taking junk with you. Considering everything else that needs attention during a move, it often seems easier just to pack the junk than sort through and dispose of it. But this strategy usually has negative future repercussions.
The same is true of data migrations: Useless or dirty data shouldn’t be migrated to the cloud, but the exercise of determining which data is useless or “cleaning up” the data is often daunting.
Dirty data causes errors in transactions and reporting. Useless data just wastes space and may affect application performance. The good news is that it may not be necessary to examine or cleanse every last data record. If you don’t have the time or resources for a complete data cleansing exercise, use the 80/20 rule: Focus on the 20% of the data from which you get 80% of the value.
If migrating to the cloud also means moving to a new database platform, you will likely need scripts to convert the existing data into something the new platform can import smoothly. Test these scripts on a large representative sample of the data in a test environment so any bugs (in either the scripts or the data) can be found and eliminated before you perform the actual conversion process.
4: Migration Transition Planning
Mitigating Risk Through Comprehensive and Careful Planning
It should take longer to plan a cloud data migration than to execute it. By assembling a detailed plan that considers and mitigates all sources of risk, you run a much better chance of overcoming issues you encounter, and you will have a much smoother migration.
Your migration plan should include, at a minimum:
Determine how the data will be transferred
Small volumes of data can be transferred over the internet, but larger volumes of data will take a long time using this method; a few hundred gigabytes could take several days. Some cloud data storage services offer hardware transfers: Copy your data to portable hard drives and send them overnight to the service provider.
- Determine when the data will be transferred
Outside of working hours is ideal, but not always possible for businesses that operate 24/7 or have a large volume of data. One common solution is to use a two-step method. This approach takes longer but minimizes the impact to the business:
Select a date for the “bulk” transfer (take a snapshot and upload it across the network or use the hard-drive transfer).
After that transfer is completed and verified, conduct a second transfer that includes only the changes (updates/additions/deletions) since the first transfer.
The applications that use the migrated data may need to be modified to point to the new data location(s). With luck, these will be simple configurations, but some older “home-grown” applications might have hard-coded data connection strings. In any case, these updates must be coordinated with the business and tested prior to the migration date.
Have a back-out plan
Even with the best planning, things can go wrong. Some issues are little things that can be addressed during or shortly after the migration. For bigger problems you can’t resolve right away, you need a back-out plan to restore the initial conditions. You also need to know the criteria by which you determine when to trigger the back-out plan.
Develop a test plan
How will you know the migration was successful? You need a comprehensive post-migration test plan. Testing should cover:
Applications, to show the applications that rely on the data continue to work as expected
Connectivity, to show the data can be accessed in its new home
Data integrity, to confirm that the data made the cloud transit and was not corrupted in the process
Save yourself some trouble and line up some business users to help with the post-migration application testing. They know better than anyone what constitutes “normal” and “abnormal” behavior for each application.
Draw up a detailed, step-by-step schedule
The schedule should reflect what needs to be done, in what order, when, and by whom. A “real person” (not a group or department) needs to be responsible for each step. And each responsible person needs a named backup if the primary person has an attendance problem at the last minute. Be as detailed as possible. Include checkpoint meetings where the team discusses problems and resolves issues.
Have a communications plan
Business users obviously need to be told ahead of time what changes are taking place and why. Specify what steps they need to take (such as not making any changes during the migration). In addition, key stakeholders should be kept up-to-date on the migration progress during the migration, not just at the beginning and end. No one should be able to say, “This problem affected me, but I didn’t know about it.”
5: Execute the Cloud Migration
You’ve Planned the Work; Now Work the Plan
Your plan should cover every possible eventuality, so there should be no reason to stray from the script.
Observe the following rules during the migration:
- Be alert for trouble and be ready to deal with it
- Keep the team and the business informed
- Back-out the changes if necessary
- Don’t cut corners on testing
If you have planned and executed properly, the users should return to business as usual not notice anything has changed.
AndPlus And The Cloud
WORKING WITH A "DIGITAL SHERPA" FOR YOUR JOURNEY INTO THE CLOUD
With proper, thorough planning, and the right guide to take you into the cloud, a data migration project can go flawlessly, or nearly so. Be aware: You might have only one shot to get it right. A failed migration can ruin the company’s appetite for cloud migration projects; it could be years before you can try again. This becomes even more important if the cloud is a central part of your digital transformation strategy.
If you aren’t confident in your team’s abilities to pull off a cloud data migration, you should strongly consider the advantages of leveraging outside resources. At AndPlus, we have helped many clients with cloud migration. We understand cloud architectures, how to optimize cloud architecture for your business needs, and how to create or adapt applications that leverage cloud data.
AndPlus can be your digital Sherpa. We've done it, we’ve seen it all, and we know how to do it right.
Need a quick crash-course in the 'MVP' methodology?
A Minimum Viable Product (MVP) has only those features needed to validate its continued development. Its primary goal is to obtain this insight at a lower cost than that needed to develop a product with more features.
Our process begins by identifying the primary goal that will address both our client's business goals and the end user's goals. We select the methods that the MVP will use to accomplish these goals. Our design team then defines the minimum scope of work and use this list of features to map the ideal user journey.
Early product prototypes are often developed at this stage in order to illustrate concepts and ensure that business objectives and user experiences are aligned and optimized.
Once the user journey is mapped, the code starts flowing. Early prototypes/wireframes are brought to life by our engineering team. We use an Agile Scrum process that is custom tailored to our industry. And that's the kicker. We don't just utilize this same Agile framework straight from the textbook, we optimize the development process based upon more than a decade of development experience gained from hundreds of digital development projects.
The fun part! Our sprints run in 2-week increments. You get actual working builds of your product every two weeks. These builds are tested, and iterated upon as the project moves forward. We pride ourselves on iterating these builds to perfection by launch day.
Our deep expertise and custom Agile development process enable AndPlus to iterate quickly, provide transparency, and deliver on time and on budget — helping our clients get to market faster.