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

Scalability Myth Busters

Scalability Myth Busters

Function-as-a-Service serverless offerings are advertised as the way to build event-driven applications in days or hours, and then scale them up to millions of users – all for several dollars a month.

But how does that work in today’s cloud? What do we know about the internals of FaaS implementations? Is scalability a solved problem?

Join Mikhail on a journey into the depths of how serverless scalability works, what’s common and what’s different across cloud providers, and why you should care.

Mikhail Shilkov

April 10, 2019
Tweet

More Decks by Mikhail Shilkov

Other Decks in Programming

Transcript

  1. Fighting Cold Starts: Azure [FunctionName("Warmer")] public static void WarmUp( [TimerTrigger("0

    */15 * * * *")] TimerInfo timer) { // No need to do anything }
  2. Resource Pooling: Persist Connections const http = require('http'); const agent

    = new http.Agent({keepAlive: true}); exports.mycloudfunction = (req, res) => { req = http.get({ host: '...', port: 80, path: '...', agent: agent }, // ...
  3. Reuse HTTP Connections in C# private static HttpClient Client =

    new HttpClient(); [FunctionName("MyFunc")] public static async Task Run([QueueTrigger("q")] string message) { var response = await Client.GetAsync("https://mikhail.io"); // ... the rest goes here }