๐Ÿš€AWS Lift and Shift Strategy: Migrating a Multi-Tier Web App to AWS โ˜๏ธ

๐Ÿš€AWS Lift and Shift Strategy: Migrating a Multi-Tier Web App to AWS โ˜๏ธ

๐ŸŒ Project Overview: Vprofile Multi-Tier Web Application Stack Migration to AWS

ยท

3 min read

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

Vprofile Login Page

Vprofile Home Page

๐Ÿ”ง 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

Vprofile RabbitMQ initialization

Vprofile Users List

User Data from Database and Data inserted in Cache

Data from Cache

๐ŸŽ‰ 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.

ย