Data flow and app architecture assessment
What If Media Group is an award-winning performance marketing company that enables the world’s leading brands to acquire valuable new customers at scale. What If Media Group delivers the most cost-effective and highest performing marketing campaigns for its clients.
Issues with the core What If Media Group (WIMG) Amazon Relational Database Service (RDS) PostgreSQL database were causing outages and application performance degradation. Current observability was not sufficient to diagnose the issue.
Ollion initiated a comprehensive data flow assessment coupled with an application architecture assessment. This dual approach surfaced both database design and performance issues and application data access pattern issues.
WIMG expects to decrease the load on the Amazon Relational Database Service (RDS) by over 20%. Offloading the click-stream analytics will further reduce load.
A critical and low level of effort first step was to add Amazon Relational Database Service (RDS) Postgres read replicas to the architecture and refactor the Amazon Elastic Container Service (ECS) application to utilize the read replicas.
Further performance gains were achieved by refactoring event streams to insert instead of update data. We are performing a POC (Proof of Concept) with Amazon Kinesis Data Firehose to offload the handling of click-stream data from Amazon Relational Database Service (RDS).
A key component of achieving the desired results was working collaboratively with WIMG’s Engineers to ensure proper knowledge transfer for future enhancements. This collaborative working partnership led to the successful implementation of the read replica pattern.
Due to the heavy application architecture relying heavily on reads, WIMG expects to decrease the load on the Amazon Relational Database Service (RDS) database by at least 20%. Offloading the click-stream analytics will further reduce the load with expectation of a significant reduction in bottlenecks.
When faced with a lack of sufficient observability understanding how the data flows through the system and how the application expects to access the data is paramount. The approach of having data experts and application experts working together to analyze performance issues proved successful.