SlideShare a Scribd company logo
Submit Search
Upload
Serverless Java Challenges & Triumphs
Report
Share
David Delabassee
DevRel - Java Platform Group - Oracle
Follow
•
1 like
•
1,235 views
1
of
46
Serverless Java Challenges & Triumphs
•
1 like
•
1,235 views
Report
Share
Download Now
Download to read offline
Software
Will Java ever become relevant in the Serverless space? Presented at the Singapore JUG (March 2019)
Read more
David Delabassee
DevRel - Java Platform Group - Oracle
Follow
Recommended
Java Serverless in Action - Voxxed Banff by
Java Serverless in Action - Voxxed Banff
David Delabassee
232 views
•
22 slides
JavaOne 2015: 12 Factor App by
JavaOne 2015: 12 Factor App
Joe Kutner
3.3K views
•
83 slides
#JavaOne What's in an object? by
#JavaOne What's in an object?
Charlie Gracie
3.2K views
•
50 slides
Polygot Java EE on the GraalVM by
Polygot Java EE on the GraalVM
Ryan Cuprak
1K views
•
49 slides
Java modules using project jigsaw@jdk 9 by
Java modules using project jigsaw@jdk 9
Mauricio "Maltron" Leal
617 views
•
21 slides
Ausoug glassfish perth by
Ausoug glassfish perth
LansenConsulting
1.1K views
•
35 slides
More Related Content
What's hot
GlassFish in Production Environments by
GlassFish in Production Environments
Bruno Borges
9.7K views
•
41 slides
Why jakarta ee matters (ConFoo 2021) by
Why jakarta ee matters (ConFoo 2021)
Ryan Cuprak
221 views
•
62 slides
Oracle WebLogic Server 12.2.1 Do More with Less by
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
1.5K views
•
72 slides
Tecnologias Oracle em Docker Containers On-premise e na Nuvem by
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Bruno Borges
1.6K views
•
59 slides
Java EE Arquillian Testing with Docker & The Cloud by
Java EE Arquillian Testing with Docker & The Cloud
Bruno Borges
3.3K views
•
29 slides
Modularization With Project Jigsaw in JDK 9 by
Modularization With Project Jigsaw in JDK 9
Simon Ritter
6.1K views
•
39 slides
What's hot
(20)
GlassFish in Production Environments by Bruno Borges
GlassFish in Production Environments
Bruno Borges
•
9.7K views
Why jakarta ee matters (ConFoo 2021) by Ryan Cuprak
Why jakarta ee matters (ConFoo 2021)
Ryan Cuprak
•
221 views
Oracle WebLogic Server 12.2.1 Do More with Less by Ed Burns
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
•
1.5K views
Tecnologias Oracle em Docker Containers On-premise e na Nuvem by Bruno Borges
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Bruno Borges
•
1.6K views
Java EE Arquillian Testing with Docker & The Cloud by Bruno Borges
Java EE Arquillian Testing with Docker & The Cloud
Bruno Borges
•
3.3K views
Modularization With Project Jigsaw in JDK 9 by Simon Ritter
Modularization With Project Jigsaw in JDK 9
Simon Ritter
•
6.1K views
JVMs in Containers - Best Practices by David Delabassee
JVMs in Containers - Best Practices
David Delabassee
•
726 views
Developing modular Java applications by Julien Dubois
Developing modular Java applications
Julien Dubois
•
11.9K views
The Kubernetes WebLogic revival (part 1) by Simon Haslam
The Kubernetes WebLogic revival (part 1)
Simon Haslam
•
305 views
Exploring Java Heap Dumps (Oracle Code One 2018) by Ryan Cuprak
Exploring Java Heap Dumps (Oracle Code One 2018)
Ryan Cuprak
•
2K views
Melhore o Desenvolvimento do Time com DevOps na Nuvem by Bruno Borges
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
•
3.9K views
Keynote Oracle Fusion Middleware Summit_2020 by Michel Schildmeijer
Keynote Oracle Fusion Middleware Summit_2020
Michel Schildmeijer
•
851 views
20191119 Cloud Native Java : GraalVM by Taewan Kim
20191119 Cloud Native Java : GraalVM
Taewan Kim
•
1.1K views
Nuxeo WebEngine and GlassFish v3 by Nuxeo
Nuxeo WebEngine and GlassFish v3
Nuxeo
•
495 views
Is Enterprise Java Still Relevant (JavaOne 2015 session) by Ian Robinson
Is Enterprise Java Still Relevant (JavaOne 2015 session)
Ian Robinson
•
5.8K views
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013) by Andreas Koop
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Andreas Koop
•
11K views
Java EE 8 Update by Ryan Cuprak
Java EE 8 Update
Ryan Cuprak
•
9.6K views
Glassfish An Introduction by Jumping Bean
Glassfish An Introduction
Jumping Bean
•
4.2K views
Java 9 Module System Introduction by Dan Stine
Java 9 Module System Introduction
Dan Stine
•
785 views
Java EE 8 by Ryan Cuprak
Java EE 8
Ryan Cuprak
•
4.4K views
Similar to Serverless Java Challenges & Triumphs
Serverless Java - Challenges and Triumphs by
Serverless Java - Challenges and Triumphs
David Delabassee
282 views
•
41 slides
Serverless Java: JJUG CCC 2019 by
Serverless Java: JJUG CCC 2019
Shaun Smith
296 views
•
51 slides
General Capabilities of GraalVM by Oleg Selajev @shelajev by
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
165 views
•
35 slides
JVMs in Containers by
JVMs in Containers
David Delabassee
1.3K views
•
38 slides
Randstad Docker meetup - Serverless by
Randstad Docker meetup - Serverless
David Delabassee
322 views
•
37 slides
Java and Serverless - A Match Made In Heaven, Part 1 by
Java and Serverless - A Match Made In Heaven, Part 1
Curity
162 views
•
47 slides
Similar to Serverless Java Challenges & Triumphs
(20)
Serverless Java - Challenges and Triumphs by David Delabassee
Serverless Java - Challenges and Triumphs
David Delabassee
•
282 views
Serverless Java: JJUG CCC 2019 by Shaun Smith
Serverless Java: JJUG CCC 2019
Shaun Smith
•
296 views
General Capabilities of GraalVM by Oleg Selajev @shelajev by Oracle Developers
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
•
165 views
JVMs in Containers by David Delabassee
JVMs in Containers
David Delabassee
•
1.3K views
Randstad Docker meetup - Serverless by David Delabassee
Randstad Docker meetup - Serverless
David Delabassee
•
322 views
Java and Serverless - A Match Made In Heaven, Part 1 by Curity
Java and Serverless - A Match Made In Heaven, Part 1
Curity
•
162 views
JDK 10 Java Module System by Wolfgang Weigend
JDK 10 Java Module System
Wolfgang Weigend
•
3.1K views
JDK versions and OpenJDK by Wolfgang Weigend
JDK versions and OpenJDK
Wolfgang Weigend
•
1.8K views
GraalVM: Run Programs Faster Everywhere by J On The Beach
GraalVM: Run Programs Faster Everywhere
J On The Beach
•
207 views
GraalVM Native Images by Oleg Selajev @shelajev by Oracle Developers
GraalVM Native Images by Oleg Selajev @shelajev
Oracle Developers
•
278 views
Docker Compose Setup for MySQL InnoDB Cluster by Balasubramanian Kandasamy
Docker Compose Setup for MySQL InnoDB Cluster
Balasubramanian Kandasamy
•
1.3K views
Serverless Patterns by Jesse Butler by Oracle Developers
Serverless Patterns by Jesse Butler
Oracle Developers
•
296 views
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic by HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
•
706 views
Java Cloud and Container Ready by CodeOps Technologies LLP
Java Cloud and Container Ready
CodeOps Technologies LLP
•
495 views
Java 101 by javafxpert
Java 101
javafxpert
•
707 views
Node.js and Oracle Database: New Development Techniques by Christopher Jones
Node.js and Oracle Database: New Development Techniques
Christopher Jones
•
5.5K views
“Quantum” Performance Effects: beyond the Core by C4Media
“Quantum” Performance Effects: beyond the Core
C4Media
•
214 views
Java 40 versions_sgp by michaelisvy
Java 40 versions_sgp
michaelisvy
•
49 views
Why to Use an Oracle Database? by Markus Michalewicz
Why to Use an Oracle Database?
Markus Michalewicz
•
9.3K views
Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by... by scalaconfjp
Run Scala Faster with GraalVM on any Platform / GraalVMで、どこでもScalaを高速実行しよう by...
scalaconfjp
•
842 views
More from David Delabassee
Serverless Kotlin by
Serverless Kotlin
David Delabassee
251 views
•
24 slides
REST in an Async World by
REST in an Async World
David Delabassee
2.3K views
•
50 slides
JAX-RS 2.1 Reloaded by
JAX-RS 2.1 Reloaded
David Delabassee
1.7K views
•
43 slides
Java EE 8 - February 2017 update by
Java EE 8 - February 2017 update
David Delabassee
6K views
•
65 slides
Java EE Next by
Java EE Next
David Delabassee
2.2K views
•
44 slides
Java EE Next - BeJUG JavaOne Afterglow 2016 by
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
433 views
•
26 slides
More from David Delabassee
(20)
Serverless Kotlin by David Delabassee
Serverless Kotlin
David Delabassee
•
251 views
REST in an Async World by David Delabassee
REST in an Async World
David Delabassee
•
2.3K views
JAX-RS 2.1 Reloaded by David Delabassee
JAX-RS 2.1 Reloaded
David Delabassee
•
1.7K views
Java EE 8 - February 2017 update by David Delabassee
Java EE 8 - February 2017 update
David Delabassee
•
6K views
Java EE Next by David Delabassee
Java EE Next
David Delabassee
•
2.2K views
Java EE Next - BeJUG JavaOne Afterglow 2016 by David Delabassee
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
•
433 views
HTTP/2 comes to Java by David Delabassee
HTTP/2 comes to Java
David Delabassee
•
5.9K views
Java EE 8 - Work in progress by David Delabassee
Java EE 8 - Work in progress
David Delabassee
•
2.5K views
HTTP/2 comes to Java (Dec. 2015 version) by David Delabassee
HTTP/2 comes to Java (Dec. 2015 version)
David Delabassee
•
690 views
EJB and CDI - Alignment and Strategy by David Delabassee
EJB and CDI - Alignment and Strategy
David Delabassee
•
31.9K views
HTTP/2 Comes to Java by David Delabassee
HTTP/2 Comes to Java
David Delabassee
•
2.9K views
Java EE 8 - What’s new on the Web front by David Delabassee
Java EE 8 - What’s new on the Web front
David Delabassee
•
960 views
HTTP/2 Comes to Java by David Delabassee
HTTP/2 Comes to Java
David Delabassee
•
10.8K views
What's coming in Java EE 8 by David Delabassee
What's coming in Java EE 8
David Delabassee
•
2.3K views
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0 by David Delabassee
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
David Delabassee
•
1.8K views
MVC 1.0 / JSR 371 by David Delabassee
MVC 1.0 / JSR 371
David Delabassee
•
12.7K views
Java EE 8 - An instant snapshot by David Delabassee
Java EE 8 - An instant snapshot
David Delabassee
•
10.7K views
Avatar 2.0 by David Delabassee
Avatar 2.0
David Delabassee
•
1.9K views
Java EE 8 - An instant snapshot by David Delabassee
Java EE 8 - An instant snapshot
David Delabassee
•
1.7K views
HTTP/2 Comes to Java - What Servlet 4.0 Means to You by David Delabassee
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
•
13.8K views
Recently uploaded
aATP - New Correlation Confirmation Feature.pptx by
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1
222 views
•
6 slides
Transport Management System - Shipment & Container Tracking by
Transport Management System - Shipment & Container Tracking
Freightoscope
6 views
•
3 slides
nintendo_64.pptx by
nintendo_64.pptx
paiga02016
7 views
•
7 slides
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert
35 views
•
19 slides
predicting-m3-devopsconMunich-2023-v2.pptx by
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app
14 views
•
33 slides
ADDO_2022_CICID_Tom_Halpin.pdf by
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin9
6 views
•
33 slides
Recently uploaded
(20)
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1
•
222 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container Tracking
Freightoscope
•
6 views
nintendo_64.pptx by paiga02016
nintendo_64.pptx
paiga02016
•
7 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert
•
35 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app
•
14 views
ADDO_2022_CICID_Tom_Halpin.pdf by TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin9
•
6 views
Chat GPTs by Gene Leybzon
Chat GPTs
Gene Leybzon
•
13 views
Using Qt under LGPL-3.0 by Burkhard Stubert
Using Qt under LGPL-3.0
Burkhard Stubert
•
14 views
The Path to DevOps by John Valentino
The Path to DevOps
John Valentino
•
6 views
Streamlining Your Business Operations with Enterprise Application Integration... by Flexsin
Streamlining Your Business Operations with Enterprise Application Integration...
Flexsin
•
5 views
How Workforce Management Software Empowers SMEs | TraQSuite by TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite
•
7 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers
•
44 views
Techstack Ltd at Slush 2023, Ukrainian delegation by ViktoriiaOpanasenko
Techstack Ltd at Slush 2023, Ukrainian delegation
ViktoriiaOpanasenko
•
7 views
Quality Assurance by interworksoftware2
Quality Assurance
interworksoftware2
•
8 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski
•
16 views
Understanding HTML terminology by artembondar5
Understanding HTML terminology
artembondar5
•
8 views
Benefits in Software Development by John Valentino
Benefits in Software Development
John Valentino
•
6 views
Introduction to Maven by John Valentino
Introduction to Maven
John Valentino
•
7 views
Techstack Ltd at Slush 2023, Ukrainian delegation by ViktoriiaOpanasenko
Techstack Ltd at Slush 2023, Ukrainian delegation
ViktoriiaOpanasenko
•
7 views
Top-5-production-devconMunich-2023-v2.pptx by Tier1 app
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app
•
9 views
Serverless Java Challenges & Triumphs
1.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. | Serverless Java Challenges and Triumphs 1 Singapore JUG March 25, 2019 David Delabassee - @delabassee Oracle
2.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 2 Preamble…
3.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved.
4.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Belgium
5.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 5
6.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following 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. 6
7.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 7
8.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 8 Serverless
9.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Function As a Service • Function • As a Service 9 Small bits of code with a well defined job Easy to understand and maintain The system takes care of provisioning, patching, scaling, ... Each function can scale independently
10.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 10 Interest in Serverless Source: Google Trends
11.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 11 Serverless Java?
12.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 12 https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/ Top programming languages by contributors as of September 30, 2018
13.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 13 https://redmonk.com/rstephens/2019/03/20/redmonk-top-20-languages-over-time-january-2019/ RedMonk Top 20 Languages Over Time: Sept 2012 - Jan 2019
14.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 14 4.96% of functions are Java 8!? https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
15.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 15 And the Trend isn’t Great! https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
16.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Serverless Java Landscape • AWS Lambda - Java 8 support (June 2015) • Azure Function - Java 8 support (February 2019) • Google Cloud Function - NA 16
17.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 17 http://redmonk.com/jgovernor/2016/10/12/when-web-companies-grow-up-they-turn-into-java-shops
18.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Serverless Java • FaaS seen as a scripting platform for the web? • Doesn't fit normal Java development patterns? • JVM not suitable for short-lived “apps”? 18
19.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Blueprints for Serverless Java • “Plain old Java” • Established toolchains • Ability to build complex applications • Low latency/high performance • Rich JVM ecosystem 19
20.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. • Open-source, Container NaAve, Serverless PlaDorm • Apache v2 licence • Run anywhere - Cloud / Datacenter / Laptop • Fn ♥ • FuncAons are containers 20 https://github.com/fnproject/fn
21.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 21 Demo
22.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Fn Java Function Development Kit • Docker images –A build image for repeatable builds –An optimized runtime image • JUnit test harness • Maven support • Input/output coercion • Flow • … 22
23.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Blueprints for Serverless Java • “Plain old Java” ✓ • Established toolchains ✓ • Ability to build complex applications • Low latency/high performance • Rich JVM ecosystem 23
24.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 24 Fn Flow
25.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Serverless 25 Permanent Storage Lives Elsewhere ts 10 5 5 5 5 8 7 7 8 10
26.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Fn Flow • Build reliable and scalable Faas applica(ons • Provides rich concurrency primi(ves including fork-join, chaining, delays and error handling • Java support based on Java 8 Comple(onStage API For long-running, reliable, scalable functions
27.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Fn Flow For long-running, reliable, scalable functions Flow flow = Flows.currentFlow(); FlowFuture<byte[]> stage = flow.invokeFunction(aFunc, input.getBytes()) .thenApply(HttpResponse::getBodyAsBytes); byte[] result = stage.get();
28.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Fn Flow 28 Demo Java FDK Flow
29.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Blueprints for Serverless Java • “Plain old Java” ✓ • Established toolchains ✓ • Ability to build complex applications ✓ • Low latency/high performance • Rich JVM ecosystem 29
30.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Low latency/high performance • Respect resource constraints • Start fast • Run in small(er) images 30 What do we want containerized JVMs to do?
31.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Respecting Resource Constraints • JDK-8179498:attach in Linux should be relative to /proc/pid/root and namespace aware as jcmd, jsack, etc. fail to attach (resolved in JDK 10) • JDK-8193710: jcmd –l and jps commands do not list Java processes running in Docker containers (resolved in JDK 11) • And more... JDK-8203357: Container Metrics (resolved in JDK 11.0.1) • JDK 11—JEP 318: Epsilon, i.e. No-Op, Garbage Collector (experimental) 31 Being Container Friendly
32.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Start Fast 32 Moving Startup Costs to Build-Time • Class Data Sharing –Avoid parsing JDK classes on start • Application CDS –Avoid parsing App classes on start • AOT compilation –Compile App classes to native .so libraries (experimental)
33.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Start Fast 33 Small(er) Container Images = Faster Start-up
34.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Run Small(er) Images 34 Reduce layers size • Java Function and its dependencies • Java Runtime • Operating System
35.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Run Small(er) Images 35 Reduce layers size • Project Portola – Run the JVM on musl – https://openjdk.java.net/projects/portola/ • musl – Lightweight, fast, simple, free, C standard library implementation – http://www.musl-libc.org • Alpine – Security-oriented, lightweight Linux distro with 4MB base image – https://www.alpinelinux.org
36.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Run Small(er) Images 36 Reduce Java Runtime layer size - jlink Modules JLink flags Mb JDK 12 Whole JDK! 318.7 openjdk:11-jre-slim 11 (default) NB: openjdk:12-jre-slim not yet available! 217.0 JRE 12 all (explicit) --add-module $(java --list-modules) 168.3 100.0% + --no-header-files --no-man-pages --strip-debug 143.0 85.0% + --compress=1 107.8 64.1% + --compress=2 83.7 49.7% Custom JRE 12 base, logging --add-module $(jdeps --print-module-deps func.jar) 47.4 28.2% 100.0% + --no-header-files --no-man-pages --strip-debug 41.6 24.7% 87.8% + --compress=2 32.0 19.0% 67.5% OpenJDK (build 12-ea+29) - alpine:3.9 x86_64 318 Mb 168 Mb 47 Mb 32 Mb
37.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 37 jlink/Alpine Demo
38.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Run Small(er) Images • GraalVM compiles Java source to a single native binary • Tiny image sizes • Low VM overhead 38 GraalVM
39.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 39 GraalVM Demo
40.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Blueprints for Serverless Java • “Plain old Java” ✓ • Established toolchains ✓ • Ability to build complex applications ✓ • Low latency/high performance ✓ • Rich JVM ecosystem 40
41.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Ongoing Ecosystem Evolution… • Substrate VM • Java release cadence • Other JVM based languages – Kotlin, Groovy, etc. • … • Fn init-image 41
42.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Blueprints for Serverless Java • “Plain old Java” ✓ • Wide choice of good tooling ✓ • Ability to build complex applications ✓ • Low latency/high performance ✓ • Rich JVM ecosystem ✓ 42
43.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 43 Serverless Java—Does it have a future? Absolutely!
44.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 44 Call to Action https://github.com/fnproject/fn
45.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. Coming Soon: Oracle Functions Function Dev KitsOpen Source Engine Oracle Cloud Triggers Events HTTP Timer Streams Container Native Advanced DiagnosticsFine-grained Billing
46.
Copyright © 2019,
Oracle and/or its affiliates. All rights reserved. 46 Thanks!