Why Migrate to AWS? (Technical Blog Series)
July 9, 2022 - Gordon Scobie
Welcome to this technical series on Migrating to AWS. This series talks about the process of migrating to AWS. It will cover the following topics:
- Why migrate to AWS
- What AWS tools are available to help migrate
- Migration Patterns
In this post I will introduce the reasons for migrating to AWS and what it can do for you.
Migrating to the AWS Cloud is the process of moving data, applications, and services from your existing infrastructure to AWS. It is sometimes a long and complex process that requires planning, evaluation, analysis, and execution.
The following are some of the main benefits of migrating to AWS:
- Scalability & Reliability
- AWS Tools for Migration
- 7Rs Migration Strategies
Agility – The number one reason most customers choose to move to AWS is the agility they gain. You can create a server in a matter of minutes rather than the weeks that it typically takes on-premises. You can use one of more than 200 services that AWS provide rather than going through the effort of creating a service reducing the effort to create production workflows.
A good example is transcoding for Media and Entertainment (M&E) companies which converts a source media file into different formats required for viewing on different devices.
Creating an on-premises Transcode Farm requires high initial investment in software, hardware, performant storage, administration skills and takes time to build and learn to operate effectively. Transcoding demand is often unpredictable leading to expensive equipment lying idle but then required to scale quickly due to distribution deadlines.
AWS Elemental MediaConvert provides an on-demand, broadcast-grade, transcoding service that can scale seamlessly to handle large volumes of media files allowing M&E companies to concentrate on producing content rather than the technicalities of viewing content.
Cost-Effective – When you host your applications on a physical server, you pay for all the resources needed to keep that server running such as space, power and cooling. On the AWS cloud platform, you only pay for what you use. This results in business cost savings since you do not have to spend money on maintaining your IT infrastructure especially for high cost infrequently used applications. Businesses benefit from moving large, fixed expenses to variable expenses only incurred when the service is used.
A good example is Storage Infrastructure which is expensive and complex to provision and manage. It normally needs to be scaled for a five-year lifecycle which is hard to predict. The hardware is purchased upfront requiring large investment with punitive pricing for adding extra capacity during the five years or support after five years.
AWS provide storage services on demand that require no upfront investment and can provide different accessibility and performance tiers in seconds rather than the long timescales required to configure on-premises storage devices.
Scalability and Reliability– With the AWS cloud platform, you can quickly scale up or down depending on your business needs without investing in additional hardware or software licenses. AWS is responsible for the reliability of the cloud platform relieving the customer of the complexity and cost of redundant and resilient hardware. This helps businesses save money, reduce operational effort while operating efficiently.
Many companies’ workflows peak such as year end for financial enterprises or Christmas for retailers. AWS provide Auto Scaling groups to instantly scale up the number of EC2 instances required to meet the demands of a workload and will drop those instances as demand recedes. This allows AWS customers to only pay for peak usage when it happens rather than all the time.
Security –Security is a shared responsibility between AWS and the customer.
AWS is responsible for Security of the Cloud, protecting the infrastructure that runs all of the services offered in the AWS Cloud. This infrastructure is composed of the hardware, software, networking, and facilities that run AWS Cloud services.
Customers are responsible for Security in the Cloud which is dependent on the AWS cloud services that are selected. This will vary from EC2 where customers are responsible for all components above the hypervisor level such as the guest operating system and application components to storage services where customers are responsible for the security of the data such as encryption and access permissions.
The Shared Responsibility model reduces the burden of complexity and cost of infrastructure on the customer. The Customer responsibility for Security in the Cloud can be improved by the implementation of a Landing Zone using AWS Control Tower. This provides foundational services for migrated workloads providing detective guardrails using AWS Config and preventative guardrails using AWS Organisations service control policies (SCPs).
AWS Tools for Migrations
AWS provide a collection of Migration tools that can be used to help with your migration.
The tools include:
AWS Migration Hub – An online service that helps you assess, plan and execute migration projects, including cost optimization and TCO tools.
AWS Application Migration Service (AWS MGN) – Use AWS Application Migration Service to simplify, expedite, and reduce the cost of migrating and modernizing applications.
AWS Database Migration Service (AWS DMS) – helps you migrate your current databases to the AWS Cloud reliably, quickly, and securely. The source database remains fully operational during the migration, minimizing downtime with the following features:
Continuous Data Replication: Perform continuous data replication between an on-premise solution and AWS. This is a common issue for many companies that they need to live migrate a database rather than stop the database and application and then migrate and then start the database and application.
Homogeneous Database Migrations: Homogeneous database migration means that the source and target database engines are the same or are compatible like Oracle to Amazon RDS for Oracle, MySQL to Amazon Aurora.
Heterogeneous Database Migrations: In heterogeneous database migrations the source and target databases engines are different such as Oracle to Amazon Aurora or Oracle to PostgreSQL.
AWS Snowball Edge – Use AWS Snowball Edge to transfer large amounts of data into and out of AWS using portable storage devices, like USB flash drives and hard drives, rather than connecting directly over the Internet or a virtual private network (VPN).
AWS Schema Conversion Tool (AWS SCT) – SCT a can be used to convert your database schema from the source database (e.g. on-premises) to the target database (AWS). SCT supports an extensive list of source database conversions including OLTP databases such as Oracle, Microsoft SQL Server, Data Warehouse databases such as Oracle Data Warehouse and NoSQL databases such as Cassandra. The target databases are dependent on the source and include MySQL, PostgreSQL, RedShift and Amazon DynamoDB.
AWS DataSync – AWS DataSync is a file transfer service that enables you to move data between your on-premises data centre and Amazon S3 and keep data in both locations synchronised. Large file transfers may take months and there may be a requirement to have applications based in both locations until a formal cutover takes place.
Find the Right Migration Pattern using the 7Rs
The process of migrating to AWS is complex. The key is to start with a plan and understand where your organization is on the migration continuum. The 7 Rs are patterns for migration giving a way to think about and plan your company’s migration. The 7Rs form a framework where you assess each application against each of the 7Rs after application discovery:
The 7 Rs of AWS Migration
Retire – Do you need the application in the future, if not retire it.
Retain – Applications that are not ready for migration or need to be kept on-premises. You do nothing with them for now but may reassess them in the future.
Rehost – This is also known as “lift and shift” where you rehost the applications on AWS without re-architecting them.
Replatform – This is also known as “lift-tinker and shift” where you make some minor changes to an application taking advantage of some cloud services without re-architecting them such as using AWS RDS SQL rather than creating a SQL server instance.
Repurchase – Purchase a newer version of the application or purchase an entirely new solution that satisfies the requirement which may be hosted as a Software as a Service (SaaS) solution.
Refactor – Modify the application architecture to take advantage of cloud-native features.
Relocate – transfer a large number of servers, comprising one or more applications, at a given time from on-premises platform to a cloud version of the platform. For example, you can use this strategy to transfer servers in bulk from a VMware software-defined data center (SSDC) to VMware Cloud on AWS
The AWS Cloud gives you Agility, Cost-Efficiency, Scalability and Security. AWS provide tools to assist with your migration which reduce complexity and risk allowing you to carry out Live Migrations of Databases and Files. The AWS 7Rs Migration patterns provides an easy to use framework to work through your migration strategy for each of your applications. All these features taken together answer the question why migrate to the AWS cloud.
Once you have thought through these things, create a plan that outlines your migration strategy, including what AWS services you will use and why, which applications should be moved first and why.
In the next blog on Migrating to AWS series, we will go over how to migrate your business to AWS cloud, which will include a step-by-step guide on how to get started with migrating your current applications and data onto AWS.