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.

A74856fc0372c6552b2f0db4d17d5335?s=128

Jonathan Schellack

August 17, 2019
Tweet

Transcript

  1. Serverless Computing: Promises & Pitfalls Jonathan Schellack @schellack / sal.us

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

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

    only what you must •Disown everything else @schellack
  4. Constraints •Freedom •Limited resources •Finances •Time •Attention @schellack

  5. 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
  6. 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
  7. Event Driven • Publish/subscribe • CQRS • Backend-as-a-service • Rethink

    how we design applications @schellack
  8. Utility Based • Compute = commodity • Scale to zero

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

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

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

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

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

    (see top 10 guide) • Environment separation @schellack
  14. Pitfalls • Snowflakes ❅ ❆ • Test automation • Deployment

    automation @schellack
  15. 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
  16. Let’s solve problems @schellack

  17. Let’s solve problems •Automation •Web apps •Analytics •Batch processing •Internet-of-things

    @schellack
  18. Session evaluations are ONLINE ONLY http://j.mp/SSBREVAL