Skip to content
Migrating Applications to AWS
12 min read

Migrating Applications to AWS

Migration to AWS provides lower upfront cost and increased agility. With breadth of services available in AWS, Migration to AWS can be done with little or no downtime. A Cloud migration strategy is needed to ensure a successful cloud migration from on-premises into the cloud or from one cloud to the other cloud. Below are the key drivers of the cloud migration

❖ Lead time to migrate

❖ Cost of migration

❖ Level of complexity

However to move Application to the cloud you need to follow a 5 phase migration process and/or 6 Rs of Migration.

5 Phase Migration

Uploading Migration to AWS.png

Phase 1: Migration Preparation & Business Planning

This is the most significant phase as it involves setting out the direction, goals and potential timelines for migrating to AWS.Developing a sound business case requires taking your objectives into account, along with the age and architecture of your existing applications, and their constraints. Are you migrating to reduce costs, improve scalability, improve reliability? Based on those goals, determine which applications you need to move to the cloud. Engaged leadership team, frequent communication, and clarity of purpose, along with aggressive but realistic goals and timelines make it easier for an entire organization to rally behind the decision to migrate.

Phase 2: Portfolio Discovery & Planning

To successfully plan the migration of workloads from private data centres/other cloud provider to AWS, it is paramount to understand the complexity, interdependencies of the applications and the level of business dependency on these workloads. Run a full portfolio analysis of your environment, complete with a map of interdependencies, as well as migration strategies and priorities, are key elements to building a successful migration plan. Beginning the migration process with less critical and complex applications in your portfolio (via lift and shift) this should create a sound learning opportunity for your team to exit their initial round of migration with confidence as they are not practicing with mission critical applications in the early learning stages.

Phase 3 & 4: Designing, Migrating & Validating Applications

This is the execution phase of the migration plan where the focus is on the actual migration of applications to AWS.Create a detailed migration plan for each of your applications. Start with a few apps as a Proof of Concept and see how migration strategies and AWS tools actually play out in your environment. Then get buy-in from stakeholders in your organization and move forward with a full migration plan.In these phases, the focus shifts from the portfolio level to the individual application level. Each application is designed, migrated, and validated according to one of the six common migration strategies (“The 6 R’s”). Developing a test plan for each application is recommended, which will be executed post migration as part of the validation process. Integrate a continuous iterative improvement methodology and iteratively review the design, migration and validation phases to get the applications fully operating on AWS.

Phase 5: Modern Operating Model

As applications move to the cloud, you optimize your new foundation, you start operating them within AWS and turn off the old versions on-premises (unless you opt for a hybrid model). First few application migrations should develop the foundation and experience in the operating team, and your operating model will continually improve and become more sophisticated as your migration accelerates.

6 R’s Of Migration

Uploading Migration to AWS 1.png

1) Rehost (Lift and Shift) :-

In rehost, applications are migrated to the AWS cloud without making any change to the components (application code, database etc.) of the application hence also known as "lift and shift". In a large legacy migration scenario where the organization is looking to implement its migration and scale quickly to meet a business case, we find that the majority of applications are rehosted. Most rehosting can be automated with tools such as AWS Database Migration Service, AWS VM Import/Export although some customers prefer to do this manually as they learn how to apply their legacy systems to the new cloud platform.The Rehost strategy sounds simple, and it is. There are mature tools on AWS which allow you to carry it out with low effort. The downside is that with no changes to the application, it has limited ability to take advantage of the cloud-native environment.It has also become evident that applications are easier to optimize/re-architect once they are already running in the cloud. Partly because your organization will have developed better skills to do so, and partly because the hard part—migrating the application, data, and traffic—has already been accomplished.

2) Replatform (Lift Tinker and Shift)

This entails making a few cloud optimizations (mostly managed services provided by AWS) in order to achieve some tangible benefit, without changing the core architecture of the application. For example, you may be looking to reduce the amount of time you spend managing database instances, so you move to a database-as-a-service offering like Amazon Relational Database Service (Amazon RDS).

3)Repurchase(Drop and Shop)

This is a decision to move to a newer version or different solution, and likely means your organization is willing to change the existing licensing model it has been using. A typical example would be Moving a CRM to Salesforce.com.

4)Reengineer/Re Architect (Employing Cloud native features)

In refactoring, the application is re-architected and re-built with a new code base in order to utilise cloud native features. Typically, this is driven by a strong business need to add features, scale, or improve performance that would otherwise be difficult to achieve in the application’s existing environment. If your organization is looking to boost agility or improve business continuity by moving to a service oriented architecture (SOA) this strategy may be worth pursuing—even though it is often the most complex and most expensive solution.It is therefore recommended to be used where the emphasis is not on speed of migration but on the long term transformational benefits. A example of re-engineering would be put all the static content on Amazon S3 an access it via cloudfront,

5)Retire (Decommission or Archive)

According to AWS, as much as 10% of an enterprise IT portfolio is no longer useful and can simply be turned off.Identifying IT assets that are no longer useful and can be turned off will help boost your business case, and direct your team’s attention toward maintaining the resources that are widely used.

6)Retain (Revisit Later)

Organizations retain portions of their IT portfolio because there are some that they are not ready to migrate and feel more comfortable keeping them on-premises/existing cloud, or they are not ready to migrate an application that was recently upgraded and then make changes to it again. You should only migrate what makes sense for the business, but the more your portfolio moves to the AWS, the fewer reasons you will have to retain. Retained applications can be revisited at a later time when it may be potentially be more beneficial to migrate the application.

Migration Tools Provided By AWS ❖ AWS Database Migration Service :- Migrate and/or replicate applications to AWS quickly and securely.

❖ AWS Schema Conversion Tool :- this tool helps to convert your database schema from one database engine to another.In some cases, database features can't be converted to equivalent Amazon RDS or Amazon Redshift features. The AWS SCT extension pack wizard can help you install AWS Lambda functions and Python libraries to emulate the features that can't be converted.

❖ AWS Snowball :- AWS snowball is used for petabyte dataset. Transfer your data in snowball and which will in turn will be uploaded to S3

❖ AWS Snowmobile:- AWS Snowmobile is an Exabyte-scale data transfer service used to move extremely large amounts of data to AWS. You can transfer up to 100PB per Snowmobile

❖ AWS Direct Connect : AWS Direct Connect assists in data migration by establishing a private secure connection between AWS and datacenter,

❖ AWS S3 Transfer Acceleration :- Amazon S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and an S3 bucket.

❖ AWS DataSync :- AWS DataSync is a data transfer service that makes it easy for you to automate moving data between on-premises storage and Amazon S3 or Amazon Elastic File System (Amazon EFS).