What is workload/server Migration into Cloud?
In the recent past, most of companies started spending more money into server/workload migration.
From a technical stand point, moving their servers/application/program from one Infrastructure
environment to another Infrastructure environment.
These migration varies based on the customer requirements.
* from On-premises datacenter to Public clouds (AWS/Azure/GCP)
* from one cloud service provider to another (AWS to Azure; Azure to AWS)
* Cloud to On-premises Datacenters (in case of any Regulation Acts in the region of data located)
Why Cloud Migration?
* In Traditional DC environment, we should wait for long time for any hardware installation, Disk
attachment, Network extension. Due to these various reasons Project timeline get impacted.
* Maintenance of the hardware devices will be a big challenge in On-premises DCs,
* In Cloud based Infrastructure, companies will not own any base hardware, Networking & Storage,
all these will be managed by the Cloud service Providers (Azure/AWS/GCP).
In Cloud, All these underlying components (Compute/Storage/Networking) will be already available
for our purpose, we should understand customer's environment and prepare the landing zone
accordingly in Cloud Infrastructure.
Migration Strategies
There are 6 migration strategies will be followed by all the Architects/SMEs based on the
server/application feasibility and customer confirmation.
* Re-host (normally called as Lift & Shift)
* Replatform (servers are replaced by Cloud native services, eg: MySQL DB Server to DynamoDB in AWS, MSSQL server to MSSQL Service in Azure)
* Re-architecting/Refactoring (Breaking down the application into small blocks/modules and deploy them into Microservices - Application re-coding required)
* Retire (when we have a replacement application available for users, old app users will be migrated to the new application and retire the old app)
* Retain (Applications or servers stay back in On-premises)
* Repurchasing/replacing (Legacy application replaced by a SaaS solution)
Migration Strategies in-detail:
Re-host:
A virtual machine or physical server operating on site will be moved to the Azure Virtual Machine or
AWS EC2 or Compute instance in google cloud. If we want to harness the full potential of the cloud in terms of agility, scalability and long-term cost savings, we need to take a different approach.
Replatform:
Replatforming is used when replacing application database engines with an appropriate PaaS database solution from a cloud provider.
An application currently runs on a VM and uses a MS-SQL database running on a different VM. if we need to migrate into Azure means, we can make use Azure PaaS based MS-SQL service. The same approach can also be applied to application software (in Azure, we can use AppServices), but it must be discussed in detail with the Applications team.
Re-architecting/Refactoring:
Re-architecting (also known as Refactoring or Reconstruct) is the strategy that generally leads to the highest transformation cost. However, it allows for optimized use of the cloud, leading to native cloud benefits and making the app a proven example of the future.
In this way, the application concerned is redesigned using an alternative application architecture. Typically, this involves decoupling the application components into smaller building blocks, microservices and packing them in containers (Docker) for deployment on a container platform.
Repurchasing:
Repurchasing (also called Replacing) is the strategy where the legacy application is entirely replaced with a SaaS-solution that provides the same or similar capabilities.
A typical example of Repurchasing is replacing the outdated on-premise CRM software with a SaaS-solution like SalesForce or HubSpot. Another important example that is currently shaking up many organizations, is the migration from on-premises SAP deployments to the cloud.
Community and Social Footprints :
- Thennarasu Duraikannu
- GitHub
- YouTube Cloud DevOps Free Trainings
- Linkedin Page
- Linkedin Group
- Discord Channel
- Dev
Happy Learning ๐
Thank you!
ย