Introduction To Cloud Migration Using Amazon Web Services
January 14th, 2019
AWS Training Architect II in Content
In the Course ‘Introduction to Cloud Migration with Amazon Web Services’, we will take a lot at various techniques to perform cloud migrations. When doing cloud migrations, there are two main migrations that we can perform: virtual machine migration and database migration. This course will have a general section of cloud migration and then more specific sections on database migration and virtual machine migration. The idea of the course is to allow the student to follow along in their own AWS environment if they choose to do so. And the course material will be presented using the premise that the student is working for a company and has been given the task of performing a pilot project on cloud migration. By performing smaller scale virtual machine and database migrations during the pilot project, the student will have learned about the challenges of performing cloud migrations and can give their company recommendations and guidance on moving forward with a larger scale migration. In the first section of the course, Cloud Migration Overview, we will address general techniques that are best practices for migrating to the cloud as well as specific features of the AWS platform that will support migrating databases and virtual machines to the cloud. We will begin with the importance of establishing a solid performance baseline before migration as well as the importance of documenting your candidate system. We will also look at planning a good time frame for your migration and some of the factors that you need to consider when scheduling your migration window. In addition, we will look at some post-migration steps that are necessary to ensure that your system is operating correctly after the migration has taken place. These include running the necessary smoke test, contacting the right personnel and preparing to establish a new baseline once the system has gone into full production. In the next section of the class, we will look at database migration and some of the issues that are involved when migrating an on-premise database to the cloud. We will also look at the two major types of migrations homogeneous and heterogeneous and some of the issues that are unique to both of these types of migrations. In addition to the mechanics of performing the migration, we will look at some of the performance considerations when migrating an on-premise database system to the cloud. To conclude the section, we will migrate a database using both homogeneous and heterogeneous techniques. Next, we will take an in-depth look at virtual machine migrations. We will look at the various techniques that can be used to perform virtual machine migrations and detail the different hypervisors from which virtual machines can originate. We will look at the various operating systems that can be migrated and go in-depth on the file formats used to migrate virtual machines. Finally, we will walk through the process of migrating a virtual machine from the AWS command line interface using AWS VM Import/Export. After performing an import, we can then export this same virtual machine back out of the AWS cloud environment. The benefits of this are in the area of Disaster Recovery. The section will conclude discussing and walking through various ways that migrating to the cloud can be used to greatly assist Disaster Recovery efforts. This is an introductory course, and while the intent is not to provide an in-depth example on every possible cloud migration technique, it will provide a solid foundation in cloud migration and the skills to move forward with more complex cloud migration efforts.
Download the Interactive Guide here: https://interactive.linuxacademy.com/diagrams/IntroductionToMigratingCloudwithAWS.html
Cloud Migration Overview
About the Course
This lesson gives an overview of the course. Using the interactive diagram, the student is walked through each section of the course and given a brief overview of the topics in each section of the course.
About the Author
This video provides an introduction to the Training Architect who created this course.
Using the Interactive Diagram
This lesson introduces the interactive diagram for the course. The diagram will be used by the course author while presenting each lesson in the course. But additionally, the student will have access to the ineractive diagram via url presented in the course materials. During the lesson, the student will be shown the various ways to navigate through the interactive diagram.
Other Course Features
This lesson will detail all of the tools and features available to the student in the course. This includes the scheduling feature of the course where the student can set a schedule to progress through the course at their own pace. The schedule offers the ability to receive email reminders to help the student maintain discipline as they progress through the course. Other features of the course include the downloads section which will hold any important course materials such as templates, and the url for the interactive diagram. The community section of the course will allow the student to interact with instructors and other students as well as join study groups.
Cloud Migration Overview
Our Sample Company
This lessona will give an overview of our fictitious company and its compute envrionment. Our assignment will be to complete a pilot project for our company which will entail migrating virtual machines and a database to the cloud. This pilot project will prepare our company for a much larger scale migration moving forward.
Why Migrate to the Cloud
This lesson asks the question "Why Migrate to the Cloud" and goes about providing those answers. There are many advantages to migrating to the cloud and it is important to understand the advantage of moving your data center to the cloud. It is equally important to understand when not to move to the cloud. This lesson will provide those answers and further prepare the student for cloud migration.
Cloud Computing Use Cases
This lesson will detail the use cases where you would want to migrate to the cloud. An understanding of when to migrate will help you properly prepare for your migration. But what are the use cases where it may not be ideal to migrate to the cloud? This lesson will provide those answers as well. Certainly for the pilot project in this course, it is important to understand the use cases and select migration opportunities that will place you in the best position for success.
Cloud Migration Process
When migrating to the cloud, it is best practice to have a step by step process for preparation, execution, and verification of your cloud migration. This lesson will outline that step by step process. The lesson will also taker a deeper dive into each lesson to give the student of thorough understanding of the cloud migration process.
Database Migration Overview
This lesson provides a general overview on preparing for and performing database migrations. The lesson presents the types of migrations that can be performed, homogeneous and heterogeneous migrations. A homogeneous migration is a migration to the same database engine (example: SQL Server to SQL Server). This migration can be from an on-premises SQL Server database to an RDS SQL Server database, or even between two RDS SQL Server databases. And the lesson also outlines heterogenoues migrations which is a migration to a different database engine (example: SQL Server to AWS Aurora).
Database Migration Planning
This lesson builds off of the previous lesson, Database Migration Overview. The student will be exposed to a more in-depth investigation into what types of migration would be a good choice for Wayne Insustries to undertake as part of their pilot program. Once a specific migration is chosen, it is time to investigate the tools that can be used for Database Migration. And those tools are numerous. For a Homogeneous Migration, it is often sufficicent to use the native tools of the database engine to perform the migration. But AWS also provides the Database Migration Service to help with migrations and utlimately this tool will be chosen for the pilot project.
Database Migration Checklist
A great deal of upfront planning needs to go into a database migration. A very good end product for database migration planning could be a Database Migration Planning Checklist. And for the Wayne Industries Pilot Project, it was decided that a Database Migration Checklist would be provided to management as a deliverable for this project. The Checklist should ask all of the questions that need to be asked in preparing for a database migration. And before the database migration starts, those questions need to be answered and reviewed amonst the project team.
Database Migration Prep Part 1
This lesson in the 'Introduction to Cloud Migration with AWS' introduces the student to AWS Database Migration Service. The student will be introduced to the use case for Database Migration services as well as the various types of migrations that can be performed. This includes the types of databases that can be migrated in addition to where these database can be migrated from and to where they can be migrated. Also, the student will get a look at Database Migration Service in the AWS Management Console.
Database Migration Prep Part 2
This lesson continues to look at the AWS Database Migration Service. The interactive diagram for the course is used to provide detail on each of the steps in a database migration. Details such as the types of source database which can be migrated and the type of destination databases which can be used. The student will also look at the interface in the AWS Management Console for database migration and given details on configuring the migration.
SQL Server Configuration
This section of the course introduces the student to performing database migrations to the cloud. And realistically, the dominant commercial databases of the last few decades have been Oracle and Microsoft SQL Service. When preparing for migrating databases to the cloud there is a very good chance that the student will be faced with migrating either an Oracle or SQL Server database or both. So with that background, the student will configure an RDS SQL Server database. This database will be used throughout the section as the source database in the migrations that will be performed. This will provide an introduction to SQL Server (if needed) and provide a good platform for understanding the migration process.
Homogeneous Migration Using AWS Database Migration Service Part 1
This lesson introduces the student to a Homogeneous database migration. There are two types of migration that can be performed: Homogeneous (migrating to the same database engine) and Heterogeneous (migrating to a different database engine). In this case, the homogeneous migration will be from SQL Server to SQL Server. The student will be given a brief overview of Homogeneous migrations and then will start working in the Database Migration Service console to set up a Homogeneous Migration. The lesson will end with the configuration an EC2 instance called the Replication Instance which will act as the controller of the migration.
Homogeneous Migration Using AWS Database Migration Service Part 2
In this lesson, the student will complete the configuration and setup of a database migration and then perform the migration. This includes configuring the source and target end points and then performing a connectivity test on the end points. After verifying that there is proper ingress and egress to and from the end points the database migration can proceed. The next step is to set up a task and once the task has been created the migration will proceed. After completion of the migration, the student can view the contents of the target database with a database management app and verify the target tables and data.
Troubleshooting and Cleanup
This lesson discusses some of the key areas in troubleshooting the database migration. When setting up the source and target endpoints, the connectivity from the replication instance to the end points is tested. If the test fails, the troubleshooting steps are covered to insure that the migration will complete successfully. Additionally, it is very important to stop and or delete the database instances when not in use. Stopping the instance if there are any delays or pauses before running the migration, and deleting the instances when the migration is complete. This will ensure that unecessary charges are not accrued during the migration project.
Schema Conversion Using AWS Schema Conversion Tool
This lesson discusses the primary step in preparing for a Heterogenous migration, the schema conversion. In a Heterogeneous migration when migrating from one database engine to a different database engine it is necessary to convert the schema to the new engine type. The AWS Schema Conversion Tool can be used to perform this conversion. This lesson introduces the AWS Schema Conversion Tool and walks the student through setting up and performing the schema conversion. Once the schema is converted, the act of migrating the source database to the target database is the same as for a Homogeneous migration.
Heterogeneous Migration Using AWS Database Migration Service
The final piece to the Pilot Project is a heterogeneous migration. For our heterogenoues migration, we have chosen to migrate an RDS SQL Server database to an AWS Aurora database. The Aurora database is MySQL compatible. The previous lesson provided an overview and then a walkthrough on using the AWS Schema Conversion Tool. Once the schema is converted from SQL Server to Aurora, the database migration can begin. And the process for performing a heterogeneous migration using AWS Database Migration Service is then the same as for a homogeneous migration. Once the database has been migrated, the migration can be verified by running a few queries on the target database.
Virtual Machine Migration
Virtual Machine Migration Strategies
This lesson provides the student with an overview of migrating vitual machines into the AWS Cloud environment. The lesson covers the basic concepts of VM migration as well as the different types of methods to perform migrations. With these different methods, AWS provides several different services for performing migrations. The goal of the lesson is to present the methods and services available when considering moving your VM resources to the AWS cloud envrionment.
Virtual Machine Migration Services
This lesson dives deeper into the services provided by AWS to perform migrations. Three main services are discussed: AWS VM Import/Export, AWS Server Migration Service, and AWS Database Migration Service. These are the most likely services that would be used when performing migrations. But AWS offers several services to perform migrations. And an overview of each of these services is provided, such as: AWS Migration Hub, AWS Snowball and Snowmobile, AWS Direct Connect, and AWS Kinesis Firehose. Each of these services are ideal, given certain use cases, in helping to perform migrations.
Virtual Machine Migration File Formats
This lesson focuses on the file formats used for machine images when migrating virtual machines. There are various types of hypervisors such as VMware, Hyper-V, and XenServer. And each of these hypervisors creates machine images in file formats such as VMDK, OVA, and OVF. It is important to understand which file formats correspond to which hypervisor. But it is also important to understand each of these file formats and their charateristics. It is possible that the student has never dealt with these file formats and this lesson will provide an understanding for working with these file formats.
Virtual Machine Import Part 1
The premise in this course is that the student is working for a Tech company and has been placed in charge of a Pilot Project to learn more about cloud migration and to determine if a larger scale migration should be undertaken. It has been decided that as part of the pilot project, a virtual machine will be imported into the company AWS Cloud environment using AWS Import/Export. The operating systems which can be imported as well as the file formats for import are detailed in this lesson. Additionally, an S3 bucket is configured which is needed by VM Import/Export to hold the disk image file.
Virtual Machine Import Part 2
In this lesson the student will perform specific steps to prepare for the virtual machine migration. These steps include the creation of an EC2 instance in the AWS Management Console. After creating the instance, the student will ssh into the instance and begin working from the command line interface. The primary goal is to create an IAM role which gives the necessary permissions to perform the import. This process includes the creation of two policies also from the CLI and the attachement of a policy to the IAM role.
Virtual Machine Import Part 3
In part 3 of the VM Import, the student will create a json file named containers.json. This file simply specifies the name and location of the S3 bucket as well as the name of the image file for the virtual machine being import. Once this file has been created and the IAM role and permissions are in place, the import can be run from the command line. The import takes a while to run and can be monitored using a CLI command to view the status of the import job. Once the import is complete, the student will go into the AWS Management Console and create an EC2 instance from the Amazon Machine Image imported into AWS. After the instance is laucnhed it is simply a matter of browsing to the web server (using the DNS name) to verify proper functioning.
VM Migration For Disaster Recovery
The ability to migrate virtual machines is a valuable tool in preparation for Disaster Recovery. This lesson discusses various techniques for using Virtual Machine migration to assist in Disaster Recovery. These techniques can include migrating Virtual Machines to an AWS environment before or during a disaster. Migratiing machine images to AWS and having the ability to copy these images to another region can also be a valuable technique. Additionally, the ability to export Machine Images from AWS back to an on-premises environment can be a valuable tool if an on-premises data center is lost. All of these techniques are featured in this lesson.
Taking Advantage of Cloud Based Architectures
This lesson wraps up the course and takes a look a how to extend cloud functionality after migrating to the cloud. Topics include load balancing, auto scaling, logging, enhanced monitoring, and additional information on Disaster Recovery.