Intro to Fn in 10 Minutes - JeffConf 02/18

E41ff53614fcbf599d07b0d55bd18269?s=47 Chad Arimura
February 16, 2018

Intro to Fn in 10 Minutes - JeffConf 02/18

E41ff53614fcbf599d07b0d55bd18269?s=128

Chad Arimura

February 16, 2018
Tweet

Transcript

  1. Intro to Fn in 10 Minutes JeffConf 2/16/18 Chad Arimura

    VP Serverless, Oracle @chadarimura
  2. About Me • Engineer and builder • 3x entrepreneur, most

    recently founding CEO of Iron.io • Blame us (at least partially) for Jeff
  3. What is Serverless?

  4. Why Serverless?

  5. Introducing the Fn Project • Open-source serverless compute platform created

    by Iron.io team that built IronFunctions • Can be deployed to any cloud and on-premise • Active w/ 2500+ commits across 60+ contributors • Independently governed with plans for foundation
  6. Differentiators • Open source and runs anywhere • Containers as

    primitives (bring-your-own-dockerfile) • Simple, elegant, and extensible by design • Independent yet vendor backed • Strong enterprise focus (security, scalability, observability, etc.)
  7. An Fn Function • Small chunk of code wrapped into

    a container image • Gets input via STDIN and environment • Produces output to STDOUT • Logs to STDERR The Fn server handles everything else, like the API gateway, piping things around, storing logs, etc.
  8. Fn CLI • fn init --runtime go • fn run

    • fn test • fn deploy --app myapp • fn call myapp myfunc → http://localhost:8080/r/myapp/myfunc
  9. Demo #1

  10. Fn Flow • Build long-running, reliable, scalable functions with rich

    sets of language-specific primitives including fork-join, chaining, delays and error handling • Supports complex parallel processes that are readable and testable (including unit tests) with standard programming tools • Java support using CompletableFuture API from Java 8 with JS, Python, Go language support on the way!
  11. Plate Detect Function Draw Function Slack Function Twitter Function Scraper

  12. Scraper Plate Detect Function Draw Function Slack Function Twitter Function

    FlowFuture.invoke() thenCompose() thenCompose() allOf() whenComplete()
  13. Scraper Plate Detect Function Draw Function Slack Function Twitter Function

    FlowFuture.invoke() thenCompose() thenCompose() allOf() whenComplete() Flow Function
  14. None
  15. Demo #2

  16. Thank you! Chad Arimura VP Serverless @chadarimura 1. Star the

    project: github.com/fnproject/fn 2. Join the conversation: slack.fnproject.io 3. Learn more: fnproject.io 4. We’re hiring engineers and evangelists: chad.arimura@oracle.com