AlignMinds Technologies logo

Maximizing Performance and Cost Efficiency: AlignMind's AWS Infrastructure Optimization Success Story

About the Client

The client is a leading HR consultancy in US providing Performance Management and Training solutions.

The Challenges

  • The client has Java-based SAAS applications hosted on AWS which had performance issues during peak load, resulting in poor customer experience and lack of customer satisfaction.

  • Monthly hosting cost on AWS seemed to be very high when the size and complexity of deployed applications were considered

Old Architecture

  • The Process

  • We started with an analysis of the AWS infrastructure, application code, and RDS instances.

    Based on our findings, we proposed a cost-effective solution with highly available auto-scaling AWS architecture to accommodate the application loads.

  • 1.Analyzed the traffic and CPU load and usage history.

    • Traffic to the load-balanced instances was not properly routed.

    • Found that some EC2 instances are no longer used.

  • 2.Analyzed the RDS Instances and configurations.

    • There were 4 RDS clusters in the service.

    • We found that only 3 clusters are used, two clusters for the production environment, one cluster for Staging/QA environment. and the other one is not used.

    • The RDS instances were outdated, and not optimized /default parameter group was configured.

    • We terminated the old ones and created 2 new RDS clusters with optimized parameter groups and restored the databases.

  • 3.Analyzed the elastic search clusters.

    • There were two Elastic search clusters in service that were outdated. Each one is configured with 2 master instances and 10 nodes and found the elastic search usage was very low.

    • Configured 2 new elastic search services with 1 master and 2 nodes and dropped the old ones.

  • 4.Analyzed EC2 Instances and load-balancing configurations

    • EC2 AMIs are deprecated

    • In total 9 EC2 instances were running for Jenkins, 2 production servers, UAT, and Proxy, but other than production and UAT instances none was used to the optimum.

    • Terminated the old instances like deprecated images.

    • Replaced the old instances with the latest version of Amazon Linux 2 instances

    • Classic load balancers are used in the EC2 configurations which are outdated

    • Load balancer was configured to a single EC2 instance, so the load was not distributed.

    • Replaced the classic load balancers of AWS with newer application load balancers.

    • Too much memory is consumed by the hosted java application.

    • Java heap configurations optimized.

    • Created CDN for serving media content.

    • Configured firewall for preventing hacking.

    • Configured Cloud Watch and sysops alerts for monitoring application and instance health.

    • Configured AWS-Guard duty: – Monitoring detailed security findings for visibility and remediation.

  • 5.Analyzed the application code to determine the impact of infrastructure on the code.

    6.Implemented security best practices.

New Architecture

Results

  • Significant cost savings – as a result of the optimization, infrastructure cost was reduced by 61%.
  • Improved performance – by using the most appropriate resources for the workload, performance, and speed improved.
  • Increased security – We implemented the best practices recommended by AWS resulting in increased security.
  • Scalability – By optimizing the infrastructure and load balancers, the system became highly scalable.
  • Improved reliability, which reduced the risk of downtime, resulting in a positive experience for the users.