Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Why are we here? •Technology is the means, not the end •Business Problems > Buzzwords @schellack

Slide 3

Slide 3 text

Defining a negative •Missing servers •Focus on what’s missing •Do only what you must •Disown everything else @schellack

Slide 4

Slide 4 text

Constraints •Freedom •Limited resources •Finances •Time •Attention @schellack

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Event Driven • Publish/subscribe • CQRS • Backend-as-a-service • Rethink how we design applications @schellack

Slide 8

Slide 8 text

Utility Based • Compute = commodity • Scale to zero • Performance (suddenly?) matters • IT + Finance @schellack

Slide 9

Slide 9 text

Stateless • Global state was already bad, before serverless • Incompatible with serverless (mostly) @schellack

Slide 10

Slide 10 text

Code execution environment • Code • Where are the functions? • Someone else’s environment @schellack

Slide 11

Slide 11 text

Promises • Manage what matters • Autoscaling • Elastic • Scale to zero • Excellent fit for one-off compute tasks • Environment-enabled DRY @schellack

Slide 12

Slide 12 text

Pitfalls • No state • Idempotency • Autoscaling (connections) • Difficult to cache • Difficult to coordinate between components • You have to plan and estimate @schellack

Slide 13

Slide 13 text

Pitfalls • Security " • Public Internet • Common vulnerabilities (see top 10 guide) • Environment separation @schellack

Slide 14

Slide 14 text

Pitfalls • Snowflakes ❅ ❆ • Test automation • Deployment automation @schellack

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Let’s solve problems @schellack

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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