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

Performance Tales of Serverless

Performance Tales of Serverless

Function-as-a-Service serverless cloud offerings provide us with an easy way to run custom code in response to events. One promise of the FaaS model is the ability to scale without limits, up or down, whenever needed.

But how does that work in practice? Can AWS Lambda handle thousands of messages per second? How fast can Azure Functions scale up under sudden heavy load? What kind of latency can you expect from Google Cloud Functions?

This session is a set of short tales, each one of them teaching us a lesson about the practical scalability of serverless applications. I will also suggest steps to evaluate whether your application profile is suitable for serverless today.

Mikhail Shilkov

November 12, 2018
Tweet

More Decks by Mikhail Shilkov

Other Decks in Technology

Transcript

  1. м

  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 }