An Overview of Migration Services Offered By AWS
An Overview of Migration Services Offered By AWS
Moving your data and applications to the cloud ain't easy, but Amazon has a number of services that can take some of the load off.
Join the DZone community and get the full member experience.Join For Free
Learn how to migrate and modernize stateless applications and run them in a Kubernetes cluster.
Amazon Web Services is one of the leading IaaS services providers. It offers cloud computing services that are highly available, scalable, and cost-effective. Enterprises of any size can start using AWS and pay for only what they use. AWS is the ideal choice for small-scale enterprises and startups. Any enterprise planning to use AWS has to go through different stages of migration in order to start providing services on top of AWS.
Earlier we explained here some of the important factors that you must consider before migrating to the cloud and in this blog, we are going to provide an overview of all the migration services offered by AWS.
AWS Application Discovery Service
AWS Application Discovery Service helps in the planning phase of the migration to the AWS Cloud. It collects usage and configuration data about your on-premises servers. It helps systems integrators quickly and reliably plan application migration projects by automatically identifying applications running in on-premises data centers, their associated dependencies, and their performance profile. It provides very simplified migration tracking with the help of its integration with AWS Migration Hub.
After the discovery phase, you can view the discovered servers and group them together and track the migration status of each application from the Migration Hub console. The discovered data can also be exported for analysis in MS Excel, Amazon Athena, or Amazon QuickSight. You can export the system performance and utilization data for your discovered servers with the help of Application Discovery Service APIs. You can input this data into your cost model to compute the cost of running those servers in AWS. Additionally, you can export the network connections and process data to understand the network connections that exist between servers. This will help you determine the network dependencies between servers and group them into applications for migration planning. You can perform the server discovery and data collection with either using agents or agentless discovery. You can deploy AWS Agentless Discovery Connector which will discover all the VMs running on your VMware environment. On the other hand, you can install AWS Application Discovery Agent on all your VMs which will collect all the required information.
AWS Database Migration Service
AWS Database Migration Service (AWS DMS) allows you to migrate data from your on-premises database to an Amazon RDS instance, or in a database running inside an Amazon EC2 instance. You can also use AWS DMS to migrate a database from an AWS service to an on-premises database. You can migrate data between heterogeneous or homogenous database engines as well. You can migrate relational databases, data warehouses, NoSQL databases, and other types of data stores. You can use AWS DMS to migrate your data into the AWS Cloud, between on-premises instances, or between combinations of cloud and on-premises setups. With AWS DMS, you can either perform one-time migrations or replicate ongoing changes to keep sources and targets in sync. If you want to change database engines, you can use the AWS Schema Conversion Tool (AWS SCT) to translate your database schema to the new platform. You then use AWS DMS to migrate the data. Because AWS DMS is a part of the AWS Cloud, you get the cost efficiency, speed-to-market, security, and flexibility that AWS services offer.
AWS DMS automatically manages the deployment, management, and monitoring of all the software and hardware needed for the migration. It also provides automatic failover in case the primary replication server fails for any reason, a backup replication server can take over with little or no interruption of service. You can also scale up or down your migration resources whenever required. You only pay for what you use without any upfront commitment or payment. AWS DMS supports nearly all of the popular DBMS engines as data sources and targets including Oracle, Microsoft SQL Server, MySQL, PostgreSQL and many more.
AWS Migration Hub
AWS Migration Hub provides a single location to track all migration tasks across multiple AWS tools and partner solutions. With the help of Migration Hub, you can choose the AWS and partner migration tools that best fit your needs while providing visibility into the status of your migration projects. Migration Hub also provides key metrics and progress information for individual applications, regardless of which tools are used to migrate them.
AWS Migration Hub provides a single place to discover your existing servers, plan migrations, and track the status of each application migration. The AWS Migration Hub provides visibility into your application portfolio and streamlines planning and tracking. You can see the status of the servers and databases that make up each of the applications you are migrating regardless of which migration tool you are using. AWS Migration Hub gives you the choice to start migrating right away and group servers while migration is underway, or to first discover servers and then group them into applications. Either way, you can migrate each server in an application and track progress from each tool in the AWS Migration Hub.
AWS Schema Conversion Tool
AWS Schema Conversion Tool (AWS SCT) allows you to convert your database schemas from one database engine to another. It makes database migrations simple by automatically converting schemas and a majority of the custom code to a format compatible with the target databases. The custom code can have views, stored procedures, and functions. The code that the conversion doesn’t support is clearly marked so that you can convert it manually. It also provides guidance on how you can create an equivalent schema in your target Amazon RDS database in case it is not supported.
With the help of AWS SCT, you can convert relational OLTP schema or data warehouse schema. The converted schema is suitable for an Amazon RDS MySQL instance, an Amazon Aurora DB cluster, an Amazon RDS PostgreSQL DB instance, or an Amazon Redshift cluster. It can also be used with a database on an EC2 instance or can also be stored as data on S3 bucket.
AWS Server Migration Service
AWS Server Migration Service (AWS SMS) combines data collection tools with automated server replication to speed the migration of on-premises servers to AWS. It automates the migration of on-premises VMware vSphere or Microsoft Hyper-V/SCVMM VMs to the AWS Cloud. AWS SMS incrementally replicates the server VMs as cloud-hosted AMIs ready for deployment on Amazon EC2.
Before deploying the AMIs, you can set up a test environment and update the AMIs before launching them in production. AWS SMS simplifies the migration process. With just a few clicks one can start the migration process. As soon as the migration has started, AWS SMS takes care of all the complexities associated with the migration process, including replicating volumes of production servers to AWS cloud and creating new images periodically. You also have the option to automate the migration of an environment which has more than one server. With the help of AWS SMS, you can schedule replications and track progress for a group of servers. You can schedule initial replications, configure replication intervals, and track progress for each server using the console. You can also leverage incremental replication feature to test server migrations incrementally. It allows fast, scalable testing of migrated servers as well. Due to incremental replication AWS SMS only transfers delta to the cloud, and with this, you can test small changes iteratively. AWS SMS supports the replication of Windows and several Linux distributions. AWS SMS ensures that the downtime during final cutover is as minimum as possible.
AWS Snowball is a service for customers who wish to transport terabytes or petabytes of data to and from AWS or want to access the storage and compute power of the AWS Cloud locally and cost-effectively. AWS Snowball is specially used in cases where connecting to the internet might not be a viable option. Each AWS Snowball device type can transport data at faster-than internet speeds. This transport is done by shipping the data in the devices through a regional carrier. With a Snowball, you can transfer data between your on-premises data centers and Amazon S3. Snowball appliances provide powerful interfaces that you can use to create jobs, transfer data, and track the status of your jobs through to completion.
If you want to transfer less than 10 terabytes of data, Snowball might not be the most economical choice. Each Snowball is protected by AWS Key Management Service (AWS KMS) and made physically rugged to secure and protect your data while the Snowball is in transit. In the US regions, Snowballs come in two sizes: 50 TB and 80 TB. All other regions have 80 TB Snowballs only. Encryption is enforced, which ensures that your data is protected at rest and in physical transit. You can perform local data transfers between your on-premises data center and a Snowball using the Snowball client. Before transferring data into Amazon S3 using Snowball, you have to create an AWS account and an administrator user in AWS IAM. If you are importing data, confirm that the files and folders to transfer are named according to the Object Key Naming Guidelines for Amazon S3. Any files or folders with names that don't meet these guidelines won't be imported into Amazon S3. If you are exporting data, understand what data will be exported when you create your job.
Snowball uses the AWS Snowball Management Console and the job management API for creating and managing jobs. To perform data transfers on the Snowball appliance locally, use the Snowball client or the Amazon S3 Adapter for Snowball. The Snowball and the Snowball Edge are two different devices. Snowball is a storage device while snowball edge has some built-in computing resources for you to utilize in a number of ways.
Published at DZone with permission of Moiz Arif . See the original article here.
Opinions expressed by DZone contributors are their own.