Upgrade to Pro — share decks privately, control downloads, hide ads and more …

When Serverless Gets In the Way of Scalability

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for TechMasters TechMasters
September 28, 2018

When Serverless Gets In the Way of Scalability

By Lily Li & Christian Zommerfelds - D2L

Presented at Functions 2018 / ServerlessDays Toronto

https://functions.events/2018/toronto/bret-mcgowen/

Avatar for TechMasters

TechMasters

September 28, 2018
Tweet

More Decks by TechMasters

Other Decks in Programming

Transcript

  1. Scalable and resilient system • Horizontally scalable • Cost efficient:

    $$$ • Resilient to traffic spikes and partial system failure • Low latency when system scales
  2. 18 rps × 555 ms = 10 n = r

    × t 10 max concurrency
  3. Concurrency limit (n = 50) 50 = 90 rps ×

    555 ms 9.5s per success was 50s you still save 81%! now 9.5s
  4. TCP solves a very similar problem! AIMD Performance Under Load

    failure detection concurrency adjustments
  5. Summary • Concurrency limit is better than rate limiting •

    Consider using dynamic concurrency limits • Use Little's Law for analysis
  6. Other tips • Number of retries (Node.js SDK default of

    10 can be terrible!) • Concurrency limit per invocation = no limit • Never assume, load test your system