• You own a massively parallel, distributed and highly available supercomputer with linear costs: 1 instance for 100 hours $= 100 instances for 1h @frankmunz
exec time • Start threads and processes • Events based, but no event bus visible • Retries + dead letter Q • You can use environment variables • Invocation times differ per language and per call @frankmunz
You pay for GB *s, metered in 100 ms • One event can trigger several funcs • Function executes at least once (-> idempotent f) • AWS Step Function: visual designer • No SLAs @frankmunz
req/month are free, forever + 400,000 GB seconds of compute time • Measured in increments of 100 msec • $0.20 per 1 million req + $0.00001667 per GB second Tip: Use AWS Cloud Watch alarms for billing! @frankmunz
small services • each running in its own process / owns it‘s data • communicating with lightweight mechanisms (M. Fowler / J. Lewis) https://martinfowler.com/articles/microservices.html @frankmunz
• A real micro service consists of multiple functions • FaaS vs. Docker / Kubernetes? ✅ Benefits of FaaS - Serverless - Zero config auto scaling - True pay per use -> higher abstraction Limits of FaaS - Language choice - Resource limits - Vendor lock-in -> reduced flexibility @frankmunz
compose µ out of / PaaS ⊇ Serverless ⊇ FaaS / FaaS = stateless / true pay per use / automated scalability / event driven / integrates with other CS / architect against vendor lock in / cloud agnostic FaaS frameworks emerge / FaaS frameworks consolidation ahead / only technically the new µ (AWS). @frankmunz