Migrating your existing application to the cloud using AWS can help your team modernize your infrastructure, automate management and updates to your resources.
AWS also has a tremendous cost factor given that they work on a pay as you go model. This post hopes to clarify some of the milestones your team should strive for when migrating to the cloud including how to migrate your services separate from one another to ensure a smooth transition.
Define the Resources You Want Migrated to the Cloud
- Databases (database types, versions, security configurations)
- Applications (operating system requirements, resources usage)
- Existing Network Infrastructure (firewall configurations, monitoring solutions)
High Level Overview of What Services You’d Use
Databases
Depending on your database type, AWS offers a few different solutions. If you have a relational database such as MySQL or PostGres, you’ll want to use Amazon RDS. If you are interested in a non-relational database solution, you might want to look into DynamoDB. Your network configuration may vary depending on your needs, be sure to keep in mind that the way your application will connect to your database will change. For example, an Amazon Relational Database Service MySQL database is going to now use an endpoint (a domain address) to be reached, and you’ll have security groups that will need to be defined to allow applications to reach your database.
Applications
Applications running in the cloud with AWS have an increased ability to scale and optimize costs give that the resources you use can scale down during times of low resource utilization (since AWS runs on a pay as you go model, you only pay for what you use). This allows your applications to increase availability meaning no need to fork up a large sum to purchase on premises servers. When preparing an application to migrate to the cloud, it’s the perfect time to take a good look at the state of your environment and identify any modernizations you may be able to make. This could be Dockerizing your application to slim it down to a lightweight rapidly deployable instance.
Network Infrastructure
The way your existing environment is going to change when you move it to the cloud, but not in the way you think it is. This doesn’t mean entirely re-architecting your infrastructure, this just means AWS handles resource communication a little bit differently. For one, you’ll be using Virtual Private Clouds (commonly referred to as VPCs) to create a network environment for you infrastructure. These VPCs will use subnets just as you would on-prem and route tables will be used to route traffic to their respective endpoints. You can enable host name routing within your environment and automate a lot of these processes (specifically provisioning new resources) or use Amazon’s CloudFormation tool to create a static declaration of your environment.
Coming into this fresh, you’ll want to do it right