The Secret Sauce to migrate on-premises applications to AWS

By Abhishek Mishra, Principal Cloud Architect, CitiusTech

Modern applications that run on the cloud deliver unparalleled availability, reliability, scalability, and security. The keystone to building a successful AWS migration requires creating a rigorous plan and executing it meticulously. What follows is a concrete framework for AWS migration, however the expertise needed to shepherd a flawless migration that avoids common pitfalls takes diligence, plus a leader and team with time-tested experience.

AWS Migration through Three Phases

  • Plan for a flawless migration
  • Execute a seamless migration
  • Maintain and evolve cloud operations as the business flexes and changes

Plan for a flawless migration

The goal of planning an AWS migration is to avoid common pitfalls and layout a crisp approach that is easy to execute by internal or external teams.

AWS Migration Planning Phase Steps

  • Check your migration readiness
  • Assess the on-premises application
  • Choose from three migration strategies
  • Build your migration plan

Step One: Check your migration readiness

This crucial step gauges your organization’s and team’s level of purpose, preparedness, and capabilities to embark on moving to the cloud. It requires the right leadership, an aligned “cloud mindset,” and a nimble team that will carry out the cloud migration.

Having a clear business purpose for migrating to the cloud is paramount. A business case should connect organizational goals, market objectives, and innovations for the customer to the technical decisions around cloud architecture and priorities. A leadership sponsor and a designated funding source are foundation to migration success.

With business case in hand and a clear “why,” you can ask the tough questions around readiness, capabilities, and capacity to see the migration through to completion:

  • Does the organization have a Cloud Center of Excellence (CoE)? If not, do you have access to the core expertise found in this CoE?
  • Is your proposed migration team and organization seasoned in DevOps implementation methodologies and Agile practices?
  • Is there a team who have experience with cloud migration using AWS?
  • What training or certifications do team members have on cloud operations security?

Try this Tool: AWS Cloud Adoption Readiness Tool (CART)

Step One: Check your migration readiness

Next, analyze your on-premises application to determine what steps are needed to make it cloud-ready. This will help you choose your migration strategy in the next step. Here are nine questions to answer when assessing the on-premises landscape.

  • When will the application sunset?
    This will determine if you should migrate the application or not. If the application retires soon, don’t migrate it to cloud as there won’t be any return on investment. Look for a new cloud-based solution instead.
  • How soon will you want to move the application to the cloud?
    Your timing will help the migration architect choose the most appropriate migration strategy.
  • What is the incoming traffic pattern for the application? Is the incoming traffic uniform throughout the year or there are surges on specific days of the year?
    Your timing will help the migration architect choose the most appropriate migration strategy.
  • What is the incoming traffic pattern for the application? Is the incoming traffic uniform throughout the year or there are surges on specific days of the year?
    Your timing will help the migration architect choose the most appropriate migration strategy.
  • How many users access the application concurrently?
    This also helps you identify scalability and computational requirements.
  • What level of memory, CPU and disk I/O consumption does application require?
    Consumption needs will determine the size requirements for your cloud service.
  • Are there are any legacy components or components that must be installed for the application to run properly?
    Your answer will decide if you need a container to run your application that has dependency on a third-part installable or a legacy component. Additionally, unlocking the legacy component would assess whether the application requires modernization.
  • What is the network topology for the application on-premises? What are the port and firewall requirements for the application?
    This is key to planning your network on cloud.
  • What Confidentiality, Integrity and Availability (CIA) needs does your application currently fulfill?
    CIA information is important for planning security levels and availability needs.
  • How large is the database connected to your on-premises solution? What kind of data do you currently store or may in the future?
    Your cloud migration plan will take this into account for database planning.

Try this Tool: AWS Application Discovery Tool

Step Three: Choose from three migration strategies - rehost, replatform, or re-architect

Once the application assessment is complete, it’s time to choose your migration strategy.

Re-host strategy: If your organization plans to transition faster to the cloud, or if you need to migrate a legacy application as-is, a rehost strategy may be most suitable. In this case, the team can “lift and shift” your application to AWS EC2 instances.

Re-platform strategy: When you need to overhaul the application architecture and just have to optimize a few application areas so that the application can run on the cloud, this strategy may be best. You can choose to move the database to the AWS RDS service or move the application to the AWS Beanstalk service.

Re-architect/Refactor strategy: This strategy may help you achieve the maximum benefit from cloud migration in the case that you will overhaul the application architecture or refactor the application to make it cloud agnostic.

Step Four: Build your migration plan

Now that you have assess the application’s on-premises landscape and have a migration strategy in place, it’s time to build the migration plan. It should consist of the migration team structure, the cost of ownership, necessary budget approvals, a migration timeline, and outlines the execution phases. Clearly call out the business case along with the benefits and your expected return for your cloud investment. Establish a Migration Governance Board that provider oversight and establish migration controls, as well as a Migration Design Authority Board that manages the migration process and provides approvals at each migration phase gateway.

Try this Tool: AWS Pricing Calculator

Execute a seamless migration

Because the planning phase was thorough – addressing required building blocks, processes, technologies, tools, funding, teams, and purpose -- the execution phase can build a migration at scale, with speed and confidence.

  • Design the Solution Sketch and Solution Design
  • Build Infrastructure
  • Modernize and migrate application
  • Go-Live

Step One: Design the Solution Sketch and Solution Intent

Designing the infrastructure blueprint that will host your application is the first step in ensuring a seamless AWS migration. Create a solution sketch for AWS services, indicating each required service involved in the application along with the communication and network flow among them. Clearly lay out all networking requirements in detail and have a concrete representation of data and request flows with your application. Figure 1 depicts a sample Solution Sketch.

AWS Blog image 1

Figure 1: Sample Solution Sketch

During solution design, depict the solution sketch along with your strategies for reliability, availability, security, disaster recovery, total cost of ownership, and other necessary AWS architecture details.

Once ready, present the solution sketch and solution design to the Migration Design Authority and Migration Governance Authority to secure approvals and move into solution implementation.

Step Two: Build infrastructure

Based on your approved solution sketch, you’re closer to building the cloud infrastructure. First, decide if you will build an Infrastructure as Code (IaC) solution. Or, will you write scripts using AWS CLI or AWS Cloud Formation to spin up the cloud component? You could also use Terraform or any other IaC mechanism. Lastly, you could call your IaC scripts from AWS Code Pipelines and spin up an automation the DevOps way. No matter your choice, automating your infrastructure will provide a reusable, fast, and error-free infrastructure for solution provisioning.

Step Three: Modernize and migrate the application

Before go-live, it’s critical to optimize or modernize your application based on the chosen migration strategy. Then, use AWS Code Pipelines to create DevOps pipelines that helps you build and deploy your application to the AWS infrastructure.

Try this Tool: AWS Migration Tools Catalog

Step Four: Go-live

Now that you’ve successfully migrated the application to the cloud, it’s time to validate and test to ensure that the solution meets performance goals for functionality, security, accessibility, and processing. With a positive test report in hand, you can secure all necessary approvals from the Migration Design Authority Board, Migration Governance Board, your CISO, the application owner and other necessary stakeholders. It’s go-live time.

Post-go-live, you may want to consider how you will announce the upgrade to your customers, employees, board, and media, if desired. Your migration to the cloud opens up new opportunities for innovation, improved customer service and speed, as well as wider markets and business models.

Maintain and evolve cloud operations as the business flexes and changes

After the migration project is complete, it’s time to deploy maintenance capabilities. Monitor the cloud solutions for failures and security threats. Form an operations team that will oversee cloud operations and ensure the application is always performing to levels promised in your SLAs. Consider services like AWS Cloud Trail, AWS Cloud Watch, and AWS Guard Duty that support continuous cloud operations. Lastly, work with your migration partner to build unified, customized dashboards that report on cloud operations performance.

Enable a data-driven, cloud-based healthcare ecosystem

As an AWS Healthcare Competency Partner, CitiusTech has the expertise and experience to lead, guide, and execute your seamless migration to the cloud. We leverage human-centered design approaches, next-gen technology, Agile methodologies and DevOps/DevSecOps practices to enable a data-driven, cloud-based healthcare ecosystem.

Related to topics:

Explore other blogs

Key Takeaways from the NCQA Health Innovation Summit 2022
Key Takeaways from the NCQA Health Innovation Summit 2022
Health Plan Investments to improve Member Experience
Health Plan Investments to improve Member Experience
Payvider Value Chain | Part 5 of 5 | Core Application and Workflow Optimization
Payvider Value Chain | Part 5 of 5 | Core Application and Workflow Optimization


No items currently match your filtering criteria.