HepFly Survives



HepFly decided to release TV ads for growth. Because they anticipated the success of their TV ad campaign, which would create a high web load, they decided to scale their current application which is on AWS Infrastructure. The objective was to build a scalable infrastructure on AWS leveraging automation, higher productivity, better quality, uniform management, improved reporting & tracking, and cost efficiency. This infrastructure provides scalability and automated deployment functions which let HepFly have a better control on its infrastructure and flexibility to meet the changing market conditions.

Client: HepFly
Project type: Microservices Performance Optimization


We developed and ran performance tests on the new proposed architecture. Our proposed architecture includes independently deployable and auto-scalable infrastructure which consists of 3 components distributed in 2-Tiers. One tier has 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 content fetched from an S3 bucket  is served by CloudFront. 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 services which provide caching and session statement for the web tier.

We run various real customer scenarios using jmeter and in each step we guided their development team to solve the bottlenecks we discovered. The architecture includes around 30 Microservices which are deployed and ran 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