• Founded munz & more in 2007 • > 15 years Middleware, Cloud, and Distributed Computing • Consulting and High-End Training • Wrote two WebLogic and a Cloud book Dr. Frank Munz @frankmunz
Pay Per Use • 1 US cent/h (micro), geo-distribution included • You own a massively parallel, distributed and highly available supercomputer with linear costs: 1 instance for 100 hours $= 100 instances for 1h @frankmunz
AWS Lambda AWS SAM Local: test and locally run Lambda (Public Beta) event: event passed to function context: runtime context callback: optional return (or null) @frankmunz
Lambda Tech Details I • Stateless, with 5 min max 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
Lambda Tech Details II • No config for scaling • 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
Pricing Every started request is charged: • First 1 million 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
Function as a Service • Automated elasticity • True pay per invocation • Ephemeral compute Definition Characteristics • Event based • Reduced control plane (mem + CPU + I/O) • Uses container tech
AMIGO: Public Cloud Services Amazon Microsoft IBM Google Oracle Name Lambda Azure Functions Open Whisk Cloud Functions tbd Year 2014 2016 2016 2016 2016 Status prod prod prod beta announced Language Support NodeJS 4.3.2, Java8,Python 2.7, .Net C#, native Linux JS, PHP, C#, F#, Python, bash, PowerShell NodeJS, Java, Phython, (Docker) NodeJS (not Java) Docker based ? Remarks Bundle functions, OneDrive and Bot integration Apache Incubator Deploy from github or BitBucket, CLI Based on open source Fn Project? Link https://aws.amazon. com/lambda/ https://azure.microsoft.co m/en- us/services/functions/ https://openwhisk.apa che.org/ https://azure.microsoft.co m/en- us/services/functions/ https://cloud.oracle.com/home
Microservices Developing a single application as • a suite of 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
FaaS = Microservice? • FaaS fulfills M. Fowler’s microservices definition • 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
Fn Project • Apache 2, Open Source Java One 2017 • Fn Server (micro API GW), LB, Flow • Function / Container duality • Docker is only dependency -> polyglot @frankmunz
TL;DR #serverless & #FaaS in all major clouds / could 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