What was the problem or opportunity that we needed to solve? đ¯
Myenergi faced a challenge when its newly migrated cloud-hosted servers for customer telemetry data quickly approached capacity due to strong sales growth. We were tasked with creating a next-gen telemetry server capable of handling heavy loads, reducing operational costs, and enhancing the developer experience to streamline the innovation process.
How have we approached the challenge? đĄ
Our strategy involved an in-depth assessment of the system load in identifying bottlenecks and AWS cost reporting scrutiny to pinpoint high-cost components. We then directed our development efforts towards eliminating these components, replacing them with elastic scaling elements to dynamically meet demand.
What is the outcome? â
Our intervention led to eliminating outages from the front-end services and a halt to increasing costs relative to user numbers. Over a series of releases, we significantly decreased infrastructure costs. Meanwhile, system uptime and feature rollout capabilities were significantly improved.
Applied technologies đģ
We transitioned the platform to AWS Lambdas, using the Serverless Stack (SST) framework to enhance the local development environment and ensure highly optimised deployment. We adopted a strategy of system decoupling, incorporated queues for faster response times, and optimised costs. We also implemented working caches to reduce database reliance, significantly reducing costs and enhancing system performance.
Keywords
AWS Fargate, AWS Lambda, SST, AWS Aurora, AWS RDS, EventBridge, SQS, Redis Cache, PostgreSQL, TimescaleDB, Terraform, Zod, Vitest, Typescript, Node.js