Over the years, cloud architects have implemented various cloud migration scenarios based on architectural design principles and cloud migration best practices. From lift-and-shift migration to entirely re-architecting the target cloud infrastructure, organizations yield to the demands and benefits of cloud transformation by moving and running workloads in the cloud.
Application discovery and generating cloud baselines should precede the design stage of your cloud migration strategy. However, there's still significance in knowing the cloud migration scenarios applicable to you before you even start discovering the components of your source application environment and generating the cloud baselines you will be needing for the validation stage after the migration activity.
At the onset of your cloud migration journey, all stakeholders involved in the migration project should have a mutual understanding of what migration scenarios can address the defined business objectives and cloud migration KPIs. Proof of concepts (POCs) must be thoroughly discussed and reviewed by the cloud architect, application owners, infrastructure teams, and executive sponsors to determine the feasibility of the solution to be implemented.
All teams should also understand the costs associated with the migration project for the sizing of the estimated storage, computing, and network resources required. Following the sizing efforts comes the determination of the initial scope of the migration project which will then serve as your initial architectural mapping for the design stage.
To properly assess your environment and what migration scenario would best fit your business objectives, it may be good to involve a credible and certified third-party subject matter expert.
Cloud providers, particularly AWS and Azure, introduced the well-architected framework to help cloud architects build a secure, high-performing, resilient, and efficient infrastructure for a variety of applications. By putting the focus on the 6 pillars of a good cloud design—Operational Excellence, Performance Efficiency, Cost Optimization, Security, Reliability, and Sustainability—you must be able to build stable and efficient systems in the cloud.
Designing for Operational Excellence
Operational excellence accounts for the efficiency of your environment. Whether you need to refine your operational procedures, make small and frequent improvements, or implement automation initiatives, you need to design your target environment in such a way that it allows changes with the anticipation of failure.
Especially nowadays, the IT industry has reached a consensus that being agile is the only way forward. Product development is constantly changing to address user feedback and improve user experience. Designing architecture is also dynamic rather than static. “Fail fast, learn fast,” they say.
Designing for Performance Efficiency
Efficiency also accounts for the effective design considerations of technologies to implement. You can leverage cloud accelerators to enhance the performance of your workloads.
Performance efficiency also tackles the use of technology as a service. For instance, rather than asking your team to learn how to migrate workloads, leverage available solutions as a service instead or find a technical expert to help you migrate your workloads in the cloud.
It's critical to do a thorough sizing exercise for your SAP applications in terms of computing, storage, and network.
Determine the T-shirt size of SAP systems by SAP Quick Sizer
- Utilize IT-Conductor APM baselines of discovered system configuration and performance KPIs
It is critical to ensure that the storage configuration is built to fulfill the SAP database's IOPS and throughput requirements, in addition to selecting a suitable database virtual machine based on the SAPS and memory requirements.
Designing for Cost Optimization
Simply deciding to migrate to the cloud guarantees cost savings versus maintaining an infrastructure on-premises. You can achieve faster ROI by further optimizing costs. You can do this by adopting a consumption model where you only pay for the computing resources you consume and scale up/down as needed.
Cost optimization also contributes to the overall efficiency of an application or a system. As you try to further lower operational costs by making leaner processes prior to migration, for example, you also optimized the performance of your workloads as you migrate them to the cloud.
Designing for Security
Designing a secure cloud infrastructure means having to consider security risks and control objectives, protect your data assets, and keep up to date with security threats and recommendations. Security should also encompass the workload lifecycle from the design stage, up to its target state in the cloud.
Learn more about how to secure your cloud environment.
Designing for Reliability
The reliability of a system greatly depends on its capability to automatically recover from failure. Therefore, designing your target cloud infrastructure with reliability in mind means having automated recovery processes in place, enabling alert notifications, and proactively remediating known issues before system failures even occur.
Designing for reliability also encompasses how your systems would scale in the event that the demand suddenly increases or decreases. We recommend scaling horizontally where the distribution of workloads spans across multiple resources, allowing you to reduce, if not totally eliminate, the impact of a single point of failure. It is recommended that you decouple system components to make issue isolation and troubleshooting easier to perform.
Designing for Sustainability
Speaking of impact, we know for a fact that technology has a long-term environmental and economic effect on our society today. Designing for sustainability should, therefore, be at the top of your mind as you transform your business and leverage cloud computing technologies.
From a technical standpoint, making your environment sustainable means properly sizing your resources and removing unused resources as they consume energy even in an idle state. Also, maximize utilization of each resource. For instance, two hosts running at 40% utilization are less efficient than one host running at 80% because of the overhead energy consumed per host.
If it turns out that your estimate wasn't accurate, switching to a different virtual machine size in Cloud (Azure/AWS) is significantly easier and faster than migrating to a different virtual machine size on-premises. On-premises database adjustments are more complex because you may need to purchase servers with greater CPU and RAM.
Homogenous versus Heterogeneous Migration
Homogenous database migration involves moving data from a source DB to a target DB of the same kind. Heterogenous database migration, on the other hand, involves moving data from a source DB to a target DB of a different kind or different database management system (DBMS).
Migrating homogenous and heterogenous databases follows the same design principles. Right-sizing, optimizing cost, and workload efficiencies provide the foundation of a good architectural design. The target cloud infrastructure, regardless of the nature of its source, should be able to contain the same datasets and support the workload performance of its previous state, even better.
To learn more about the automated database migration we've implemented so far, you can check the following:
Design the Migration Plan
Taking into consideration the best practices above, build the migration plan with major efforts under these Migration Phases:
Pre-migration Phase (Source System)
Basis Config extracts at ABAP, OS & DB Layers
Pre-Migration Checks & selective execution steps
Infrastructure, Application & Database Build
Leverage DevOps tools such as Ansible and Terraform for Automated Infra & vanilla SAP Installations (based on applicable migration approach)
Based on the targeted strategy for each system, plan and test the data movement for databases and non-database files using:
- Backup / Restore
- Export / Import / Copy
Post-migration Phase (Target System)
Post-Migration Basis Config Export
Post-Migration Basis Config Validation & Update
Post-Migration Checks report between Source & Target
Performance checklist for key baseline workload
- Compliance-related tasks to ensure security and corporate standard compliance are applied.
Migration Scenarios in a Nutshell
Regardless of what approach you use in migrating to the cloud, these three scenarios would define the complexity of the migration deployment implementation.
|Migration Scenarios||How migration would be handled in the Design stage?|
We’re now on our third installment for the 5D's of IT-Conductor's Cloud Migration Strategy! In the next parts of this series, we will go over the remaining stages, particularly the Develop and Deploy.
In case you missed our previous posts, you may give the following a quick read: