๐AWS Lift and Shift Strategy: Migrating a Multi-Tier Web App to AWS โ๏ธ
๐ Project Overview: Vprofile Multi-Tier Web Application Stack Migration to AWS
Hey everyone! ๐ I wanted to share a project I worked on that's really exciting - it's a web application called Vprofile, and we just migrated it to AWS using "Lift and Shift" strategy. Here's the rundown:
๐ก Scenario:
Originally, the application services were running on physical/virtual machines in a traditional datacenter setup
Faced challenges with complex management, scale-up/down complexities, upfront costs, regular maintenance, and manual processes
๐ ๏ธ Solution:
Adopted a Cloud Computing approach using AWS to address these challenges
Leveraged Infrastructure as a Service (IAAS) for a pay-as-you-go model, ensuring flexibility, ease of management, and automation
๐ง Key Components Used:
Utilized EC2 instances for Tomcat, RabbitMQ, Memcache, and MySQL
Replaced Nginx Load Balancer with Elastic Load Balancer (ELB)
Implemented Auto Scaling Groups for VM scaling automation
Employed S3 for shared storage of artifacts
Integrated Route53 private DNS service for seamless domain resolution
Ensured SSL encryption with ACM for secure communication
๐ ๏ธ Artifact Deployment:
First, I built the artifacts locally using Maven
Uploaded the artifacts to S3 shared storage, allowing Tomcat instances to seamlessly access them
Created an I am role and attached to the instance for S3 full access
๐ How It Works:
The Elastic Load Balancer (ELB), Tomcat instances, and Backend services are each placed in separate Security Groups, each having distinct inbound rules
This ensure control over the network traffic to and from these components, enhancing security and facilitating proper communication
Users access the website through a URL linked to my Domain (ksprateek.me)
The URL directs to the ELB endpoint specified in DNS settings
Browsers connect to ELB using HTTPS, with the SSL certificate managed by ACM
ELB, configured in a security group, allows only HTTPS traffic
Requests are routed to Tomcat instances on EC2 through port 8080
Apache Tomcat instances are managed by Auto Scaling Groups
Backend services (MySQL, RabbitMQ, Memcache) run on separate EC2 instances
Route53 DNS Private Zones store information about backend services
๐ Results Achieved:
Achieved improved scalability, flexibility, and ease of management
Successfully eliminated upfront costs and reduced manual intervention
Automated processes for scaling, ensuring efficiency and cost-effectiveness
๐ Conclusion:
Leveraging AWS for "Lift and Shift" not only resolved existing challenges but also paved the way for a more scalable, automated, and cost-efficient infrastructure ๐ปโ๏ธ
If you've found this helpful, make sure to like and follow for more content like this.