University of Minnesota
Software Engineering Center
/

You are here

With Great Scalability Comes Great Responsibility

Date of Presentation: 
Tuesday, December 26, 2017
Presented By: 
Description: 
This is a story of how I took down one of our vendor’s services with an innocent serverless application. I wanted to retrieve data from one of our monitoring platforms to analyze SPS Commerce’s software performance. Initially, I wrote a script to collect the data using python multiprocessing. To gather this data in a more scalable, fast, and efficient way, I decided to pivot to a serverless architecture. Unfortunately, my solution ended up spawning requests faster than the REST API could handle. In this talk, we will cover the contextual pros and cons of a number of architectural patterns given real world scalability constraints; from orchestrating Lambdas with AWS step functions to multiprocessing with S3 triggers to rate limiting with queues like SQS.