Top 10 things to consider before Cloud Migration – Cloud Migration Strategy
Introduction: On-Prem to Cloud Migration
Migration to the cloud is a top-notch buzz currently in the market all over the world but many of the organization out there in the market are not aware of things needs to consider before actually planning a migration. Cloud migration requires quite a lot of preparation and knowledge of cloud platform services. Migration can be on either a public cloud or a private cloud. Some organizations go for hybrid cloud as well. Migrating on the public cloud can be useful for disaster recovery purposes taking advantage of cloud global infrastructure.
There are multiple public cloud service providers out there in the market, AWS is the leader among all because of vast services in its portfolio. Each cloud provider has global infrastructure which has spread in most of the world’s region. We will discuss the AWS cloud migration strategy. So leverage these strategies in your migration process.
What is the Need for Cloud Migration?
By migrating some or all of their digital assets to the cloud, businesses can achieve transformational results. They can move and innovate faster, modernize aging infrastructure, scale globally, get better insights from their data, and restructure organizational models to create better customer experiences. Companies migrate their workload to the cloud to achieve the following benefits.
- Cost reduction
- Agility & staff productivity
- Scalability
- Improved security & operational resilience
- Hardware/software end-of-life
- Datacenter consolidation
- Digital transformation of legacy application
- Going global very quickly
- Getting advantage of cloud-native technologies
I will take you through 10 things that every organization should consider before going for Cloud Migration on AWS
Choose your Cloud Model
One of the first things to consider when migrating to the cloud is whether you will go private, public, or hybrid.
Private cloud, you will need to have a dedicated infrastructure which can be located either on-premises or you can get it managed by a third-party provider. With a private cloud, you can deploy applications on dedicated hardware in your private network. Building a private cloud is not easy, you need to have a team of experts in infrastructure, networking, and storage domain.
Public cloud: As mentioned above, you can choose any public cloud available in the market. The public cloud provider offers different services such as IaaS (Infra as a service), PaaS (platform as a service),
SaaS (software as a service), DaaS (Database as a service), etc. You just use service and deploy your application in a public cloud.
A hybrid cloud combines both your private cloud with a public cloud. A hybrid cloud is useful in the case where one of your application cannot be migrated to the public cloud because of some compliance region or regulatory requirements. For example, in Europe because of GDPR some application needs to stay on-premises.
Choose the right migration strategy for each Application
There are 6 migration strategies need to consider for migration
Re-host:
Lift and shift your applications to the cloud. This is the quickest and easiest way to migrate your applications and databases to the cloud. For example, you deploy your on-premises web application on EC2 without any changes in architecture or any other component.
Re-platform:
Re-Platforming your application means using cloud managed services for any of the components from your application architecture to get the benefit of managed services. For example, if you are having an oracle database on your on-premises server, you can migrate it to use AWS RDS managed server for oracle. So by using AWS RDS you would get the benefit of managed services such as pathing database, Backup and restore, automated failover, etc.
Refactor:
Also referred to as Re-architecture is to re-architect your application on the cloud. This approach takes some significant time but provides cost-benefit along with cloud-native services. For example, you can architect your application to containerize run on AWS ECS or AWS EKS platform or you can refactor your NoSQL database into AWS fast, scalable, available NoSQL Dynamo DB service.
Repurchase:
Migrating your application to different products by purchasing SaaS from the AWS marketplace or other vendors. For example, migrate your customer CRM application to salesforce CRM or Microsoft dynamic CRM. Another example could be building a BI tool with Microsoft BI.
Retain:
Retaining means not migrating your application to the cloud because of non-compatibility on cloud or application is not important for your business. Retire: Retiring is application means that application is not generating revenue for your organization and you would not want to have it part of IT systems.
Choosing the right software for migration
Getting the knowledge of required software that can be helpful in migration is something must know when thinking about migration. There are various software and tools available in the market but choosing the right one which fits the need for your application is not easy. Engage AWS consultant in your conversation so he can help you to identify the right software. For example, for migrating VM from on-premises to AWS, AWS provides the below tools.
- AWS VM Import/Export
- Server migration service
- Cloud Endure
So you can use one of the tools listed above or any third-party tool for VM migration on AWS.
Having cloud knowledge with the teams within the organization
Migrating to the cloud means introducing a completely new environment for your company. Resource in your organization needs to upskill themselves to adopt a cloud environment. Train them with onboarding cloud experts or trainers from the market. Ask them to get certified and attend hands-on training provided by AWS at free of cost. You need people at least with the following roles in your organization for cloud migration.
- AWS solution architect
- AWS engineer
- AWS security specialist
- AWS network engineer
Choosing the right region in AWS
Choosing an AWS region is the first thing you have to make when you set up your AWS components.
AWS has region spread all over the world, each region differs in pricing, number of AZs, services available for that region. AWS has more than 20 regions worldwide and AWS is keeping adding region every year. In general N. Virginia is typically the cheapest region for all of the services. Some of the services are not available in certain regions. For example, the AWS control tower is not available in the Singapore region.
Choose the nearby region from your on-premises location which meets both cost and performance requirements. If your application needs to be distributed globally then use AWS global services like AWS CloudFront and AWS Global Accelerators to distribute your workload globally in each region.
Evaluate the cost of the cloud environment
Many companies choose a cloud for its cost-efficiency. The cloud indeed offers services at lower costs, there are various things you should consider. This especially becomes an important aspect during the transition period where you will be paying for resources on both your on-premises data center and the cloud. Calculate the cost of all the resources that you plan to provision in the cloud, and make sure you understand the pricing model of each service. Use AWS simple monthly calculator to calculate the price for services you are going to use and maybe then better to do an apple to apple comparison with the cost of your current on-premises resources. Having a comparison in place can help to save some costs on the cloud.
Get rid of license-based software
When you are migrating the applications from on-prem to Cloud and if there is any license based component is used in the application then evaluate the possibility to replace the licensing software component with any latest open source technology. In today’s modern technologies world various open-source tools and technologies are available, take benefit of them to save licensing cost as well as to improve performance. Let me explain to you this through one example, We were migrating ETL based applications that involved third-party tools to do sorting, merging of the input data coming from another application, and then storing the data to the database. We have easily replaced the tool with the Apache Spark framework combined with python (PySpark). We created DataFrame inside the PySpark program file and then applied it to sort and merging on input data before loading the data to the database. By doing this we saved thousands of dollars for our customers that they were paying to a vendor for a license as well for the support of the tool as when required. We have chosen PySpark as it is fast and provides greater flexibility in the future to work with any kind of database and data warehouse. However, other solutions are also available to do sorting and merging. So try to remove the dependencies of license-based software with open source options.
Network connectivity
One of the most important but most overlooked aspects of cloud migration is internet bandwidth requirements. If your IT infrastructure will be moved to the cloud then you will become entirely dependent on your cloud service provider. That means the reliability of the cloud service provider is very important for you. AWS provides a portfolio of data transfer services for migrating your web-based applications and data of your databases. AWS has offerings that can address your hybrid cloud storage, online and offline data transfer requirements.
For the hybrid cloud, AWS provides AWS storage gateway and direct connect to connect your on-prem data center to AWS. AWS VPN can also be used to connect to your AWS cloud resources from an on-prem data center.
For online data transfer, AWS provides various services like AWS DataSync, AWS Database migration service, AWS Transfer family, etc.
For offline data transfer, AWS provides snow family services. Snow is a device that comes in many options to support your verity of use cases.
So you have multiple options to choose based on your requirements. Plan accordingly in advance to avoid further risk in migration.
Disaster recovery
Before migrating to the cloud platform, having a ready DR plan is an important aspect to consider in the event of failure of components in the region your applications are running. Again choose the DR region wisely to consider cost, performance, and distance from your current region. AWS provides a vast variety of services to replicate data from one region to another region but data replication incurs a cost to you so replicate only the utmost important data which is not reproducible at all. For example, application logs and database logs might not be that important to replicate in most of the cases.
In case of automatic failover to a different region for your internet-facing application, you can choose one of the following DR strategies.
- Backup and restore
- Pilot light
- Warm standby
- Multisite
It is important to understand your requirements along with what each scenario listed above can provide for you. Your needs are also closely related to your RTO and RPO, as those determine which options have to consider for your use case. These DR plans can be very on various factors such as cost, RPO and RTO, region choice, etc. Backup and restore is the cheapest one while multisite is an expensive one. So make sure when creating a plan for DR, you have considered everything before making the choice.
Security
Security is given the top priority in the cloud. Securing your resources such as applications, data is necessary to prevent any attack and data leak. Having the right security in right place is the key. A wide range of security options needs to be applied to the applications running and services being used. Always protect data both in transit and at rest. AWS offers various security services such as KMS (key management service) to manage encryption keys, ACM (AWS certificate manager) to get your SSL certificate for internet-facing applications, WAF (web application firewall) to protect resources in AWS from any malicious attack, AWS Guard Duty to check for any malicious activity in your incoming traffic, etc. there are many third-party solutions are also available in the market place to consider for different requirements. To assess your security need in advance and prepare a security posture plan to protect your resources.
Final Thoughts – Cloud Migration Strategy
I hope this article would have provided you enough understanding of cloud migration strategies and things to ponder on before starting actual migration. By following the above strategies you can make the migration process a bit smoother and efficient. By planning everything and using the right services/tools you can save some money in the cloud migration journey. If you have any questions please leave your comments we will be happy to help you.