Join us

AWS Performance Testing: Ensuring Smooth Migration to Serverless

AWS Performance Testing: Ensuring Smooth Migration to Serverless

Performance testing is a crucial process in ensuring platform reliability and balancing costs during traffic variability. The article discusses how the SSENSE platform team approached performance-related questions after migrating one of their core services to serverless.

The service subject to re-design was the pubsub communication between microservices, which is a foundational component of the platform supporting the Event-Driven Architecture. The team redesigned the legacy system that had a single point of failure and introduced a new endpoint with a simplified message flow, allowing for flexible infrastructure deployment on multiple accounts.

Before starting the optimization process, the team designed the workload and relied on historical data for design comparison. They created benchmark scripts to compare the system's performance, ensuring that AWS service quotas were aligned, and lambdas were optimized and configured to handle traffic bursts.

For the part of the solution that involved lambdas, the team used AWS Lambda Power Tuning to optimize memory and CPU, focusing on setting effective Horizontal Pod Autoscaling (HPA) policies. They estimated the required quotas for each AWS Service, opened AWS support tickets to increase quotas, and performed multiple performance tests. During the tests, they faced some challenges related to Kinesis throughput, but the performance tests helped them prevent a potential incident.

For the parts of the solution that did not involve lambda functions, the team relied on their traffic expectations and reviewed AWS documentation to determine the required quotas. They deemed that they were not going to exceed the default account quotas and decided not to perform performance testing. However, they emphasized the importance of stress testing the system to uncover potentially overlooked aspects and make sure the application reacts accordingly.

Tip: The team's experience emphasizes the importance of performance testing in ensuring platform reliability and balancing costs during traffic variability.


Let's keep in touch!

Stay updated with my latest posts and news. I share insights, updates, and exclusive content.

Unsubscribe anytime. By subscribing, you share your email with @faun and accept our Terms & Privacy.

Give a Pawfive to this post!


Only registered users can post comments. Please, login or signup.

Start writing about what excites you in tech — connect with developers, grow your voice, and get rewarded.

Join other developers and claim your FAUN.dev() account now!

Avatar

The FAUN

FAUN.dev()

@faun
The FAUN watches over the forest of developers. It roams between Kubernetes clusters, code caves, AI trails, and cloud canopies, gathering the signals that matter and clearing out the noise.
Developer Influence
3k

Influence

302k

Total Hits

3711

Posts