Slide 1

Slide 1 text

What’s new for Java in the clouds? Sebastian Daschner Lead Developer Advocate

Slide 2

Slide 2 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS About me Sebastian Daschner Lead Java Developer Advocate @ IBM Java Champion Consultant, trainer, book author JCP Expert Group member & Jakarta EE Committer Oracle Developer Champion (Alumni) JavaOne Rockstar speaker

Slide 3

Slide 3 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Let’s talk about Java

Slide 4

Slide 4 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Java: Where are we? ● #1 Tiobe Index ● Widely used in enterprise software ● 20+ years of experience ● Often first choice in universities ● Powers the smallest to largest runtimes

Slide 5

Slide 5 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS And the future?

Slide 6

Slide 6 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Thinking positively about Java? Still learning about features in Java 8? Looking at Java 10 or going to Java 11? Trying to understand the new feature release process? Worried about being able to use Java for free? Exploring “Java Platform Module System”? Trying out Jshell? Figuring out jlink?

Slide 7

Slide 7 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS It’s easy to focus on now – it’s real and concrete

Slide 8

Slide 8 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Updated Java release process 6 ... 7 ... 8 … 9,10,11,…17958?

Slide 9

Slide 9 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Our ecosystem is repositioning for a faster pace ● Predictable ● Consistent cadence ● Easier migration ● Increased innovation

Slide 10

Slide 10 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS More like… Continuous Delivery?

Slide 11

Slide 11 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Our ecosystem is repositioning for a faster pace Are you too?

Slide 12

Slide 12 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Updated Oracle JDK support Is Java still free?

Slide 13

Slide 13 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS “free as in beer” && ”free as in speech”

Slide 14

Slide 14 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Java distribution & support ● Oracle JDK ● Oracle OpenJDK ● AdoptOpenJDK ● Eclipse OpenJ9 ● Azul Zulu ● SapMachine ● ...

Slide 15

Slide 15 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Is Java still free? Short answer: Yes!

Slide 16

Slide 16 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Free updates? Short answer: It depends

Slide 17

Slide 17 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Free & $free Java ● Oracle OpenJDK builds (GPLv2+CE) (six-month cadence) ● Eclipse OpenJ9 ● OpenJDK builds by AdoptOpenJDK, Azul, IBM, Red Hat, ...

Slide 18

Slide 18 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Hardware & Scale

Slide 19

Slide 19 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS More, and more, and Moore... https://commons.wikimedia.org/wiki/File:Moores_law_(1970-2011).PNG

Slide 20

Slide 20 text

JVMs can now scale from the very smallest to the very largest devices tiny humongous

Slide 21

Slide 21 text

From the smallest... On the smart card Next to the processor (separate IC) In the processor

Slide 22

Slide 22 text

...to the very biggest...

Slide 23

Slide 23 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS ...to the Clouds The sky is the limit

Slide 24

Slide 24 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS And then we finally achieved Compute on Tap, Everything-as-a-Service

Slide 25

Slide 25 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS New economics compute == $ memory == $ -Xmx: $100

Slide 26

Slide 26 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Very long running, efficient, monolithic applications Willing to trade startup time for throughput

Slide 27

Slide 27 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Short lived, container based, micro service oriented, instant-on, always available, cross server, polyglot services Now we also need

Slide 28

Slide 28 text

Demand time

Slide 29

Slide 29 text

Demand time How does your application respond to demand?

Slide 30

Slide 30 text

Demand time One big server running all the time?

Slide 31

Slide 31 text

Demand time One big server running all the time? Look at all that wasted money!

Slide 32

Slide 32 text

Demand Smaller compute units are better

Slide 33

Slide 33 text

Demand time Smaller compute units are better

Slide 34

Slide 34 text

Time Ideal profile Memory Throughput

Slide 35

Slide 35 text

Time Real data OpenJDK 9 with Hotspot

Slide 36

Slide 36 text

Time Real data OpenJDK 9 with Hotspot OpenJDK 9 with OpenJ9

Slide 37

Slide 37 text

Time Real data OpenJDK 9 with Hotspot OpenJDK 9 with OpenJ9 OpenJDK 9 with OpenJ9 + AOT

Slide 38

Slide 38 text

IBM donated J9 to Eclipse because we believe it’s the best way to move Java forward • It offers a new place to start • As the future emerges we can see that Java needs to handle new technologies, new hardware • We can’t do it on our own. We have to do it together

Slide 39

Slide 39 text

https://adoptopenjdk.net/?variant=openjdk8-openj9

Slide 40

Slide 40 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS The future starts here… ? Data Analytics Machine Learning

Slide 41

Slide 41 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS JVMs will need to offer good machine learning & data analysis capabilities

Slide 42

Slide 42 text

GPU’s Parallel computation at high scale

Slide 43

Slide 43 text

“Using a GPU without understanding how they work is like driving your car in reverse all the time”

Slide 44

Slide 44 text

IBM + NVIDIA Improving Java application performance with GPU exploitation is available in IBM SDK for Java 8 and OpenJDK 9 with Eclipse Open9 Standard SE API optimisation as well as CUDA4J API for explicit low level control +

Slide 45

Slide 45 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS From now on – you and your application will have to change as well GPUs require you to think differently So will AI and Machine Learning.

Slide 46

Slide 46 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS BTW – what does a server GPU look like? NVIDIA’s largest graphics card is the DGX-2 It’s 2 petaflops, 512 gigabyte, 10 kilowatts It weighs 160 kg That’s as much as a fully grown panda.

Slide 47

Slide 47 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Numbers of GPU’s in data centers are growing Java team is working on improved native code interop http://openjdk.java.net/projects/panama/ Making Java more attractive for new workloads

Slide 48

Slide 48 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION And beyond?

Slide 49

Slide 49 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS

Slide 50

Slide 50 text

Runtime Language Type Safe Bytecode: JIT Compiled Garbage Collected Concurrent Threaded All Platforms The JVM’s design characteristics allow us to imagine taking it to new places No other runtime environment comes close

Slide 51

Slide 51 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS The JVM design means that we can easily imagine running JVM languages on new forms of processors. The JVM can take the application model and transform it to the something suitable for the hardware

Slide 52

Slide 52 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Java Vendor competition and collaboration delivered • The fastest runtime environments • The most scalable runtime environments • The best garbage collectors • The greatest dynamically re-optimizing compilers • And we’re still doing it.

Slide 53

Slide 53 text

© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @DaschnerS Generating new JVM technologies • Container awareness • Fast native code interop • Re-optimised JITs • Re-tuned GC’s • AOT • Value Objects • Jit As A Service •

Slide 54

Slide 54 text

Thank you! sebastian-daschner.com @DaschnerS https://www.eclipse.org/openj9/ https://medium.com/@javachampions/java-is-still-free-c02aef8c9e04 https://developer.ibm.com/blogs/2018/11/28/java-licensing-is- changing-and-you-could-be-affected/