About Company
Customer is the world’s leading compliance management software platform for organisations with multiple outlets. The tool assists with organisations with training, audits, communications & incident reporting.
The Challenge
Customer has a public facing website used by thousands of users over the day. Issues with application performance in terms of page response time had seen a drop in user traffic. Need of the hour was to ensure the site is accessible all the time while keeping the cost of the infrastructure low.
The Solution
Looking at the application and how it is setup, it could be split into two categories
1. Management portal to perform updates/publishing to website
2. Accessibility of pages / content to public users
Customer had around 15-20 pages a day which were published to the website.
To increase the page response time below activities were done
1. Cloudfront was enabled for public pages (i.e. excluding content management portal)
2. App Insights monitoring tool (NewRelic) was used to identify long running sql queries and optimize
3. Elastic Redis Cache was enabled to cache the DB responses
As customer wanted to have RPO of 2 hours (acceptable effort involved in recreating the pages), creating DB snapshots and copying to DR region did not work. Moreover, with snapshots, it was not possible to achieve required RTO of 45 minutes in case of any regional outages. To address this, cross region read replica was setup on the database and single instance running to ensure public urls were accessible all the time.
Benefits Achieved By The Company
With this setup, customer was able to achieve improved page response time of less than 2.4 seconds there by increasing the user traffic by atleast 25%