Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java Serverless in Action - Voxxed Banff

41 views

Published on

October 2018

Published in: Software
  • Be the first to comment

  • Be the first to like this

Java Serverless in Action - Voxxed Banff

  1. 1. Serverless Java in Action David Delabassee @delabassee Fn DevRel - Oracle
  2. 2. @delabassee Belgium 2
  3. 3. @delabassee Function as a Service • Function • As a Service 3 Small bits of code with a well defined job Easy to understand and maintain The system takes care of provisioning, scaling, patching, ... Each function can scale independently
  4. 4. @delabassee Serverless https://serverless.zone/serverless-is-just-a-name-we-could-have-called-it-jeff-1958dd4c63d7 (Servers) “‘Serverless’ is just a name. We could have called it ‘Jeff ’” - Paul Johnston
  5. 5. @delabassee Why Serverless? • No Server • Automatic Scaling • Only pay for what you use • Agility Management
  6. 6. @delabassee 6 Open Source Container Native FaaS Platform Introducing Fn Project https://github.com/fnproject
  7. 7. @delabassee Introducing Fn Project 7 Open Source Approachable Container based Platform independent Language independent Scheduler independent No lock-in Easy for new users More controls for advanced users Leverage Docker Cloud, On-Perm, laptop Go, Java, Python, … K8S, ...
  8. 8. @delabassee Introducing Fn Function Code wrapped in a Container Image –Input from stdin –Output to stdout –Logs to stderr –Or simply use an FDK! Fn handles everything else!
  9. 9. @delabassee Fn Architecture • Fn CLI • Fn FDK's 9
  10. 10. @delabassee Fn 10 Awesome Java support
  11. 11. @delabassee Fn 11 … not just Java • Go • Python • JS • Ruby • … • or bring your own! – Init-image
  12. 12. @delabassee Serverless 12 Permanent Storage Lives Elsewhere ts 10 5 5 5 5 8 7 7 8 10
  13. 13. @delabassee Fn Flow • For long-running, reliable, scalable functions with primitives for fork-join, chaining, delays and error handling • Java support based on Java 8 CompletableFuture API • Go, Node and Python support on the way! 13
  14. 14. @delabassee Fn Flow Demo Fn Flow
  15. 15. @delabassee Rapid Ecosystem Evolution… 15 • Java release cadence • JVM based languages – Kotlin, Groovy, etc. • “JVM-less” – E.g. Substrate VM • … • Fn init-image
  16. 16. @delabassee Fn 16 And more… • Spring Cloud Function support • Serverless Framework support • JAX-RS support • CNCF CloudEvents support • Hot – Frozen – Cold Functions • Helm Chart for K8S • Async Functions (*)
  17. 17. @delabassee Fn 18 Monitoring & Management • OpenTracing support • Pluggable backend – Prometheus Metrics Sets • Function counts • Operation durations • Docker metrics • Logging via syslog • Fn CLI • Fn Dashboard
  18. 18. @delabassee Fn • Container Native, Cloud Agnostic, Polyglot, Open Source FaaS Platform • Init, Test, Deploy, Invoke and Scale 19 Recap
  19. 19. @delabassee Fn - An Ideal Functions Platform 20 • Platform Independent - laptop, server, cloud • Scheduler Independent - deploy to Kubernetes, Swarm, etc. • Docker Based - leverage Docker ecosystem • Open Source - no vendor lock-in • Approachable - easy for new users, low level controls for advanced users https://github.com/fnproject/
  20. 20. @delabassee 21 Thanks!
  21. 21. @delabassee Fn 22 Resources • https://github.com/fnproject/ • https://fnproject.slack.com/messages • http://fnproject.io • https://medium.com/fnproject/ • https://twitter.com/fnproject
  22. 22. @delabassee Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 23

×