HepFly Survives



As a result of the increasing growth, HepFly decided to go to TV ads which would create high web load and decided the scaling of their current Application which is on AWS Infrastructure. The objective was to build a scalable infrastructure on AWS benefiting from automation, higher productivity, better quality, uniform management, improved reporting & tracking and cost efficiency. This infrastructure provides scalability and automated deployment functions which lets HepFly to have a better control on its infrastructure and flexibility to meet the changing market conditions.

Client: HepFly
Project type: Microservices Performance Optimization


Our approach includes Performance Test Development, Running and Reporting on new proposed architecture. Our proposed architecture includes independently deployable and auto-scalable infrastructure which consists of 3 components distributed in 2-Tier. One tier have the web servers provisioned by Elastic Beanstalk and configured using autoscaling feature of AWS. A public-faced ELB distributes load and also terminates SSL which is uploaded to IAM. Static contents are served by CloudFront that fetched from a S3 bucket. DNS queries are resolved by Route53 and alias/CNAMEs are used for both ELB and CloudFront endpoints.

Database tier consists of Multi-AZ configured RDS and ElastiCache service which provides caching and session statement for the web tier.

Various real customer scenarios using jmeter and in each step we guided their development team to solve the bottleneck we discovered. The architecture includes around 30 Microservices which are deployed and runs independently, thus should also scale independently. Benefiting from the stress tests, we have done various refactorings on their code-base. As a result, TV ads period was smooth as the bottlenecks were already discovered.

All the monitoring and logging of the environment are managed by Elastic Beanstalk dashboard which is integrated with CloudWatch. Alarms for critical metrics are configured to send email to customer IT team via SNS. For security and governance, IAM password policy, MFA and IAM groups are enabled and all API access to AWS are logged by enabling CloudTrail.

Besides, continuous smoke tests are developed on NewRelic Synthetics using this simple code


Screenshot from 2019-03-19 13-10-31


Increasing alert management and performance

Performance Testing using jmeter helped the team to deploy several hotfix for the purpose of scaling and performance. Besides, NewRelic helped to increase the awareness of anomalities in the website, benefiting from Synthetics.


Some of our results:

  • 30%-40%
    Performance Increase
  • 100K
    Synthetics custom checks