Serverless Architectures: Devoxx 2017 Presentations (includes AWS Lambda, Fn Project)

643cd45dcfa73b072018046e39ed36d1?s=47 Frank Munz
November 15, 2017

Serverless Architectures: Devoxx 2017 Presentations (includes AWS Lambda, Fn Project)

AWS Lambda, Fn Project, Microservices, Serverless

643cd45dcfa73b072018046e39ed36d1?s=128

Frank Munz

November 15, 2017
Tweet

Transcript

  1. 2.
  2. 3.

    • 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
  3. 4.

    Content 1. Clouds 2. FaaS (AWS Lambda) 3. Serverless 4.

    Frameworks (Fn Project) 5. Conclusion #serverless @frankmunz
  4. 8.

    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
  5. 10.

    PaaS IaaS Amazon EC2 Oracle CI AWS Beanstalk Oracle ACCS

    FaaS AWS Lambda Oracle TBD Automated elasticity. True pay per use. Container Service AWS ECS OCCS API? Elasticity? Pay per use?
  6. 12.

    FaaS: AWS Lambda • AWS announced Lambda in 2014 •

    Lambda is Function as a Service (FaaS) @frankmunz
  7. 13.

    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
  8. 15.

    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
  9. 16.

    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
  10. 19.

    Example: Image Recognition Flow munz & more #19 Extract meta

    data AI based recognition Create thumbnail How to model flow?
  11. 21.

    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
  12. 22.

    Cost Savings Expedia(2016): – 2.3 billions calls – 200k hours

    / month – $ 550 a month Postlight – API GW, Lambda, Serverless – Costs dropped 2 orders of magnitude down to $ 370 https://www.youtube.com/watch?v=gT9x9LnU_rE https://trackchanges.postlight.com/serving-39-million-requests-for-370-month-or-how-we-reduced-our-hosting-costs-by-two-orders-of-edc30a9a88cd http://serverlesscalc.com/ @frankmunz
  13. 24.

    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
  14. 25.

    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
  15. 26.
  16. 28.

    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
  17. 29.

    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
  18. 31.
  19. 32.

    Serverless Mark Cavage, Java One 2017: “Reduce notion of all

    infrastructure” Serverless Example: AWS SQS 1 Mio Req $0.40 @frankmunz Wasn’t that PaaS ? Yes it‘s PaaS, but serverless requires… • Never pay for idle • Automated elasticity • Reduced config settings
  20. 35.

    FaaS OS Frameworks Overlap in functionality -> expect consolidation Survival

    is about: • Integration: K8s, Traefik, Zipkin, Prometheus, Kafka etc. • Adoption, adoption, adoption • FaaS as PaaS implementation? https://github.com/faas-lane/ FaaS-Lane/tree/master/candidates @frankmunz
  21. 36.

    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
  22. 37.

    Fn Project • Jackson for JSON marshalling in Java •

    JAX-RS demo • Hot functions (30 seconds) • Fn PaaS service likely? J @frankmunz
  23. 40.

    Outlook • Oracle’s Cloud Native Container strategy – Kubernetes –

    Wercker – Pay per invocation (?) • Fn Project as PaaS and on premises • Azure Container Instance: pay per invoke (today!) @frankmunz
  24. 42.

    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
  25. 43.

    3 Membership Tiers • Oracle ACE Director • Oracle ACE

    • Oracle ACE Associate bit.ly/OracleACEProgram 500+ Technical Experts Helping Peers Globally Connect: Nominate yourself or someone you know: acenomination.oracle.com @oracleace Facebook.com/oracleaces oracle-ace_ww@oracle.com