The question for modern organizations is no longer “Do we move to cloud?” Instead, it’s “When and how do we move to cloud?” Some IT departments get top down imperatives to move everything to cloud, while others seize the opportunities offered by impending license renewals or the possible loss of vendor support. Regardless of the reason, critical decisions must be made to ensure a successful transition. The following roadmap demonstrates a hybrid cloud migration model for your future planning in our third and final part of the cloud migration series.
The Hybrid Cloud falls in between the two previous options. With a hybrid, legacy systems and workflows are replaced incrementally in the cloud, while the old system continues to run. Replacement happens gradually, following the Strangler Pattern. A façade in front of the entire system intercepts all incoming events and routes them appropriately, either to a legacy service or to a modernized cloud application (sometimes both). Once legacy features are fully migrated, they are turned off and operate in the cloud. Eventually, the entire legacy system can be shut down and the façade removed. Learn more about:
Cloud Migration Roadmap
Every successful cloud migration begins with the same two steps. Invest the proper diligence in these decisions and you will maximize the value of your transition.
Determine Who’s Going and What to Pack
One of the first steps in any trip is to identify who’s going and to determine what they need to pack. Successful migrations are similar. You need to decide what should be moved. What systems are migrating to the cloud? What aspects of them need to move? How soon do they need to get there? What baggage should they bring with them? Work with the business stakeholders of those systems to establish priorities for moving them to the cloud. Think about what they need to bring with them, especially with regard to data. At this early stage, it is important to define the current state for business processes and consider your plan for migrating data or ensuring seamless interoperability between cloud data and legacy on-premise storage. What is getting packed and what is being left behind?
Pick the Appropriate Vehicle and Route
Once you have a destination in mind, you can pick a vehicle and plan your route. Stakeholder priorities, objectives and concerns can help you determine which cloud vendor to use and whether a public or private cloud (or both) is most appropriate. The major cloud providers all have similar feature-sets, so picking a target environment is usually a combination of price (each vendor provides a tool to gauge pricing), matching technology stacks with IT expertise and leveraging existing vendor relationships.
The more difficult—and more important—choice is choosing a method for the transition. You have three roads to choose from on your journey; the Hybrid Cloud is one of them.
Steps to Migrate
1. Identify the business processes and data flows that intersect. These “bounded contexts” (e.g. Procurement and Accounting will have common interests and overlap) can be used to identify features to migrate.
2. Determine the data migration plan for historical data. This will be similar to the “Start Brand New in the Cloud” approach, except that once a feature is in the process of being modernized, it can exist in both the legacy and modernized systems. This creates challenges that the data migration plan must proactively account for. A canonical data model that can be used by the routing façade and new microservices is essential.
3. Build a façade for intercepting calls to the legacy system and routing them appropriately. This can be implemented via a message platform (e.g. Kafka, Amazon Kinesis, Microsoft Event Hub, etc.).
4. Prioritize the list of features to be migrated and start building them in the cloud in small pieces, using the techniques described in Steps 3 through 5 of “Start Brand New in the Cloud.” The main difference with a hybrid is that instead of all the functionality being migrated at once, your focus should be on small pieces that customers can start using quickly. This approach mitigates risk as the entire system is always running; there is no loss of functionality during the migration. The entire team can balance between legacy maintenance and new features, data migration is more manageable and there are immediate results that allow validation and adjustment of the architectural assumptions.
5. Once a migrated feature is approved for production, modify the façade to only route the associated requests to the cloud implementation and retire that feature in the legacy system.
6. Retire the legacy system and its supporting infrastructure once all features have been migrated to the cloud.
7. Retire the façade or, if other legacy systems are still using it, keep it running as long as they are operational.
8. Call the cloud your actual home instead of the second home you’ve been frequently visiting.
When to Use This Method
Hybrid Cloud works best in the following circumstances:
- The legacy system is a monolith of medium to large complexity (usually web or mainframe systems).
- Incoming and outgoing events can be intercepted.
- The underlying technologies of the legacy application have accessible interfaces that the façade can intercept.
Pitfalls to watch for:
- The façade must route events accurately and quickly, otherwise, it will become a bottleneck.
- Ensure that all data is accessed via a common method.
- Don’t move too much of the system at once. Migrating one or two features at a time is generally the best practice.
Moving to the cloud is inevitable for most organizations and there are many strategies for the transition. Understanding your current system architecture, reviewing the available cloud services and assessing the pros and cons of each strategy can save you time and money. Whether you choose to replicate your systems directly in the cloud, rewrite an entirely new cloud-native system or revise the architecture over time, make sure to do the research before choosing a strategy.
Check out other installments in the “Three Approaches to Cloud Migration” blog series: