Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java in serverless world with Fn project [CodeOne 2018]

Java in serverless world with Fn project [CodeOne 2018]

Serverless isn't a new thing, Amazon is offering it for a long time now, it is well know in JavaScript world, but is it present also in Java.

Java is often considered as "heavy weight", code need to be compiled, JVM need to be started, is it even possible to do serverless in Java world, and on top of that not be tied to Cloud provider specific implementation.

Join me in this talk, where I will answer all of this questions and many more while showing you Fn project open-source container-native serverless platform that you can run anywhere. You will know after it what it is, what it isn't should you use it, and when not to use it.

All of this will be done through code since it is more fun that way

Code: https://github.com/vladimir-dejanovic/java-in-fn-project

Vladimir Dejanovic

October 22, 2018
Tweet

More Decks by Vladimir Dejanovic

Other Decks in Programming

Transcript

  1. @VladimirD_42 #CodeOne Serverless Explained Hardware Virtual Host Docker App Function

    More Options Less Options More Work for Us More Work for Others
  2. @VladimirD_42 #CodeOne The Fn project is an open-source container-native serverless

    platform that you can run anywhere -- any cloud or on-premise.
  3. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  4. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  5. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  6. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  7. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  8. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  9. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  10. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  11. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  12. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)
  13. @VladimirD_42 #CodeOne FN Flow Flow flow = Flows.currentFlow(); FlowFuture f

    = flow.supply( () -> ….) .thenApply(i -> … ) .exceptionally(err -> … ) FlowFuture f = flow.invokeFunction(<name>, <input value>)