When companies embark on a cloud migration program, they typically aim for a user/customer experience that is similar to, if not better than, the experience their current data center solution provides. However, most companies don't appreciate what it will take to achieve and maintain that parity — not only at the end of the program, but throughout the life of a major migration, which generally takes a year or more. Without planning from the start, a cloud program can turn into a dark storm with troubling implications for the customer experience.
The key is not to underestimate the time and effort it will take to properly test your systems and services in the cloud. By testing early and often, you can avoid that storm, making the most of your cloud migration for your company and your customers.
Point B’s Perspective
Point B helps organizations think and plan ahead to make their cloud migration a success, while keeping the transitional phase seamless for end users. We believe the best way to achieve this win/win is to keep the user experience top of mind at all times, from testing plans throughout the entire workflow.
Collaborate across your organization.
To protect the user experience, begin by creating a dedicated migration work stream with a team of people from systems and services across the organization. This team usually consists of a program manager, testing leads, development leads and technical project managers from each system.
The migration must be the team's primary focus. System owners will need to collaborate with upstream and downstream interfacing systems much more than they may be accustomed to. Strong program leadership and organized testing plans and communications are key.
A large part of cloud migration involves re-establishing interfaces to neighboring systems that have been working flawlessly for years. Team members will need to work outside their respective silos to collaborate on information, set up new connections, and perform testing with other systems. It takes planning, leadership and commitment to create a collaborative force that will align all parties in the migration effort.
Set up a testing plan, while keeping the customer experience top of mind.
To begin planning the cloud migration, lay out the full end-to-end workflow. The migration is a good opportunity to dust off use cases that have not been looked at in a while. (If you do keep them up to date, more power to you; you're ahead of the game.) This will help everyone understand the scope and magnitude of what you’re up against, which teams need to be involved, where customer-critical systems and latencies reside, and where a mixed solution of some cloud and data center components may come into play. It also sets you up nicely to lay out a progressive testing plan.
On large programs involving ten or more services, we recommend that testing be run at an intermediate level instead of leaping directly from unit and integration testing to full end-to-end (E2E) testing. For very large programs, consider first expanding the integration testing from next-door neighbors to the broader neighborhood (i.e. many neighbors at a time). Then you'll be better prepared to take on the full E2E flow.
Running these various tests and slowly shifting traffic to the cloud when ready should be transparent to the users of the system, especially if these users are your valued customers. Most organizations recognize this as their end goal, but don't appreciate that they'll need to maintain the experience during the various hybrid stages inherent to a large, lengthy migration. These hybrid stages — when some services are in the cloud and some are still at the data center — typically last over a year, even several years in complex migrations. You may find the latency numbers are driven by connections from the cloud back to the data center, and important data may be in one location but not the other.
Your migration program will likely require many rounds of user acceptance testing (UAT), a testing stage that is customarily saved until just prior to final go-live. UAT is not limited to ultimate end-users or customers, but also includes many internal departments such as finance, security, and data integration teams who want to ensure their important data is not compromised during the cloud migration. Plan ahead to get these internal users involved in UATs.
With all this work going on, it can be easy to forget about testing your disaster recovery solutions. You’ll want to ensure that the redundancy you had in place for the data center is maintained as you migrate through the hybrid stages, and that it evolves into your new data recovery solution in the cloud.
Use A/B testing to compare performance.
A great way to ensure that you maintain the customer experience during final production deployment is to use an A/B testing approach.
A/B testing lets you compare multiple variants of a web page or a service simultaneously, giving you an apples-to-apples comparison of performance. Set up a test in which your control is the existing data center technology stack (path A), and your variant is in the cloud (path B).
With the ability to throttle the amount of traffic sent to the cloud through the A/B test, you can execute a rolling deployment with increasing amounts of traffic. The bigger and more complex your cloud migration, the more gradual the process will need to be. This rolling deployment is far easier and more manageable than one big cutover.
The Bottom Line
It takes a dedicated team collaboratively executing a thorough test plan to ensure that customers are not negatively impacted by your move to the cloud. Test your migration early, thoroughly and often — probably more often than you'd anticipate.
Take the time and effort to make sure your organization is aligned on the full breadth of what is moving to the cloud and how you plan to test, and you'll be on your way to ensuring a positive end-user experience through every phase of the migration.