How do you simplify your cloud migration? A great way is by implementing a pilot phase where you test the strategy before beginning the execution itself.
Cloud migration is a complex custom process, and a one-size-fits-all approach does not work. Two migrations in the same organization are likely to follow different approaches, as it’s often important to rearchitecture the legacy application into microservices to get the most out of the cloud.
Even once you’ve laid down your migration strategy cloud migrations can be difficult to plan and execute as there are a lot of moving parts. The data flow through the system needs to be clearly mapped, through all APIs and system components. Poor planning can result in a number of problems, as you can uncover incompatibility issues during the final execution.
For example, is the data flow uninterrupted throughout the entire tech system? In a hybrid cloud environment, are all integrations seamless? If the answer is in the negative, these are major potential problems that could seriously throw a migration off track at the last stage! It’s important to include a pilot phase in your cloud migration to ensure that you aren’t surprised.
Why do I need a pilot?
Any major tech project needs a pilot phase, whether that’s creating an eCommerce site, an application for public use or migrating an internal legacy application to the cloud. A pilot is a small-scale implementation of the project, with a limited group of users. By executing the migration at a small scale in this manner, you can uncover a number of potential flaws in the architecture or migration plan, which could be very time-consuming or expensive if first identified in the final implementation.
The whitepaper Migrating your Existing Applications to the AWS Cloud: A Phase-driven Approach to Cloud Migration urges users to opt for a pilot that represents “a microcosm of your application … [for example, you can start] with a small dataset; don’t be afraid of launching and terminating instances, or stress-testing the system … if you are thinking of migrating a web application, you can start by deploying miniature models of all the pieces of your architecture (database, web application, load balancer) with minimal data.”
Though the development strategy is clearly laid down in advance of launching the pilot phase, it can help identify the pros and cons of a particular approach or usecase. The pilot helps you test the waters and execute a seamless shift to the cloud, especially by uncovering unexpected organization-specific roadblocks that can throw off the entire project if identified too late.
The pilot also serves as a proof of concept. By showcasing the benefits garnered through the pilot phase, you can better justify the greater expense of the full migration project.
When to go for a pilot cloud migration
While recommended in an ideal world, practically, not every cloud migration is suitable for a full pilot phase. Minor projects, and especially those following the lift-and-shift approach to cloud migration, are unlikely to require a pilot phase. On the other hand, complex projects with large user bases and requirements to rearchitect or refactor the project are suitable for a full pilot.
This phase is also the ideal time to gain training on the tools you will be using in the migration. That’s why a pilot is especially important in cases where your development team is not fully updated on the technology involved. In the same whitepaper, AWS recommends that users learn how to use various AWS tools and functionalities during the pilot. “Most of our enterprise customers dive into this stage and reap tremendous value from building pilots. We have noticed that customers learn a lot about the capabilities and applicability of AWS during the process and quickly broaden the set of applications that could be migrated into the AWS cloud.”
How to select the pilot phase of your project
Many development teams tend to select pilots that are easy to execute, in order to get the pilot phase done quickly and without too much involvement from the rest of the team. While it gets done faster, such a pilot is not sufficiently in-depth to actually get the results that you would need from a full pilot.
The team may also choose only specific features or elements of the application, rather than moving the entire application at a smaller scale. “This can look like migrating batch interface packages without considering the end-to-end design and impact on data ingestion and boundary systems,” says AWS. This can be effective to test that component, but doesn’t consider the system in its entirety. As a result, the data flow and process of the application as a whole are not considered.
Some teams also choose to migrate non-critical applications or components, in order that the organization can continue to function smoothly in case of failure of the pilot project. This is not effective, as there may be uncovered critical errors in these essential functions, which may be identified only during the final migration.
Do not avoid the most complex and critical usecases when determining suitable pilots. “When teams narrow their focus to these quick and/or easy migrations, it can delay their cloud migration efforts. To establish reusable standards and control mechanisms, we suggest using more complex use cases and being more intentional in determining suitable pilots,” says AWS.
The best way to move forward is to choose a pilot that represents the architecture and tech stack of the application itself, and of similar applications. This helps create standards and control mechanisms that can be reused in the final migration and across multiple similar projects. Similarly, choose a representative pilot in terms of team availability, any regulation requirements, migration strategies, design, architecture, operating system and hosting.
Desired outcomes from a pilot migration
In addition to understanding the gaps in the migration plan, the pilot helps accelerate the migration and future projects by delivering a few key outcomes:
- Testing business viability assumptions to confirm suitability of cloud migration for the legacy application
- Creating reusable build, deployment templates, reference architecture and blueprints to make the at-scale migration faster
- Building a minimum viable product to test for operational readiness and areas for improvement in infrastructure and IT team preparedness
- Understanding resource usage and system requirements
- Refining the timeline, budgets and other details of the migration from assumptions made in the initial plan
Define the desired success parameters from the pilot, and how you will record or measure them. This could be anything from validation of assumptions to identifying areas of potential improvement over the original plan. Focus on performance of the service, areas where migration effort can be reduced or simplified, and technical feasibility. The pilot should serve to ensure on-time delivery and a seamless migration with minimal disruption.
In addition, study the business impact of the migration during the pilot. Identify further opportunities to reduce complexity, operational effort and cost. Validate the application risk controls, security and database management to confirm that the application meets all industry-specific security and compliance requirements.
A strong pilot phase for your cloud migration will help you foresee and avoid unexpected hurdles and issues of incompatibility at the final stage. Selecting the right pilot for the project – something that’s realistic, neither too complex nor too simple, and covers as many usecases as possible – will definitely be a value-positive development decision. While it may seem tempting to do without a pilot, it can save time, money and a great deal of heartburn during final migration.
Frequently asked questions
Choose critical business applications, regardless of whether they are easy or complex to migrate. By planning the migration strategy with a strong pilot phase, you can execute a cloud migration which delivers real, immediate benefits. This helps increase confidence for future migrations as well.
The pilot cloud migration is an iterative process where the first step is to estimate the effort involved in the application migration. The first and most important step is to select the pilot candidate. Once the pilot is built, validate the technology and test the software on the cloud. Based on pilot results, update the architecture, migration strategy and business case. If needed, conduct multiple pilots before beginning the migration itself. This helps build confidence working with the cloud.
Since cloud migration is often used on business-critical applications, you are likely to have a large number of final stakeholders involved in the tech project, ranging from business teams to administrators and other internal team members. Get them all onboard with the migration before getting started with the migration.
By ensuring that your corporate users buy in to the process, you can be confident that they are more likely to accept minor gaps and issues caused during the migration.
By choosing the right pilot project and executing it correctly, you can prove the overall long-term success of the cloud migration project and train your team on a live project. When planning your cloud migration, take your pilot phase seriously and implement it in order to have a hassle-free migration experience. Work with an expert tech partner like Ziffity to get your cloud migration right – from pilot to implementation and beyond.