To increase scalability, availability, and cost-efficiency while leveraging the full set of AWS services, I am re-architecting web application from an on-premises infrastructure to a cloud-native architecture on AWS. I used memcached for caching, RDS instances for database management, Route53 for DNS management, and CloudFront for content delivery in addition to Amazon MQ for messaging and queuing. This re-architecture will help us with following benefits:
- Increase the scalability of our application.
- decrease downtime and improve reliability by utilizing AWS's built-in redundancy and failover features.
- Cut costs by utilizing the pay-as-you-go pricing model of AWS services.
- Login to AWS Account
- Create following services in AWS:
- Key pair
- Secuirty Group- For Backend Services
- Amazon Elastic Cache- Memcached
- Amazon Active MQ
- Create Elastic Beanstalk Environemnt
- Update Security group to allow traffic from Elastic Beanstalk Security Group
- Update Security group to allow traffic from internal traffic
- Launch Ec2 to intialize Database
- Login to Ec2 and login to database
- Initialize database
- Change healthcheck on Elastic Beanstalk to our application /login
- Add 445 https Listener to ELB
- Build Artifact with Backend Information
- Deploy Artifact to Beanstalk
- Create CDN with ssl cert
- Update entry in DNS
- Test the url