These decisions have the potential to impact an organization's scalability and its ability to enhance the environment in the future. To simplify this complexity, customers are actively seeking prescriptive guidance across a wide range of AWS services that can be utilized to create a solid foundational environment. The key to establishing a successful cloud foundation on AWS lies in tailoring the guidance to the unique business needs of each organization. By adopting a capability-based approach, organizations can create an environment that enables them to efficiently deploy, operate, and govern their workloads. Furthermore, this approach allows them to enhance their capabilities and expand their environment as their requirements evolve and additional workloads are deployed to the cloud. A standardized, prescriptive set of capabilities spanning different functional areas can serve as a structured approach for swiftly building or expanding an AWS Cloud environment. Organizations can adopt and implement these capabilities based on their operational and governance needs. As their business requirements mature, the capability-based approach can be utilized to ensure that their cloud environment is prepared to support their workloads and scale accordingly. Cloud Foundations To address these needs, AWS has created Cloud Foundations which provides a guided path to help organisations deploy, configure, and secure their new workloads while ensuring they are ready for on-going operations in the cloud. Using Cloud Formations can help support your cloud foundation journey, accelerating the deployment of a production-ready environment. When it comes to embracing the cloud, AWS advises having a solid set of foundational capabilities that empower you to effortlessly deploy, manage, and govern your workloads. These capabilities serve as the building blocks for establishing and operating various aspects of your cloud environment. Think of them as the tools and guidelines that assist you in planning, implementing, and effectively running your cloud infrastructure. They encompass considerations for people, processes, and technology, seamlessly integrating with your overall technology ecosystem. But it's not just about the technical implementation. These capabilities also encompass operational guidance, ensuring you have the necessary resources and skills to set up and maintain each capability. This includes notifications, event handling, remediation processes, and the expertise of your team members. In other words, it's all about equipping you with the knowledge and support needed to successfully leverage each capability. So, whether you're diving into the cloud for the first time or enhancing your existing environment, these foundational capabilities and categories provide you with a comprehensive framework to navigate the complexities of cloud adoption. With their guidance and automation, you can confidently establish and operate a robust cloud environment that meets your specific needs and helps you achieve your business goals. AWS has defined a set of 30 capabilities that span six categories to help you establish a cloud foundation. Table 1: Cloud Foundations capabilities by categories Each capability includes stages of maturity that enable you to implement based on where you are in your cloud journey, including your governance and operational requirements. As your cloud environment grows and matures, the capabilities can be enhanced to meet your new requirements. Capabilities DefinitionsThis section includes high-level definitions for each foundational capability organized by their category as shown in the figure below. Figure 1: Cloud Foundations Categories Governance, Risk Management, and ComplianceWhen it comes to Governance, Risk Management, and Compliance (GRC), it's all about establishing a solid foundation for meeting security and compliance requirements while defining the policies that should govern your cloud environment. These capabilities play a crucial role in determining what needs to be done, defining your risk tolerance, and ensuring alignment with internal policies. Figure 2: Governance, Risk Management, and Compliance Category Within the Governance, Risk Management, and Compliance category, you'll find a range of capabilities designed to empower you in your GRC efforts:
These capabilities within the Governance, Risk Management, and Compliance category offer you the necessary tools and guidance to establish a secure and compliant cloud environment. By leveraging them effectively, you can confidently navigate the complexities of GRC and safeguard your organization's interests. Operations When it comes to Operations, the goal is to enable your developers and operations teams to innovate at a rapid pace while maintaining the quality of application and infrastructure updates. The capabilities within this category empower you to effortlessly build, deploy, and operate workloads in the cloud, enhancing the developer experience and leveraging powerful tools. Figure 3: Operations Category Let's explore the capabilities within the Operations category that can revolutionize the way you manage your cloud environment:
With these Operations capabilities at your disposal, you can revolutionize how you manage your cloud environment. By enhancing the developer experience, ensuring effective rollout and rollback strategies, implementing robust logging and monitoring, simplifying resource management, and keeping your systems patched, you can drive efficiency, reliability, and innovation throughout your operations. Security When it comes to Security, the focus is on creating a secure, high-performing, and resilient foundation for your cloud environment. The capabilities within this category allow you to design and implement robust security policies and controls at different levels of the stack, protecting your valuable resources from both external and internal vulnerabilities and threats. These capabilities ensure confidentiality, availability, integrity, and usability, while providing guidance and recommendations for effective remediation. Figure 4: Security Category Let's delve into the capabilities within the Security category that empower you to establish a strong and reliable security framework for your cloud environment:
By leveraging these Security capabilities, you can establish a robust security framework for your cloud environment, safeguarding your resources, and mitigating risks. From identity management and access control to data isolation, application security, encryption and key management, secrets management, incident response, and vulnerability management, these capabilities provide a comprehensive approach to protecting your cloud environment from a wide range of threats and vulnerabilities. Business ContinuityWhen it comes to Business Continuity, resilience is key as it directly impacts the quality of service your users experience. The capabilities within this category empower you to establish a comprehensive strategy to ensure the continuity of operations during times of inefficiency or crisis. By implementing Disaster Recovery, Backups, and Support, you can proactively mitigate the impact of disruptions, minimize downtime during outages, and navigate unprecedented situations more effectively. Figure 5: Business Continuity Category Let's explore the capabilities within the Business Continuity category that enable you to maintain uninterrupted operations and mitigate potential disruptions:
By leveraging these Business Continuity capabilities, you can establish a resilient foundation that ensures the continuity of your operations, even in the face of disruptions. Whether it's implementing robust backup strategies, enabling efficient Disaster Recovery processes, or having reliable support mechanisms, these capabilities enable you to navigate challenges and maintain business continuity. Proactively addressing potential inefficiencies and preparing for unforeseen events can help you avoid downtime, minimize service disruptions, and ultimately deliver a seamless experience to your users. FinanceWhen it comes to Finance, it's essential to establish and enhance your existing finance processes to be cloud-ready. By leveraging the capabilities within this area, you can effectively manage costs, ensure transparency and control, optimize spending, and meet compliance and regulatory requirements. Additionally, these capabilities enable you to efficiently manage your records and resource inventory, ensuring accurate financial management within your cloud environment. Figure 6: Finance Category Let's explore the capabilities within the Finance category that empower you to establish robust financial processes and optimize your cloud operations:
By leveraging these Finance capabilities, you can establish a cloud-ready finance framework that promotes cost transparency, control, planning, and optimization. From effectively managing variable expenses to maintaining accurate resource inventories and meeting regulatory requirements, these capabilities provide the foundation for efficient financial operations within your cloud environment. By embracing cloud financial management, resource inventory management, and records management, you can drive financial efficiency, ensure compliance, and optimize your cloud investments. InfrastructureWhen it comes to Infrastructure, it's crucial to design, build, and manage a secure and highly available cloud infrastructure. By leveraging the capabilities within this area, you can ensure the reliability and security of your infrastructure while accommodating the migration of applications from on-premises environments or building them natively in the cloud. Let's explore the key capabilities within the Infrastructure category that empower you to create a robust and resilient cloud infrastructure. Figure 7: Infrastructure Category
By leveraging these Infrastructure capabilities, you can design, build, and manage a secure and highly available cloud infrastructure. From implementing robust network security measures to ensuring reliable network connectivity, template management, and workload isolation, these capabilities provide the foundation for a secure and scalable infrastructure. By prioritizing infrastructure security and reliability, you can create a resilient environment that supports the migration and development of applications in the cloud with confidence. SummaryIn today's rapidly evolving technological landscape, establishing a solid foundation for your cloud environment is essential. The capabilities within different categories, such as Governance, Risk Management, and Compliance; Operations; Security; Business Continuity; Finance; and Infrastructure, enable organizations to leverage the full potential of the cloud while ensuring security, efficiency, and resilience. By strategically leveraging these capabilities, organizations can design, build, and manage their cloud environment with confidence. From defining policies and managing risks to optimizing costs, securing applications, ensuring business continuity, and establishing a robust infrastructure, these capabilities provide the necessary tools and frameworks to navigate the complexities of the cloud.
0 Comments
In the previous two articles on Cloud Migration Strategy and Best Practices, we discussed the importance of having a well-defined strategy, a clear scope, and realistic timeline for successful cloud migration projects. We also highlighted the critical role that people and technology play in the success of cloud migration projects. In this article, we will shift our focus to the process perspective of cloud migration in terms of preparing for a large migration and running a large migration. Process PerspectiveWhen it comes to large-scale migrations, having a well-defined process in place is critical. While processes bring consistency, they must also be adaptable to each project's unique requirements. Running the process repeatedly will help you identify gaps and areas for improvement, leading to significant benefits as you iterate, learn, and adopt new ideas. Managing processes in migrations can be challenging as they often span multiple technologies and boundaries that may not have been linked before. This guide provides processes and guidance on specific requirements for large migrations, helping you achieve success while maintaining quality and team confidence. Preparing for a Large MigrationTo ensure a successful migration journey, it is crucial to establish core principles that provide a clear direction and obtain buy-in from stakeholders. In this section, we will cover the following topics:
Define Business Drivers and Communicate Strategy, Scope and Timeline Defining business drivers and having a clear communication plan for the straetgy, scope and timeline are vital for large migrations to AWS. Different migration paths can be considered, such as rehosting workloads, containerizing applications, or redesigning them into serverless architecture. To determine the appropriate migration path, it is important to align with business drivers. Involving various stakeholders, including application owners, network teams, database administrators, and executive sponsors, is crucial. Documenting business drivers and setting key performance indicators (KPIs) aligned with target outcomes helps ensure stakeholder alignment and effective decision-making. Define a Clear Escalation Path to Help Remove Blockers Large cloud migration programs involve multiple stakeholders with their own priorities, which can create challenges. To address this, a clear escalation path must be established to outline the necessary actions for removing any blockers that may arise. This streamlines decision-making processes and ensures alignment among teams. An example of resolving conflicting migration paths is setting a clear mandate following an escalation to the Chief Information Officer (CIO) and implementing a mechanism for requesting required decisions. Minimize Unnecessary Change While change is beneficial, excessive changes can introduce additional risks. When a business case for a large migration is approved, it is recommended to set a two-week rule to prevent application teams from spending excessive time rewriting their applications. This rule helps maintain consistency and enables a sustainable migration process over a multi-year period. By minimizing changes that do not align with the desired business outcomes, mechanisms can be developed to manage such changes in future projects. Document an End-to-End Process Early Comprehensive documentation of the entire migration process is essential for effective planning. This documentation should assign ownership of tasks and processes to specific stakeholders, ensuring clarity of roles and responsibilities. It also helps identify potential issues and facilitates ongoing improvements. Existing processes, dependencies, and integration points should be documented, and a RACI matrix can be created to assign responsibilities and accountabilities. Additionally, establishing a countdown plan, working backward from the workload migration cutover date and time, provides a structured approach. Document Standard Migration Patterns and Artifacts Documenting standard migration patterns and artifacts is critical for success. These resources serve as reusable references, documentation, and runbooks for future migration projects, enabling avoidance of past pitfalls and issues. Standard processes and artifacts significantly accelerate the migration process and improve consistency. It is recommended to establish central ownership of these documents and artifacts, with a process for submitting recommended changes. Regularly sharing updates and changes with all teams promotes effective communication and ensures consistency throughout the migration project. Establish a Single Source of Truth for Migration Metadata and Status Creating a single source of truth for migration metadata and status is essential for effective planning. This allows all teams to align and make data-driven decisions. Initially, multiple data sources may exist, such as configuration management databases (CMDBs) or inventory lists. Data capture mechanisms, like using discovery tooling or surveying IT leaders, may be necessary. Aggregating all data sources into a single dataset simplifies tracking the migration progress, including the status of migrated servers. Running a Large MigrationOnce the business outcomes have been established and the migration strategy has been communicated to the stakeholders, it is time to plan how to divide the scope of the large migration into manageable migration events or waves. The following sections provide essential guidance for creating a wave plan. Plan Migration Waves Ahead of Time to Ensure a Steady Flow Thorough planning is crucial for the success of the migration program. Planning migration waves in advance allows the project to progress smoothly and enables the team to be proactive in addressing migration requirements. It facilitates scalability, enhances decision-making, and improves forecasting as project demands become more complex. Additionally, planning ahead enhances the team's adaptability to changes. For instance, a financial services customer working on a data center exit program initially faced delays due to sequential wave planning. When stakeholders were informed about their applications' migration to AWS, they still had several tasks to complete before starting the migration, causing significant program delays. To address this, the customer implemented a holistic approach where migration waves were planned months in advance. This provided ample time for application teams to complete pre-migration activities and eliminated unnecessary delays. Keep Wave Implementation and Wave Planning Separate Separating the teams responsible for wave planning and wave implementation allows both processes to work concurrently. With effective communication and coordination, this approach avoids slowdowns in the migration caused by insufficiently prepared servers or applications. It is crucial to involve the migration implementation team during wave planning to ensure complete and accurate data collection. Additionally, creating a buffer between wave preparation and implementation is essential. Collaboration between the wave planning team and the migration team is necessary to gather the right data and minimize the need for rework. Start Small for Great Outcomes Starting with a small-scale initial wave and gradually increasing migration velocity in subsequent waves leads to favorable outcomes. The first wave should involve a single, small application with fewer than 10 servers. As the migration progresses, additional applications and servers can be included in subsequent waves, gradually building up to the target migration velocity. Prioritizing less complex or risky applications and incrementally ramping up the migration velocity allows the team to adjust to working together and learn from the process. With each wave, the team can identify and implement process improvements, significantly enhancing the velocity of later waves. For example, a customer migrating over 1,300 servers in a year began with a pilot migration and a few smaller waves. This approach allowed the team to identify opportunities for improvement, optimize network segments, collaborate with the firewall team to prevent delays, and develop automation scripts for discovery and cutover processes. Starting small enabled the team to focus on process enhancements and increased overall confidence. Minimize the Number of Cutover Windows Maintaining discipline in managing scale is crucial for successful mass migrations. Limiting the number of weekly cutover windows ensures that the time spent on cutover activities is maximized. By reducing flexibility in this area, unnecessary delays and operational burdens associated with scheduling are minimized. For instance, instead of having multiple small cutovers, consolidating servers into fewer, larger cutovers optimizes operational efficiency and reduces potential delays. A large technology company experienced delays early in their migration project due to application teams having the flexibility to dictate migration schedules until the last minute. This resulted in constant negotiation and stress for the migration team. To address this, the company improved their planning discipline and reduced the number of cutover windows, avoiding delays in meeting data center contract expiration dates. Fail Fast, Apply Experience, and Iterate It is common for initial migration waves to encounter challenges and setbacks. Failing early in the process allows the team to learn, identify bottlenecks, and apply lessons learned to subsequent waves. During the initial stages of a migration, the team needs time to adjust, integrate various tools and people, and continuously improve the end-to-end process. Understanding and communicating that initial issues are expected is crucial, as some teams may be reluctant to embrace new approaches and failure. Ensuring everyone understands that these challenges are part of the journey encourages the team to learn, adapt, and ultimately achieve a successful migration. For instance, a company planning to migrate over 10,000 servers in 24-36 months began with learning waves to understand the processes and permissions involved. Through iterative improvements, such as integrating with CMDB and CyberArk, the team increased their migration velocity to over 120 servers per week within six months. Don't Forget the Retrospective Conducting retrospectives is an essential part of an agile process. These sessions allow the team to reflect, discuss, learn, and make necessary adjustments before moving forward. Retrospectives provide a structured approach to capturing lessons learned, which can then be used to drive improvements. For large migrations to succeed, constant evolution and improvement of processes, tools, and teams are vital. Retrospectives play a significant role in this continuous improvement cycle. Instead of waiting until the end of the program, lessons learned from previous waves should be applied to the planning of subsequent waves. Regular retrospectives provide opportunities to identify areas for streamlining, process improvements, and automation. By implementing a countdown schedule and automating manual tasks, one customer significantly minimized delays and optimized their cutover process. Another large tech company held regular retrospectives that led to improvements in processes, scripts, and automation, resulting in a 40% reduction in average migration time over the course of the program. ConclusionLarge migrations present different challenges when compared to smaller migrations. This is mostly due to the complexities introduced by the scale. Running a large migration requires meticulous planning and execution as well as effective coordination, and a focus on continuous improvement. By following the guidance provided in this three-part series, organizations can navigate the complexities of large-scale migrations and achieve successful outcomes.
In this article, we will shift our focus to the technology perspective of cloud migration. We will explore how technology can be used to achieve the scale and velocity required, while aligning with the strategy, scope and timelines of the migration project. The key principle is to automate wherever possible, utilizing tools such as discovery tools, migration implementation tools, configuration management databases, inventory spreadsheets, and project management tools. Once the necessary tools are selected, it's essential to ensure that the migration team has the skills to use them effectively. With the right tools and skills in place, technology can play a critical role in accelerating large migrations. Technology PerspectiveIn order to accelerate large migrations, technology can provide a solid foundation. One example of this is the Cloud Migration Factory solution, which focuses on end-to-end automation for migrations. This section explores some best practices for using technology to achieve the scale and velocity required, while also aligning with the strategy, scope, and timelines of the migration project. The key principle here is to automate wherever possible. When dealing with thousands of servers, performing manual tasks can be a costly and time-consuming effort. To aid in the migration process, several tools are typically used, including discovery tools, migration implementation tools, configuration management databases (CMDBs), inventory spreadsheets, and project management tools. These are utilized at various stages of the migration, from assessment to mobilization through to implementation. The selection of tools is determined by the business objectives and timelines. Once the migration phases are planned and the necessary tools are selected, it's essential to ensure that the migration team has the skills to use them effectively. If there are any gaps in skills or experience, targeted training should be planned to ramp up the team's abilities. Additionally, it's beneficial to create events where teams can gain experience with the migration tooling in a safe environment. For example, are there sandpit or lab servers that teams can migrate to gain experience with the tooling? Alternatively, can initial development workloads be used for learning purposes? With the right tools and skills in place, technology can play a critical role in accelerating large migrations. Automation, Tracking, and Tooling IntegrationAutomate Migration Discovery to Reduce the Time Required When starting a large migration project, it's important to figure out what needs to be migrated and how to migrate it. This process is called discovery and it involves capturing key information about the workloads that will be migrated. To speed up the migration, it's essential to automate the discovery process and import the captured data into the migration factory. This significantly reduces the time and effort required to complete the discovery phase. For example, you could automate your data intake process by hosting your migration metadata on Microsoft SharePoint and using an AWS Lambda function to load the data into the migration factory automatically. This would enable you to reduce manual work, minimize human error and speed up their migration process. Automate Repetitive Tasks During the migration implementation phase, there are many repetitive tasks that must be done frequently. For instance, if you're using AWS Application Migration Service (MGN), you'll need to install the agent on every server that's included in the migration. To handle these tasks efficiently and quickly, it's best to set up a migration factory tailored to your specific business and technical needs. A migration factory uses a standardized dataset to speed up the migration process, and after identifying all the tasks involved, you can spend time automating as many manual tasks as possible with prescriptive runbooks. One example of a migration automation solution is the Cloud Migration Factory. It provides the foundations for automating aspects specific to your organization. For instance, you may want to update a flag in your CMDB to indicate that the on-premises servers can now be decommissioned. You could create an automation script that performs this task at the end of the migration wave, and Cloud Migration Factory would provide the centralized metadata store with all the wave, application, and server metadata. This way, the automation script can connect to Cloud Migration Factory, retrieve a list of servers in that wave, and take appropriate actions. Additionally, Cloud Migration Factory supports AWS Application Migration Service, which can further streamline your migration process. Automate Tracking and Reporting to Speed Decision Making To speed up decision-making during migration projects, it's important to have a system in place that tracks and reports live data to all stakeholders involved in the project. This includes teams such as application, testing, decommissioning, architecture, infrastructure, and leadership. Each team needs access to live data to perform their roles and make decisions. To achieve this, we recommend building an automated migration reporting dashboard that tracks and reports on key performance indicators (KPIs) for the program. For example, network teams need to know the upcoming migration waves to understand the impact on the shared connection between on-premises resources and AWS, while leadership teams need to know how much of the migration is complete. By having a dependable, automated live feed of data, miscommunications can be prevented, and decisions can be made based on reliable information. A large healthcare customer was able to simplify tracking and communications while increasing the migration velocity by using Amazon QuickSight to build automated dashboards that visualized the data. Explore Tooling that Can Facilitate Your Migration When it comes to managing a large migration, selecting the right tools is crucial. However, choosing the right tools can be a challenge, especially if your organization lacks experience in managing large migrations. To ensure a successful migration, we recommend investing time in exploring the available tooling options to find the best fit for your specific needs. While some tools may come with a licensing cost, they can offer significant cost benefits in the long run. Additionally, you may find that your organization already has tooling in place that can support your migration. For example, your application performance monitoring tooling can provide valuable discovery information about your estate. Prerequisites and Post Migration ValidationBuild the Landing Zone During the Pre-Migration Phase To ensure a successful migration to AWS, it is recommended to build the target environment, or landing zone, ahead of time during the pre-migration phase. This means creating a well-designed and secure environment that includes monitoring, governance, and operational controls, among other things. By having the landing zone in place before the migration, you can minimize the risks and uncertainties that come with running your workloads in a new environment. Instead of building the VPCs and subnets during the migration wave, focus on building and validating the landing zone. This approach will help you ensure that the environment is well-architected and meets your business and technical requirements. Once the landing zone is in place, you can then focus on migrating your workloads without worrying about managing the account or VPC-level aspects. By building the landing zone during the pre-migration phase, you can streamline the migration process and minimize disruptions to your business. Outline Prerequisite Activities To ensure a successful migration, it's crucial to outline the prerequisite activities that need to be completed before the migration takes place. Along with building the landing zone, it's essential to identify other technical prerequisites, especially those with a lengthy lead time, such as making necessary firewall changes. Communicating these requirements early on can help prepare and allocate the necessary resources, ensuring that the migration stays on track and meets the intended timeline. Implement Post-Migration Checks for Continuing Improvement To ensure continued improvement, it's equally important to implement post-migration checks. These checks can include operations integration, cost optimization, and governance and compliance checks, among others. The post-migration phase is an excellent opportunity to implement cost-control operations, such as using Amazon CloudWatch to assess instance utilization and determine whether a smaller-sized instance would be suitable. A real-life example of the importance of the post-migration phase is a large technology customer who didn't include it initially. After migrating more than 100 servers, they discovered that the AWS Systems Manager Agent (SSM Agent) wasn't configured correctly, causing the migration to stall. Additionally, they found that the instances were much larger than initially estimated, which would have resulted in higher costs if left unchecked. As a result, the customer implemented a cost checkpoint at the end of each migration wave to avoid similar issues in the future. SummarySuccessful cloud migration projects require a holistic approach that considers people, process, and technology. In this article we have focused on the technology perspective of cloud migration, which is a critical aspect of any successful migration project. The automation of migration discovery, repetitive tasks, tracking, and reporting can significantly reduce the time and effort required to complete a migration project. By automating these aspects, migration projects can accelerate the migration process while aligning with the project's scope, strategy, and timelines. To ensure a successful migration, it is crucial to explore tooling that can facilitate the migration process. In the next article, we will delve deeper into the process perspective and provide insights and best practices for navigating the procedural aspects of cloud migration.
Now, migrating at scale isn't just about the number of servers you're moving over. It also involves a whole host of complexities like people, processes, and technology. This is part one of a three-part series of articles that dive deeper into cloud migration strategy and best practice diving deeper into people, process and technology. In this article, we'll focus on the ‘people’ perspective of large cloud migration projects. By following these best practices, you can streamline the migration process, reduce risk, and maximize the benefits of cloud computing. Strategy, Scope and Timeline The success of any migration program relies on three key elements: scope, strategy, and timeline. These elements need to be aligned and understood from the very beginning of your migration program to set the stage for a successful journey. Any changes to one element will affect the others, so realignment should be factored in for every change, no matter how basic or sensible the change might seem. Strategy - Why do You Want to Migrate? There are various reasons why you might be planning to migrate to AWS. Regardless of your reasons, it's essential to understand what your drivers are, communicate them, and prioritize them. Each additional driver adds time, costs, scope, and risks to your migration program. Once you define your migration strategy, alignment of requirements across various stakeholders and teams is crucial for success. Different teams like Infrastructure, Security, Application, and Operations need to work towards a single goal and align their priorities with a single timeline of migrations. We recommend exploring how the desired business outcomes can be aligned across the various teams to minimize friction and ensure a smooth migration. Scope - What are You Migrating? It's not uncommon for the total scope of a migration program to be undefined, even when you're already halfway through the migration. Unknowns like shadow IT or production incidents can pop up unexpectedly, causing delays and shifts in your plans. To avoid this, it's recommended to invest time in defining the scope, working backwards from your target business outcome. Using discovery tooling to uncover assets is a best practice that can help you define the scope. Be flexible and have contingency plans in place to keep the program moving forward, as the scope will inevitably change with large migrations. Timeline - When do You Need to Complete the Migration? Your migration program's timeline should be based on your business case and what's possible to achieve in the allocated time. If your driver for migrating is based on a fixed date of completion, you must choose the strategy that meets that timeline requirement. For these time-sensitive types of migrations, it's recommended to follow the "Migrate first, then modernize" approach. This helps set expectations and encourages teams to align their individual project plans and budgets with the overall migration goal. It's important to address any disagreements as early as possible in the project, fail fast, and engage the right stakeholders to ensure that alignment is in place. On the other hand, if your main goal of migration is to gain the benefits of application modernization, this must be called out early in the program. Many programs start with an initial goal based on a fixed deadline, and they don't plan for the requirements from stakeholders who want to resolve outstanding issues and problems. It's important to note that modernization activities during a migration can affect the functionality of business applications. Even a seemingly small upgrade like an operating system version change can have a significant impact on the program timelines. Therefore, it's crucial not to consider these upgrades trivial and to plan accordingly. Best Practices for Large MigrationsMigrating to the cloud can be a daunting task, especially for large organizations. The success of a large migration project depends on several factors that need to be addressed from the very beginning of the project. In this section, we will discuss some best practices for large migrations that are based on data from other customers. These practices are divided into three categories:
People PerspectiveThis section focuses on the following key areas of the people perspective:
Executive supportIdentify a Single-Threaded Leader When it comes to large migrations, it's crucial to have the right people in place who can make informed decisions and ensure that the project stays on track. This involves identifying a single-threaded leader who is accountable for the project's success and empowered to make decisions. The leader should also help avoid silos and streamline work-streams by maintaining consistent priorities. For instance, a global customer was able to scale from one server per week at the outset of the program to over 80 servers per week at the start of the second month. This was only possible due to the CIO's full support as a single-threaded leader. The CIO attended weekly migration cutover calls with the migration team to ensure real-time escalation and resolution of issues, which accelerated the migration velocity. Align the Senior Leadership Team Achieving alignment between teams regarding the success criteria of the migration is crucial. Although a small, dedicated team can handle migration planning and implementation, defining the migration strategy and carrying out peripheral activities can pose challenges that may require involvement from different areas of the IT organization. These areas include business, applications, networking, security, infrastructure, and third-party vendors. In such cases, it is essential to have direct involvement from application owners and leadership, establish alignment, and establish a clear escalation path to the single-threaded leader. Team Collaboration and OwnershipCreate a Cross-Functional Cloud-Enablement Team To successfully migrate to the cloud, it's crucial to have a team that is focused on enabling the organization to work efficiently in the cloud. We recommend creating a Cloud Enablement Engine (CEE), which is a cross-functional team responsible for ensuring the organization's readiness for migrating to AWS. The CEE should include representation from various departments, including infrastructure, applications, operations, and security, and be accountable for developing policies, defining and implementing tools and processes, and establishing the organization's cloud operations model. As the cutover data approaches, it is a good idea to setup a war room, where stakeholders from different areas, such as infrastructure, security, applications, and business, can work together to resolve issues. This will enable the team to meet deadlines and successfully complete the migration. Define Requirements for All Stakeholders It's important to plan in advance for the involvement of teams and individuals who are not part of the core migration team. This involves identifying these groups and defining their role during the migration planning stages. Specifically, it's important to involve the application teams as they possess crucial knowledge of the applications, and their participation is needed to diagnose issues and sign off on the cutover. This is where a RACI can be very useful. RACI is a popular project management and organizational tool used to clarify the roles and responsibilities of individuals or teams involved in a project or process. It helps ensure that everyone understands their assigned tasks and that accountability is clearly defined. The term "RACI" stands for Responsible, Accountable, Consulted, and Informed, which are the four key roles involved in the process. While the core team will lead the migration, the application teams will likely play a role in validating the migration plan and testing during cutover. Many organizations view cloud migration as an infrastructure project, but it's important to recognize that it's also an application migration. Failing to involve application teams can lead to issues during the migration process. When selecting a migration strategy, it's recommended to consider the application team's required involvement. For instance, a rehost strategy may require less application-team involvement compared to a replatform or refactor strategy, which involve more changes to the application landscape. If application owner availability is limited, it may be preferable to use a rehost or replatform strategy rather than refactor, relocate, or repurchase strategies. Validate that there are no Licensing issues when migrating workloads To avoid potential licensing issues when migrating workloads to the cloud, it is important to validate that the licenses will still be valid in the new environment. It is possible that licensing agreements may be focused on on-premises infrastructure, such as CPU or MAC address, or may not allow hosting in a public cloud environment. Renegotiating licensing agreements can be time-consuming and may delay the migration project. To prevent licensing issues, we suggest working with sourcing or vendor management teams as soon as the migration scope is defined. This can also impact the target architecture and migration strategy, so it is important to take licensing into account during the planning phase. TrainingTrain Teams on New Tooling and Processes After defining the migration strategy, it's important to assess what training is required for both the migration and the target operating model. Using new tooling, such as AWS Database Migration Service, can cause delays during the migration, so it's recommended to provide hands-on training to teams. Automation is also key to accelerate large migrations. SummaryLarge-scale migration to the cloud requires a well-defined strategy, scope and timeline. This includes understanding the business drivers for the migration, identifying the workloads to be migrated, and developing a roadmap for the migration process. In addition, successful cloud migration projects require a holistic approach that considers people, process, and technology. While it's important to have the right technology and processes in place, it's equally crucial to focus on the people involved in the migration. This includes identifying and engaging with stakeholders, establishing clear communication channels, and providing adequate training and support for employees. In this article we have focused on the people perspective of cloud migration, which is a critical aspect of any successful migration project. We have discussed the importance of establishing a clear scope and strategy for the migration project, as well as setting realistic timelines to ensure a smooth transition. In future articles, we will delve deeper into these areas and provide insights and best practices for navigating the technical and procedural aspects of cloud migration.
Cloud migration is the process of moving an organization's data, applications, and other digital assets from on-premises infrastructure to a cloud computing environment. Migrating to the cloud offers many benefits, including greater flexibility, scalability, security, and cost savings. However, there are many different cloud migration strategies to choose from, each with its own unique set of benefits and challenges. When we talk about migrating a workload to the Cloud, we're referring to the process of moving an application or workload to the cloud. In this article, we'll focus on the migration strategies for the AWS Cloud. There are seven migration strategies that we call the 7 Rs, which are:
It's really important to select the right migration strategies for a large migration. You might have already selected the strategies during the mobilize phase or during the initial portfolio assessment. In this section, we'll go over each migration strategy and its common use cases. RetireRetire is the strategy we use for applications that we want to decommission or archive. This means that we can shut down the servers within that application stack. Here are some common use cases for the retire strategy:
RetainIf you've got apps that you're not quite ready to migrate or that you want to keep in your source environment, the Retain strategy is your go-to. You might decide to migrate these apps at a later time, but for now, you want to keep them right where they are. Here are some common scenarios where the Retain strategy is a good choice:
Rehost Rehosting your applications into the Cloud using this strategy is also called “lift and shift”. It means moving your application stack from your source environment to the Cloud without making any changes to the application itself. This means that you can quickly migrate your applications from on-premises or other cloud platforms to the Cloud, without worrying about compatibility or performance disruptions. With rehosting, you can migrate a large number of machines, including physical, virtual, or other cloud platforms, to the Cloud without downtime or long cutover windows. This helps minimize disruption to your business and your customers. The length of downtime depends on your cutover strategy. The rehosting strategy lets you scale your applications without making any cloud optimizations, which means you don't have to spend time or money making changes to your applications before migration. Once your applications are running in the cloud, you can optimize or re-architect them more easily and integrate them with other cloud services. With regards to AWS Cloud, you can make the migration process even smoother by automating the rehosting process using services such as:
RelocateIf you are looking to transfer a large number of servers or instances from your on-premises platform to a cloud version of the platform, then the relocate strategy could be the right choice for you. With this strategy, you can move one or more applications to a different virtual private cloud (VPC), AWS region or AWS account. For instance, you can transfer servers in bulk from VMware software-defined data centre (SSDC) to VMware Cloud on AWS, or move an Amazon Relational Database Service (Amazon RDS) DB instance to another VPC or AWS account. The relocate strategy is great because you don't have to buy new hardware, rewrite applications, or modify your existing operation. During relocation, your application will keep serving users, which means you'll experience minimal disruption and downtime. In fact, it's the quickest way to migrate and operate your workload in the cloud because it won't affect the overall architecture of your application. RepurchaseRepurchasing your application is a migration strategy that involves replacing your existing on-premises application with a different version or product. This new application should offer more business value than the existing one, such as accessibility from anywhere, no infrastructure maintenance, and pay-as-you-go pricing models. This strategy can help reduce costs associated with maintenance, infrastructure, and licensing. Here are some common use cases for the repurchase migration strategy:
Before purchasing the new application, you should assess it based on your business requirements, particularly security and compliance. After purchasing the new application, here are the next steps:
Typically, the application vendor assists with these activities for a smooth transition. ReplatformReplatforming, also known as lift, tinker, and shift or lift and reshape, is a migration strategy where you move your application to the cloud and introduce some level of optimization to operate it more efficiently, reduce costs, or take advantage of cloud capabilities. For instance, you can move a Microsoft SQL Server database to Amazon RDS for SQL Server. With the replatform strategy, you can make minimal or extensive changes to your application, depending on your business goals and your target platform. Here are some common use cases for replatforming:
The replatform strategy allows you to keep your legacy application running without compromising security and compliance. It reduces costs and improves performance by migrating to a managed or serverless service, moving virtual machines to containers, and avoiding licensing expenses. Refactor or Re-architectRefactoring or re-architecting is a cloud migration strategy that involves moving an application to the cloud and making changes to its architecture to take full advantage of cloud-native features. This is done to improve agility, performance, and scalability, and is often driven by business demands to scale, release products and features faster, and reduce costs. Here are some common use cases for the refactor migration strategy:
By refactoring your application, you can take advantage of cloud-native features to improve performance, scalability, and agility. This strategy is particularly useful when your legacy application can no longer meet your business needs or is too costly to maintain. SummaryCloud migration is a complex process that requires careful planning and consideration of various factors. As discussed in this article, there are several strategies that organizations can use to migrate their applications to the cloud, including rehost, refactor, repurchase, and retire. Each strategy has its own benefits and drawbacks, and the choice of strategy will depend on the specific needs of the organization. While the benefits of cloud migration are many, including improved scalability, agility, and cost savings, it's important to approach the process with caution and to take a strategic approach. A successful cloud migration requires a clear understanding of the business goals and requirements, as well as careful consideration of security, compliance, and data protection. Organizations that are considering a cloud migration should seek guidance from experienced cloud migration specialists and take advantage of the many tools and resources that are available to help simplify the process. With careful planning and the right strategy, cloud migration can be a powerful tool for driving innovation, improving efficiency, and delivering real value to the organization and its customers. |
AuthorTim Hardwick is a Strategy & Transformation Consultant specialising in Technology Strategy & Enterprise Architecture Archives
June 2023
Categories
All
|