Blog

5 Steps to the Cloud: AWS Migration Checklist

Today, more businesses are migrating to AWS, attracted by features and benefits such as low cost, scalability, agility, and high availability and disaster recovery. In this article we’ll provide a 5-step AWS migration checklist that covers how to train staff, security needs and access management, cloud performance KPIs, planning database migration, and planning data migration for static websites and unstructured data.

In this article, you will learn:

Why Do Businesses Migrate to AWS?

Amazon Web Services is the leading cloud provider and provides many advantages when compared to on-premise deployments and other clouds. Here are some advantages that cause businesses to migrate to AWS:

  • Cost ━ AWS is famous for its pay-per-use pricing, but in addition, it provides a large variety of services that allow you to consume exactly the level of services you need, to control costs. For example, you can perform storage tiering and can save cold data to a low-cost storage service like Amazon Glacier.
  • Scalability ━ AWS offers infinite scalability and also provides many ways to manage that scalability━from auto-scaling on EC2 instances to containerized deployments, serverless functions, and more. 
  • Agility ━ AWS provides very comprehensive automation capabilities, integrates with DevOps workflows and allows teams to instantly spin up development, test and production environments to iterate quickly. Amazon also makes it easy to provide self-service IT and allows organizational units to set up their own infrastructure.
  • High availability and disaster recovery ━ Amazon offers multiple data centers around the world, with a Multi-AZ feature that lets you run cloud services in multiple data centers, so even in the case of a catastrophe that affects one geographical region, your services would continue to run.

5-Step AWS Migration Checklist

Read our in-depth post on AWS migration strategy to understand Amazon’s migration framework and the six alternative strategies for migrating an application to the cloud. 

Once you have done discovery and planning and are ready to start your migration, you’ll find this brief migration checklist useful.

1. Train Staff

Map out staff to cloud services and infrastructure and understand who needs to know what. Use the following methods to get staff up to speed on the AWS services they will be using on an ongoing basis:

      • Classroom training━at least some formal training with an experienced instructor can give teams a good basis for AWS concepts and basic usage. Amazon provides an official training program, including self-paced labs where employees can get practical experience with the technology.
      • Online training━give employees time to consume online resources that can help them learn AWS. Learning can be freestyle or you can purchase training units from vendors like CloudAcademy and Udemy. 
      • Practicing in sandboxes━give employees a small budget so they can play around on AWS. They can spin up machines, integrate them with other services, break things and get their hands dirty. This can be the fastest and most effective form of training.
      • Cloud Center of Excellence (CCoE)━many industry experts agree that cloud migration should be supported by an organizational unit that shares knowledge about cloud technology and practices, and promotes learning and experimentation. Identify your most cloud-savvy employees, encourage them to create a Cloud Center and become champions of your cloud effort.

2. Consider Security Needs and Access Management

Symantec provides several important steps you can take to ensure security during and after your AWS migration:

      • Unified policies━users may access cloud applications from many different locations and may need to grant third-parties access to data. Legacy applications may be restrictive in the level of access they grant users. Some web or cloud systems should be locked out and not used by any employees or third-parties. Regardless of the situation, there must be a unified policy that governs access and control for all cloud applications.
      • Ensure flexibility━cloud applications make dynamic use of data. Data may be encrypted at rest but may be decrypted when used and transferred between multiple cloud services. Understand data flows in your new cloud deployment and ensure you have security measures in place that do not disrupt essential data flows. 
      • Set up security brokers━a Cloud Access Security Broker (CASB) can take log information about user interactions with endpoints and make it available for compliance, security and operations purposes. It provides visibility into activity at important cloud destinations, and lets you set policies to limit access and control shadow IT.

3. Establish Cloud Performance KPIs

NewRelic provides a list of simple KPIs you can use to monitor your cloud. Cloud performance KPIs are critical because, in the cloud, performance is not guaranteed and can vary between deployments, data centers, Amazon services and times of the day.

Cloud Performance KPIs examples:

Category Sample KPIs
User experience Page load time
Response time
Session duration
Application performance Error rates
Throughput
Availability
Infrastructure performance CPU Usage %
Disk performance
Memory usage
Business metrics Bounce rates and dwell time
Conversion rates
Engagement rates


It is important to:

      • Establish a baseline━measure performance of the current on-premise deployment, to be able to compare it with the performance in the cloud. This can also help diagnose specific performance issues. Set a baseline measure for each KPI, and choose the shortest baseline period that gives you statistically significant data.
      • Test and measure performance━create a realistic production-like environment in the cloud and measure each application for each metric, comparing to the baseline.
      • Diagnose problems━if your performance lags behind your goals or the original performance of the on-premise app, identify where the problem lies: in the machine instance, the performance of the underlying cloud services, data issues, or simply insufficient cloud resource allocation.
      • Optimize and retest━make changes to the environment and test again to ensure performance is up to your standards. Doing this now at the pre-migration stage will save major headaches later.

4. Plan Database Migration

Amazon offers a few important considerations for migrating databases to AWS. 

Take the following aspects into account:

        • Data transfer━consider how to manage the actual data transfer, will you need Extract, Transform and Load (ETL) and how will you guarantee consistency. Consider the size of the database, how long data transfer will take, and whether you need specialized services like Amazon Direct Connect. Knowing the layout of your database can help you define a migration project and speed up your data copy phase significantly.
      • Moving to a different database━it is common in cloud migrations to switch to a different database, especially in modernization projects. Alternatively, you may be switching to a service version of the same database, like Amazon RDS. Consider what changes need to happen at the application level and test carefully to ensure your data is there and that your critical application flows are working.
      • Plan time for refactoring━if you do need to refactor applications, this can be time-consuming. Leave time in your migration plan for several iterations of code changes and testing, as this may take weeks to months for complex applications.
      • Very large tables and large objects━if you have tables larger than 200 gigabytes and with hundreds of millions of rows, handle them with care. Amazon Database Management Service can help by loading the data in parallel. If you have large objects, they can be painful to migrate, take into account longer migration time and allocate more data to your replication server. 

5. Plan Data Migration for Static Websites and Unstructured Data

In our blog post about AWS data migration, we outlined several important considerations before moving data volumes to the cloud:

  • Amazon S3 bucket name restrictions━every S3 bucket must have a unique name, and for static websites, the bucket name must be the same as the domain name. You must ensure that you keep bucket names available to support all the buckets used in your migration.
  • Set up CDN with Amazon CloudFront━to provide fast global access to data assets, especially those on S3, use CloudFront, in combination with Route53 for DNS. Furthermore, an added benefit is that CloudFront enables SSL, and AWS provides free SSL certificates to be used with its services.
  • Define cache policy━Amazon CloudFront caches your content at the network edge. Define your cache policy smartly to ensure content updates are visible to your users. Use a short Time to Live (TTL) or periodically invalidate all caches, so you can push updates to your users. 
  • Data consistency on S3━when you upload new objects they are available immediately, but update or delete operations can take time to resolve due to S3’s eventual consistency mechanism. When updated content doesn’t load for a user, it may not be a caching issue, but a data consistency issue.
  • Setting HTTP headers for web pages━when migrating from IIS to Amazon S3, a major problem is that you can’t set HTTP response headers on all pages in bulk. You can use Amazon’s CloudFront Lambda@Edge and define a custom index page for each folder.
  • S3 security━if you are leveraging CloudFront, it will take care of SSL connectivity. However, you also need to secure access to Amazon buckets. Use Original Access Identity or ACL and set up AWS WAF to monitor and block malicious incoming requests.
  • Select S3 storage type━Amazon S3 offers three storage classes for static website hosting, each with a different SLA and cost. Select storage classes carefully to save costs while ensuring that you provide appropriate performance for cold/warm/hot data.

Lift and Shift Your Data to AWS with Cloud Volumes ONTAP

There are many methods for migrating to AWS, however the lift and shift approach remains the quickest, simplest, lowest-risk and most cost-effective. 

A successful lift and shift migration strategy, however, requires the right tools. That is why many companies are using solution providers such as NetApp to help them with migration and to assist them with ongoing data management.

The lift and shift migration approach involves migrating your application and connected data to the cloud with little or no changes. Applications are “lifted” from their current environments and “shifted” in their existing state to a new premise, such as the cloud. Typically, there are no marked changes to make to the application data flow, architecture or authentication processes.

NetApp Cloud Volumes ONTAP is a storage management solution providing  high availability, data protection, file services and storage efficiency features. Cloud Volumes ONTAP is available on AWS, Azure and Google Cloud and supports up to a capacity of 368TB. 

Cloud Volumes ONTAP utilizes NetApp SnapMirror® technology, to migrate, replicate, and synchronize files, or any data from on-premise, hybrid or multicloud storage systems architecture. Cloud Volumes ONTAP supports NFS, SMB/ CIFS, and iSCSI file shares with SAN and NAS storage.

Want to learn more about migration? 

Here are some further reading suggestions:

Want to get started? Try out Cloud Volumes ONTAP today with a 30-day free trial.

-