The mass migration of applications to the AWS cloud is about to begin. Most enterprises plan to migrate applications and systems to AWS to capture cost efficiencies, scalability, and agility benefits, and to avoid impending data center expansions.
The issue is that there are many ways to migrate applications to AWS, each with its own tradeoffs. As enterprises begin the migration, it’s helpful to consider these tradeoffs, and take a look at emerging best practices.
The first best practice is to consider the migration strategy for each application. While many think that there is only one way to move an application to AWS, there are actually many. These approaches include:
- Lift-and-shift just takes the application from a traditional platform and dropping it on AWS. This typically requires very little modification to the application, and thus is the least costly. However, you’re not taking advantage of the “cloud native” features, and thus the application may not perform as well as it could, or be more cost efficient in platform utilization.
- Cloud native modifies the application to take advantage of the native features of AWS. This requires an investment in development, testing, and deployment time. However, the application should perform much better in AWS, as well as have a much smaller bill at the end of the month. Of course, if you localize the application for AWS, you’re giving up some portability.
- Hybrid modifies some of the application code, but not all, specifically for AWS. You pick and choose what subsystems should be cloud native, and thus avoid a major gutting of the application. This removes some costs and risk, and provides enough cloud native functionality to be useful.
The second best practice is to consider security and governance before the migration. In many instances, the migration team doesn’t consider security and governance until the applications are already deployed. Retrofitted security and governance solutions are typically less effective and more costly than if the issues were addressed at the front-end of the project.
The final best practice is to consider the application architecture, and thus select the right AWS platform services. AWS has a huge menu of services, and many ways to do the same things. However, there is only one path that’s optimal for your specific application, and the trick is to find that path. Evaluate compute and storage services, as well as database, management, monitoring, and security. In many instances, you should begin with security. It might be last on the list, but it’s clearly the most important.
Don’t do an adequate job planning the initial route to AWS migration. Do a great job. It will likely be your migration path to AWS for years to come. While many enterprises try to define their own best practices, I would urge you to learn all you can from emerging industry best practices, which are typically built upon the mistakes of others. Don’t be that person who keeps recreating the wrong wheel. Managed AWS services can be especially useful in speeding this process.
By David Linthicum