QUANTUM FIELDS
  • Home
  • Architecture
  • Data & Apps
  • Cloud
  • Network
  • Cyber

Cloud Architecture

Establishing Your Cloud Foundation on AWS

19/5/2023

0 Comments

 
Picture
​When developing a cloud adoption strategy, organizations may typically prioritize greater agility, innovation, and scalability. However, the process of making numerous decisions to create a production-ready cloud environment can be somewhat  challenging. 

​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.
Picture
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 Definitions


This section includes high-level definitions for each foundational capability organized by their category as shown in the figure below.
Picture
Figure 1: Cloud Foundations Categories

Governance, Risk Management, and Compliance


​When 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.
Picture
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:
​
  • Tagging: This capability allows you to group resources by assigning metadata to them, serving various purposes such as access control, cost reporting, and automation. Tagging also offers visibility and control by grouping resources together, like microservices, applications, or workloads.
  • Log Storage: Securely collecting and storing environment logs in tamper-resistant storage is vital. This capability enables you to evaluate, monitor, alert, and audit access and actions performed on your AWS resources and events.
  • Forensics: In the event of a potential compromise, forensics involves analyzing log data and captured images to determine if a breach occurred and identify the root cause. This information helps drive the application of preventative measures.
  • Service Onboarding: This capability enables you to review and approve AWS services for use, considering internal, compliance, and regulatory requirements. It involves risk assessment, documentation, implementation patterns, and communication regarding service consumption.
  • Data De-Identification: Anonymizing sensitive data subsets during storage and processing is crucial. This capability reduces sensitivity for specific data types (e.g., national ID numbers, trade data, healthcare information) and may involve tokenization of sensitive data (e.g., credit card numbers, physical addresses, healthcare records) to minimize the need for direct access.
  • Governance: This capability allows you to implement executive board policies that govern your AWS Cloud environment. It includes defining environment rules, identifying risks, and ensuring alignment with internal policies. As your cloud foundation evolves, elements of governance are integrated into all other capabilities to maintain compliance.
  • Audit & Assessment: Gathering and organizing documentary evidence is essential for internal or independent assessment of your cloud environment. This capability provides information about access, changes, and helps validate that all actions align with policies and follow appropriate workflows.
  • Change Management: This capability focuses on deploying planned alterations to configurable items within a defined scope, such as production and test environments. Approved changes are implemented with minimized risk, ensuring the stability of your existing IT infrastructure.

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.
Picture
​Figure 3: Operations Category

Let's explore the capabilities within the Operations category that can revolutionize the way you manage your cloud environment:
​
  • Rollout/Rollback: This capability involves having a well-defined strategy for rolling out application or configuration changes to your environment. It also includes the ability to roll back these changes if any issues or failures occur. Whether it's updating permissions, implementing new policies, configuring networks, or deploying new versions of applications or software development kits, this capability ensures smooth and reliable changes to your infrastructure.
  • Logging & Monitoring: Gathering and aggregating security and operational data about your system and application activities is crucial. This capability allows for near-real-time analysis of data, enabling you to identify anomalies, indicators of compromise, performance issues, and configuration changes. With comprehensive logging and monitoring, you can proactively address any issues and ensure the smooth operation of your workloads.
  • Metadata Sorting/Searching: The ability to search and filter resources based on applied metadata within your environment is invaluable. By leveraging this capability, you can efficiently locate and manage resources, whether they are specific accounts or resources within those accounts. It simplifies resource management and enhances visibility across your cloud environment.
  • Patching: Keeping your infrastructure and workloads up to date is essential for optimal operation and security. This capability enables you to deploy sets of changes that address security vulnerabilities, apply bug fixes, and enhance the overall performance of your systems. From operating systems to applications and other relevant software systems, patching ensures that your environment remains secure and up to date.
  • Developer Experience and Tools: To empower your developers, you need to provide them with the right tools and processes for building and deploying workloads seamlessly in the cloud. This capability covers everything from storing code to building workflows and facilitating the promotion of workloads from the testing phase to the production environment. By streamlining the developer experience, you can boost productivity and foster innovation within your teams.

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.
Picture
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:
​
  • Identity Management & Access Control: This capability enables your teams to efficiently build and centrally manage access to your cloud platform environment. It allows you to structure your organization, organize your accounts, and establish access based on the principle of least privilege. With effective identity management and access control, you can ensure that only authorized entities can access your resources, enhancing security and reducing the risk of unauthorized access.
  • Data Isolation: Protecting your data is of utmost importance, and this capability enables you to limit access to data at rest and in transit. By implementing data isolation measures, you ensure that sensitive data is only accessible to authorized entities. Furthermore, this capability includes the ability to detect any misuse, unauthorized access, leaks, or theft of data, providing an additional layer of security for your valuable information.
  • Application Security: Safeguarding your application software is crucial, and this capability focuses on protecting your applications from threats such as unauthorized access, privilege escalation, and other application-level vulnerabilities. It also involves detecting and responding to anomalous behavior in the context of application interactions with clients. By prioritizing application security, you can mitigate risks and ensure the integrity and reliability of your applications.
  • Encryption and Key Management: This capability revolves around centrally managing encryption keys for different workloads and implementing encryption for data at rest and in transit. Access to keys follows the principle of least privilege, and usage is monitored to detect any anomalies. Additionally, encryption and key management provide various patterns for key rotation based on specific requirements, ensuring the ongoing security of your data.
  • Secrets Management: Managing secrets, such as passwords, access keys, and API keys, is crucial for maintaining the security of your environment. This capability encompasses storage, access control, access logging, revocation, and rotation aspects of managing secrets. By effectively managing secrets, you can prevent unauthorized access and reduce the risk of credential misuse.
  • Security Incident Response: In the event of a security incident, this capability enables you to respond effectively. It involves characterizing the nature of the incident and implementing appropriate changes, such as restoring operational status, identifying and remediating the root cause, and gathering evidence for potential legal actions. By having a well-defined incident response process, you can minimize the impact of security incidents and swiftly mitigate any potential risks.
  • Vulnerability & Threat Management: Identifying and addressing vulnerabilities is a crucial aspect of maintaining a secure environment. This capability allows you to identify vulnerabilities that can affect the availability, performance, or security of your environment. It includes assessing the impact and scope of vulnerabilities and threats, and implementing necessary measures to address and remediate them. By effectively managing vulnerabilities and threats, you can enhance the overall security posture of 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 Continuity

​When 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.
Picture
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:
​
  • Backups: This capability focuses on creating reliable copies of data in a secure and efficient manner, ensuring that data can be retrieved when needed to meet business and security goals. Backups encompass a variety of content, including orchestration framework data and configuration, application data, logs, and customer data. By implementing effective backup strategies, you can establish appropriate Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO), minimizing data loss and facilitating timely recovery.
  • Disaster Recovery: Disruptions can occur unexpectedly, and this capability addresses the need to swiftly resume transaction processing in an alternative physical environment when the original environment becomes unavailable. Disaster Recovery involves the use of automated mechanisms to seamlessly transfer and resume processing, ensuring continuity of critical operations. By implementing robust Disaster Recovery measures, you can minimize the impact of unforeseen events and maintain business operations with minimal downtime.
  • Support: In times of inefficiency or crisis, it is crucial to have reliable support available to address any issues or concerns that may arise. This capability enables you to access troubleshooting resources, submit tickets, integrate with existing ticketing systems, and escalate critical issues for timely responses. Support may involve granting appropriate access to relevant resources for troubleshooting and remediation activities. By having reliable support mechanisms in place, you can swiftly address challenges and ensure a prompt resolution, minimizing the impact on business operations.

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.

Finance

​When 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.
Picture
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:
​
  • Cloud Financial Management: This capability focuses on managing and optimizing your variable expenses associated with cloud services. With near real-time visibility and comprehensive cost and usage analysis, you gain valuable insights to support decision-making processes. From spend dashboards and optimization techniques to implementing spend limits and chargeback mechanisms, this capability enables you to proactively manage costs and detect anomalies. It also includes budgeting and forecasting features, allowing you to design a cost-optimized architecture for your workloads, select the right pricing models, and attribute costs to relevant teams. By centralizing expense information and providing targeted visibility to critical stakeholders, you can effectively track, notify, and apply cost optimization techniques across your environment and resources.
  • Resource Inventory Management: This capability provides visibility and configuration management of the cloud-based resources that form an integral part of your IT-level services or workloads. By tracking resources and associated configurations in the environment, you can establish a system of record, such as a Configuration Management Database (CMDB) for IT Service Management (ITSM)-managed environments. This system of record facilitates visibility and configuration management of all software, hardware, and firmware resources within your cloud environment. With resource inventory management, you can effectively track and manage your cloud resources, ensuring accurate accounting and streamlined operations.
  • Records Management: Records management is crucial for maintaining compliance and meeting internal policies and regulatory requirements. This capability enables you to define data retention policies, including the transition of data to archival storage before deletion. It encompasses various types of data, such as financial records, transactional data, audit logs, business records, and personally identifiable information (PII). By implementing effective records management practices, you can ensure proper data retention, meet compliance obligations, and maintain the integrity and security of sensitive information.

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.

Infrastructure

​When 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.
Picture
Figure 7: Infrastructure Category

  • Network Security: This capability focuses on designing and implementing security policies and controls across different levels of the networking stack. By leveraging network security practices, you can safeguard your resources from external and internal threats, ensuring confidentiality, availability, integrity, and usability. This capability encompasses measures such as monitoring ingress/egress and lateral data movement, detecting and blocking anomalous network traffic, and implementing preventive security measures.
  • Network Connectivity: Network connectivity is essential for building a secure and highly available cloud infrastructure. This capability provides best practices and resources to design, build, and manage a network infrastructure that ensures reliable connectivity. From automating network infrastructure provisioning and configuration to facilitating expansion and scaling, network connectivity capabilities empower you to establish a robust and resilient network foundation for your cloud environment.
  • Template Management: Template management enables you to streamline infrastructure deployment, management, and updates by creating and organizing reusable templates in a centralized repository. These templates encompass infrastructure configurations, schemas, golden images, and resources that can be readily deployed across your environment. With template management, you can expedite the provisioning process, ensure consistency, and easily manage updates and changes. These pre-approved templates follow established implementation patterns and leverage AWS services that have been onboarded and approved, providing teams with ready-to-use resources tailored to their specific requirements.
  • Workload Isolation Boundary: This capability allows you to create and manage isolated environments to contain your newly created or migrated workloads. By implementing a workload isolation boundary, you minimize the impact and blast radius of vulnerabilities and threats. This approach simplifies compliance efforts by providing mechanisms to isolate access to resources, ensuring that workloads operate within defined boundaries while maintaining the necessary security and control measures.

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.

​Summary


In 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

Cloud Migration: Strategy and Best Practices Part 3

18/5/2023

0 Comments

 
Picture
As organizations increasingly adopt cloud technologies, the process of migrating large-scale workloads to the cloud has become a critical undertaking. However, running a large migration presents unique challenges that requires meticulous planning and execution from the perspectives of people, process and technology. 

​​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 Perspective


When 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 Migration


To 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, cope, and timeline.
  • Define a clear escalation path to help remove the blockers.
  • Minimize unnecessary change.
  • Document an end-to-end process early.
  • Document standard migration patterns and artifacts.
  • Establish a single source of truth for migration metadata and status.
​
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 Migration


Once 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.

Conclusion

Large 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.​
0 Comments

Cloud Migration: Strategy and Best Practices Part 2

16/5/2023

0 Comments

 
Picture
​In the previous article on Cloud Migration Strategy and Best Practice 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 play in the success of cloud migration projects.

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 Perspective


In 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 Integration


Automate 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 Validation


Build 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.

Summary


Successful 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.
0 Comments

Cloud Migration: ​Strategy and Best Practices Part 1

16/5/2023

0 Comments

 
Picture
​Migrating to the cloud can offer numerous benefits, including improved scalability, flexibility, and cost savings. However, the migration process can be complex and challenging, especially for organizations that are new to cloud computing. To ensure a successful migration, it's crucial to follow best practices and avoid common pitfalls.

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 Migrations


Migrating 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
  • Technology
  • Processes
​

People Perspective


This section focuses on the following key areas of the people perspective:
​
  • Executive support: Identifying a single-threaded leader who’s empowered to make decisions
  • Team collaboration and ownership: Collaborating among various teams
  • Training: Proactively training teams on the various tooling

Executive support


Identify 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 Ownership


Create 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.
 

Training


Train 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.

Summary


Large-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.​​​
0 Comments

Navigating Cloud Migration: Choosing the Right Strategy

3/5/2023

0 Comments

 
Picture
​Organizations are increasingly moving to the cloud due to a variety of factors, including the need for greater agility, scalability, cost-efficiency, and improved security. Cloud providers offer businesses access to a wide range of services and resources that can be quickly provisioned and scaled to meet changing business needs. 

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:

  • Retire
  • Retain
  • Rehost
  • Relocate
  • Repurchase
  • Replatform
  • Refactor or re-architect
 
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.

Retire


​Retire 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:
​
  • There's no business value in retaining the application or moving it to the cloud.
  • We want to eliminate the cost of maintaining and hosting the application.
  • We want to reduce the security risks of operating an application that uses an operating system (OS) version or components that are no longer supported.
  • We might want to retire applications based on their performance, such as those that have an average CPU and memory usage below 5 percent, which we call zombie applications. We might also retire some applications that have an average CPU and memory usage between 5 and 20 percent over a period of 90 days, known as idle applications. To identify zombie and idle applications, we can use the utilization and performance data from our discovery tool.
  • Finally, if there has been no inbound connection to the application for the last 90 days, we might consider retiring it.

Retain


If 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:
​
  • Security and compliance: If you need to comply with data residency requirements, you might want to keep certain apps in your source environment.
  • High risk: If an app is particularly complex or has a lot of dependencies, you might want to keep it in your source environment until you can make a detailed migration plan.
  • Dependencies: If an app depends on other apps that need to be migrated first, you might want to retain it until those other apps are in the cloud.
  • Recently upgraded: If you just invested in upgrading your current system, you might want to wait until the next technical refresh to migrate the app.
  • No business value to migrate: For apps with only a few internal users, it might not make sense to migrate them to the cloud.
  • Plans to migrate to software as a service (SaaS): If you're planning to move to a vendor-based SaaS solution, you might want to keep an app in your source environment until the SaaS version is available.
  • Unresolved physical dependencies: If an app is dependent on specialized hardware that doesn't have a cloud equivalent, such as machines in a manufacturing plant, you might want to retain it.
  • Mainframe or mid-range apps and non-x86 Unix apps: These apps require careful assessment and planning before migrating to the cloud. Examples include IBM AS/400 and Oracle Solaris.
  • Performance: If you want to keep zombie or idle apps in your source environment based on their performance, 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:

  • AWS Application Migration Service
  • AWS Cloud Migration Factory Solution​

Relocate


If 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.

​Repurchase


Repurchasing 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:
  • Moving from traditional licenses to Software-as-a-Service (SaaS) to remove the burden of managing and maintaining infrastructure and reduce licensing issues.
  • Upgrading to the latest version or third-party equivalent of your existing on-premises application to leverage new features, integrate with cloud services, and scale the application more easily.
  • Replacing a custom application by repurchasing a vendor-based SaaS or cloud-based application to avoid recoding and re-architecting the custom application.

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:
​
  • Training your team and users on the new system
  • Migrating your data to the newly purchased application
  • Integrating the application into your authentication services, such as Microsoft Active Directory, to centralize authentication
  • Configuring networking to help secure communication between the purchased application, your users, and your infrastructure

Typically, the application vendor assists with these activities for a smooth transition. 

Replatform


Replatforming, 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:
​
  • If you want to save time and reduce costs, you can move to a fully managed or serverless service in the AWS Cloud.
  • To improve your security and compliance posture, you can upgrade your operating system to the latest version using the End-of-Support Migration Program (EMP) for Windows Server. This program lets you migrate your legacy Windows Server applications to the latest supported versions of Windows Server on AWS, without any code changes.
  • You can also reduce costs by using AWS Graviton Processors, custom-built processors developed by AWS.
  • If you want to cut costs by moving from a Microsoft Windows operating system to a Linux operating system, you can port your .NET Framework applications to .NET Core, which can run on a Linux operating system. You can use the Porting Assistant for .NET analysis tool to help you with this.
  • You can also improve performance by migrating virtual machines to containers, without making any code changes. By using the AWS App2Container migration tool, you can modernize your .NET and Java applications into containerized applications.

​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-architect


Refactoring 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:
​
  • Your legacy mainframe application can no longer meet the demands of the business due to its limitations or is too expensive to maintain.
  • You have a monolithic application that is slowing down product delivery and cannot keep up with customer needs and demands.
  • You have a legacy application that nobody knows how to maintain, or the source code is not available.
  • The application is difficult to test, or test coverage is low, which affects the quality and delivery of new features and fixes. Redesigning the application for the cloud can help increase test coverage and integrate automated testing tools.
  • For security and compliance reasons, you might need to move a database to the cloud, but need to extract some tables (such as customer information, patient, or patient diagnosis tables) and keep those tables on premises. In this scenario, you will need to refactor your database to separate the tables that will be migrated from those that will be kept on premises.

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. 

Summary


Cloud 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.
0 Comments

    Author

    ​Tim Hardwick is a Strategy & Transformation Consultant specialising in Technology Strategy & Enterprise Architecture

    Archives

    June 2023
    May 2023
    April 2023
    March 2023

    Categories

    All
    Cloud Adoption Framework
    Cloud Migration
    Cloud Operating Model
    Hyperscalers
    Quantum Computing
    Webscalers
    Well Architected Framework

    View my profile on LinkedIn
Site powered by Weebly. Managed by iPage
  • Home
  • Architecture
  • Data & Apps
  • Cloud
  • Network
  • Cyber