Event Driven Adventures in Serverless

Lansing DevOps Meetup
November 5th, 2019

Brendon Thiede

  • DevOps Platform Engineer
  • Minimalist
  • Penny Pincher

This is not a talk about why you should start using serverless...

Optimizations

CAP Theorem

  • Consistency
  • Availability
  • Partition Tolerance

DERP Theorem

  • Debugability
  • Expenses
  • Redundancy
  • Performance

Serverless Optimizations

Hardware Utilization

  • Bare metal
  • Virtual Machines
  • Containers
  • Functions

Cost

  • Per CPU time unit
  • Per memory usage
  • I/O

Serverless Options

  • Lambda
  • Cloud Functions
  • Azure Functions
  • OpenWhisk
  • Cloudflare Workers
  • Knative

Minimum Requirements

  • Distributed Tracing
  • API gateway/routing management
  • Cost analysis

Eventing

  • Push vs Pull

Event Triggers

  • HTTP
  • Message Queue
  • Database Change
  • File Change
  • Timer

Patterns for Eventing

  • CQRS
  • Event Sourcing
  • Actor Model (Akka)

Messaging Concepts

  • Peek/Pull
  • Retries/TTLs
  • Dead Letter Queue

Use Cases

  • File Conversion
  • Approvals
  • Alerting
  • Traffic Spikes
  • CI/CD

Predictions

  • Better management tools
  • Behind the scenes transformation
  • Open standards for eventing

References