Cloud migration is moving data, applications or other services to a cloud computing environment from an on-prem data center. Migrating your project means moving your data from the on-premises data center to the cloud. In this case, the cloud is the virtualization used over a data center to make the functionalities more flexible. Many companies like GoDaddy, Expedia, Netflix, startups, etc., have recently moved their business to the cloud. Migration is a big task and AWS facilitates migration in phases.
Need for Migration
Business is no easy task when handling situations like security, scaling up or down, etc. Let’s look at a few scenarios where AWS Migration could be a better resort.
- More users coming in amid high-performance
- Faster implementation and deployment needs
- Expensive to manage a growing database
- Datacenter mishap went down
We can conclude that the following are key reasons to migrate to the cloud:
- Zero capital cost on infrastructure
- Security
- Scalable (vertically and horizontally)
- Productivity
- Pay what you use
- Easy to manage services
- Reduced operational costs
If you migrate to the cloud, the abovementioned problems will be handled automatically. Let’s move further and understand what migration is.
Phases of AWS Migration
AWS Cloud Migration is a step-by-step process that consists of planning, preparation and discovery, migration and optimization. However, it is more complex as the process involves different phases. Let me now talk about the various phases of migration.
Phase 1: Migration Preparation and Business Planning
In this phase, you identify the need, objective and benefits of cloud migration. You perform a POC and verify the outcome to compare the performance and costs. There are also times when you need not move your entire business to the cloud. This is where segregation is important. You need to identify the applications which can be migrated and those which cannot. This is what the first phase is all about.
Phase 2: Assessment — Choosing Your Migration Method (Discovery and Analysis & Assessment)
The first step is to identify the assets that need to be migrated to the cloud — gather the details such as the number of servers to migrate, road map to migration, record business-critical activities, server size, memory utilization, CPU utilization, environment type and data. You can use the ‘AWS Application Discovery Service’ to check the technical details by installing it in your server. Depending on the data, AWS provides different ways to migrate your application, e.g., AWS Snowball, AWS Snowmobile, AWS Direct Connect, etc. Also, assess the cost of renting servers, storage, network and support. Prepare the checklist for regulatory and compliance assessment and perform the security assessment.
Phase 3: Proof of Concept (POC) for AWS Storage/Designing
Once you know how and what you are migrating, next, you must plan your delivery priorities and design the AWS Cloud Migration process. You will identify the dependencies (upstream and downstream components). Define the organization or account strategy for users, VPC strategy and what cloud pattern it will be (hybrid/fully cloud) and other parameters like security.
Phase 4: Migration to AWS
Now that you have all the prerequisites such as the blueprint, migration tools, a list of assignments, backups, and its synchronization with your on-premises data repositories, you can finally migrate your project/application to AWS Cloud. Once you have migrated your project to the cloud, reliability and durability are the added benefits you get. For application code/server migration use AWS Server Migration Service, for database, you can use AWS Database Migration Service and other import/export AWS services.
Phase 5: Enterprise Cloud Operations (Operate and Optimize)
At this point, you have already migrated to AWS and it will bring updates that you would need to incorporate in your existing architecture. Optimize your architecture, have your support team ready to look for the new features and cost optimization, improve the applications using serverless, use AWS monitoring and logging services and implement CloudFormation and DevOps.
Application Migration Strategies ‘The 6 Rs’
The complexity of migrating existing applications varies, depending on the architecture, Amazon came up with different strategies which they commonly termed as 6 R’s. Let’s look into each of them:
Benefits of AWS Migration
- Elasticity: Adding and removing capacity whenever it is needed is the greatest benefit of
- Disaster Recovery: With 95% guaranteed uptime, businesses can be confident knowing that their data will always be available.
- Enhanced Cost Management: The IaaS platform provides two major First, an IaaS such as Amazon Web Services is available as a monthly service. Second, it eliminates the need to continue to purchase and maintain physical hardware.
Services for AWS Migration
Out of the many tools provided by Amazon to automate data migration, I will be talking about the more commonly used ones.
AWS Migration Hub: AWS provides a single location for tracking the migration process. Migration Hub gives you the freedom to choose your migration partner and tools that fit your needs.
AWS Server Migration Service (SMS): AWS SMS is an agentless service that helps migrate loads of on-premises workload to AWS easily and faster. It allows you to automate migration and track the replication of the server. It makes coordinating with your large-scale-server migration easier.
Amazon S3 Transfer Acceleration: This makes the transfer of files over long range to the AWS S3 bucket faster and more secure.
AWS Snowball: It is a petabyte-scale data transfer solution that uses secure devices to transfer a large amount of data in and out of AWS.
AWS Snowmobile: It is an exabyte-scale data transfer solution to move an extremely large amount of data to AWS. Snowmobile makes the transfer of massive volumes of data easier.
Amazon Kinesis Firehose: It is the easiest out of all the methods. It can capture and automatically load streaming data into Amazon S3. You can analyze real-time data to get timely insights of the migration.
Now that you know everything about AWS, and AWS Migration, let me show you a use case where you will be migrating a Virtual OS from my local machine to AWS Cloud.
AWS Data Migration
Data can be moved from on-prem to AWS Datacenter using the following means:
- Amazon S3 Transfer Acceleration — for faster transfer over the internet change the endpoint you use with your S3 bucket and acceleration is automatically applied.
- AWS Snowball — a petabyte-scale data transport solution that uses secure appliances to transfer large amounts of data into and out of AWS.
- AWS Direct Connect — you establish a dedicated network connection between your network and one of the AWS Direct Connect locations for transfer.
Demo: Implementing Migration Using the Import/ Export Method
You will be migrating an on-premises Virtual OS running on VMWare to AWS using the import/export (AWS Direct Connect) method.
Pre-requisite
- VMware Workstation installed on your Local Machine
- Running AWS Account
- Created IAM User On AWS
- AWS CLI Configured On Your Local Machine
- Created S3 Bucket on AWS
Create a .vmdk export file for Ubuntu 14.04.
- Download and configure AWS
- Create an IAM
IAM – User —Add User —AccessType (Programmatic Access) —Attach Admin Access Policy —Create User.
- Create an S3 bucket and add a file (image file of the OS).
- You can upload the file using AWS CLI aws s3 cp “source path” <s3 bucket>
- Once the file is uploaded, create an AMI for the imported image
Aws ec2 import-image –description “AWS Linux” –disk-containers file://containers.json
- Now your AMI is available, and you can see it under AMI in EC2 and run it as and when
Thus, we have successfully migrated a virtual OS on AWS.
By now you should have a fair idea about the AWS Cloud Migration strategy and the process, tools and transfer mechanisms available.