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

Serverless Computing - Promises and Pitfalls - by Jonathan Schellack

Serverless Computing - Promises and Pitfalls - by Jonathan Schellack

An introduction to Serverless Cloud Computing, presented at SQL Saturday Baton Rouge 2019. This talk by Jonathan Schellack talks about "why serverless", as well as both the pros and the cons of this new way of architecting software systems.

Jonathan Schellack

August 17, 2019
Tweet

Other Decks in Programming

Transcript

  1. Why are we here? •Technology is the means, not the

    end •Business Problems > Buzzwords @schellack
  2. Defining a negative •Missing servers •Focus on what’s missing •Do

    only what you must •Disown everything else @schellack
  3. So what is serverless?! “Serverless is an event driven, utility

    based, stateless, code execution environment.” – Simon Wardley “Serverless architectures are application designs that incorporate third-party ‘Backend as a Service’ (BaaS) services, and/or that include custom code run in managed, ephemeral containers on a ‘Functions as a Service’ (FaaS) platform.” – Mike Roberts @schellack
  4. So what is serverless?! “Serverless is an event driven, utility

    based, stateless, code execution environment.” – Simon Wardley • Event-driven • Utility-based • Stateless • Code execution environment @schellack
  5. Utility Based • Compute = commodity • Scale to zero

    • Performance (suddenly?) matters • IT + Finance @schellack
  6. Stateless • Global state was already bad, before serverless •

    Incompatible with serverless (mostly) @schellack
  7. Code execution environment • Code • Where are the functions?

    • Someone else’s environment @schellack
  8. Promises • Manage what matters • Autoscaling • Elastic •

    Scale to zero • Excellent fit for one-off compute tasks • Environment-enabled DRY @schellack
  9. Pitfalls • No state • Idempotency • Autoscaling (connections) •

    Difficult to cache • Difficult to coordinate between components • You have to plan and estimate @schellack
  10. Pitfalls • Security " • Public Internet • Common vulnerabilities

    (see top 10 guide) • Environment separation @schellack
  11. Pitfalls • Black Box • Traceability • End-to-end • Observability

    • Build systems that allow us to see (from outside) what is actually going on (inside) without shipping new code