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

What's new for Java in the clouds?

What's new for Java in the clouds?

Sebastian Daschner

December 05, 2018
Tweet

More Decks by Sebastian Daschner

Other Decks in Technology

Transcript

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

    View full-size slide

  2. © 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

    View full-size slide

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

    View full-size slide

  4. © 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

    View full-size slide

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

    View full-size slide

  6. © 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?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
    @DaschnerS
    Our ecosystem is repositioning for a
    faster pace

    Predictable

    Consistent cadence

    Easier migration

    Increased innovation

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
    @DaschnerS
    Java distribution & support

    Oracle JDK

    Oracle OpenJDK

    AdoptOpenJDK

    Eclipse OpenJ9

    Azul Zulu

    SapMachine

    ...

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. © 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, ...

    View full-size slide

  18. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
    @DaschnerS
    Hardware & Scale

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  22. ...to the very biggest...

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  27. © 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

    View full-size slide

  28. Demand
    time
    How does your application respond to demand?

    View full-size slide

  29. Demand
    time
    One big server running all the time?

    View full-size slide

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

    View full-size slide

  31. Demand
    Smaller compute units are better

    View full-size slide

  32. Demand
    time
    Smaller compute units are better

    View full-size slide

  33. Time
    Ideal profile
    Memory
    Throughput

    View full-size slide

  34. Time
    Real data
    OpenJDK 9
    with Hotspot

    View full-size slide

  35. Time
    Real data
    OpenJDK 9
    with Hotspot
    OpenJDK 9
    with OpenJ9

    View full-size slide

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

    View full-size slide

  37. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  41. GPU’s
    Parallel computation at high scale

    View full-size slide

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

    View full-size slide

  43. 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
    +

    View full-size slide

  44. © 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.

    View full-size slide

  45. © 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.

    View full-size slide

  46. © 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

    View full-size slide

  47. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
    And beyond?

    View full-size slide

  48. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
    @DaschnerS

    View full-size slide

  49. 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

    View full-size slide

  50. © 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

    View full-size slide

  51. © 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.

    View full-size slide

  52. © 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

    View full-size slide

  53. 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/

    View full-size slide