Cloud migrations are complex endeavors that require multiple people working simultaneously on a variety of critical tasks. Depending on the number of applications that are being moved, the complexity of the workloads, and the impact on end-users, as many as 150 people may be involved in a cloud migration effort.
The business benefits of the cloud are so significant that stakeholders across the organization will have a vested interest in the success of the cloud migration. For this reason, planning is essential to streamline the process, and communication is imperative to ensure stakeholders are kept informed and roadblocks are identified and resolved quickly. So, too, is accelerating every step along the way, from planning to translating your legacy data warehouses, data lake, and ETL (extract, transform, load) codes to data validation. Many companies look to automated tooling to assist in accelerating key steps along the migration path.
A key lesson we’ve learned from migrating many organizations is to make important decisions early in the journey, specifically around your solution architecture. For example, what data and code are you moving? How are you moving it? And what target are you translating it to? What about your ETL pipelines ‘“ are you repointing or rewriting them? Which ones can be retired? What applications are being moved? Do you need to modernize before you migrate? Making these decisions ahead of the actual move will reduce your migration footprint and testing overhead. Careful planning also makes the migration more predictable and cost-effective.
Define roles and responsibilities for all the parties involved upfront, including the organization’s internal team, the cloud provider, and the system integrator. It is not uncommon to use a project management tool like a RACI (Responsible, Accountable, Consulted, and Informed) matrix to ensure that project roles and responsibilities are clearly defined and documented.
The essential roles in a cloud migration
The success of a migration project requires the individual teams involved working in concert with each other. Collaboration and communication are paramount to the migration’s success.
Some of the key roles involved in a cloud migration include:
Executive Stakeholders set and communicate the goals of the project and ensure the objectives are aligned to the organization’s strategic goals. Given the significance of the business impact of a cloud migration, stakeholders will represent the interest of a wide variety of parties, such as CEO, CTO, CIO, CDO, and CSO, to name a few.
Program Managers have a bird’s eye view of the project and oversee governance to ensure that each work package is being performed as planned. Program Managers make sure that deliverables are met, and communication with Executive Stakeholders is ongoing. There may be several types of program managers depending on the scope of the migration effort and the change management impact across the organization. Each program manager will represent a specific component or stakeholder of the overall governance of the project.
Solution Leads are responsible for the technical components, such as the common architecture, security, and implementation of the migration. Solution Leads are also responsible for approving automation tooling that will be used throughout the project. This includes tooling to crawl through the applications to understand data lineage and relationships, code translation, application modernization, and automated testing.
Scrum Masters will report to the Solution Lead. This individual monitors the development of the technical teams to ensure their members are producing the required packages of work, and there is nothing that is impeding their progress.
Data Migration Leads are dedicated entirely to data migration planning and all the downstream consuming application planning. This includes historical data migration (data extraction and data upload) and the plan for how long you will have to run in parallel before cut-over.
Cloud Provider Architect represents the cloud partner and is responsible for providing technical guidance for ingestion, security, performance tuning, and optimization. Additional activities may also include the set-up of cloud environments ensuring the platform meets compliance requirements.
Test Engineering Lead oversees the teams responsible for performance testing, system integration testing, and end-to-end testing.
A cloud migration is a significant undertaking, and as some organizations find out after the fact, it’s worth spending the extra time in the planning stages and selecting the right automation tooling to ensure a successful cloud migration project.