SlideShare a Scribd company logo
1 of 41
Download to read offline
John Archer
Principal Solution Architect, Cloud Platform
archer@redhat.com
Red Hat Java Update
1
MEET THE SPEAKER
John Archer
Principal Energy Solution Architect, Cloud Platform
Red Hat since 2015
Oracle, Petris, BEA Systems, SilverStream, BSI Consulting, DocuQuest, Andrews & Kurth LLP
Upstream Data Management, DoD, APIs, eCommerce, Mobile, IoT, Data Science and Blockchain
Open Group OSDU, Energistics, SPE, SEG, PPDM, OMG, HJUG (Founder), HDUG, HAL-PC
3
4
History of HJUG - 22 years later
5
AGENDA
6
Red Hat and Java
Java State of the Union
Don’t Panic - CODE ON !
Thoughts for the future
What we’ll be discussing today
7
RED HAT AND JAVA
● 2006 -Acquired JBoss
● 2007 - Founding member of OpenJDK
● 2008 - OpenJDK supported in RHEL XX
● 2009 - Oracle acquires Sun Microsystems
● 2012 - Acquired FuseSource
● 2013 - Assumed leadership of OpenJDK 6
● 2016 - Founding member of Eclipse MicroProfile
● 2018 - Founding member of Eclipse Jakarta EE
8
9
RED HAT AND JAVA
● Project lead for OpenJDK 6 (now EOL)
● Project lead for OpenJDK 8 and OpenJDK 11
● Member of OpenJDK Vulnerability Group Governing Board
● Pioneered Java and Kubernetes (OpenShift)
● Wrote and lead the 64-bit ARMv8 port
● Wrote and lead the ultra low-pausetime Shenandoah garbage
collector project
● Lead and collaborate on many popular Java projects -
ActiveMQ, Eclipse CHE, Eclipse IDE, Hibernate, Camel, Drools,
WildFly, SmallRye, Strimzi...
● Established Quarkus project (more on this later)
10
JAVA STATE OF THE UNION
● Still a de-facto language for enterprise developers*
● Large skills base (7-10 million Java devs.)**
● Large and Increasingly diverse ecosystem
○ Amazon, Fujitsu, Google, IBM, Microsoft, Netflix,
Oracle, Pivotal, Red Hat, ...
Sources:
*Tiobe Index : https://www.tiobe.com/tiobe-index/
* IEEE Spectrum : https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
I** SlashData - 7.6 million active Java developers (State of Developer Nation, 16th Edition, Q4 2018)
11
JAVA STATE OF THE UNION
● OpenJDK - release model changes
● Oracle JDK - business model changes
● MicroProfile created to support cloud native Java
● Java EE moved to Eclipse Jakarta EE
● Oracle Trademark impasse
Major changes to Java SE & EE
12
DON’T PANIC
● Large, resilient community
● Many tried and trusted technologies
● Not dependent on a single vendor
● The innovation continues
● New leaders emerging
○ OpenJDK Supporters
○ Eclipse MicroProfile ecosystem
○ Cloud providers
13
What does Red Hat Offer ?
Sources : https://access.redhat.com/articles/1299013#OpenJDK_Lifecycle_Dates_and_RHEL_versions
• Long term support for OpenJDK LTS releases
• Fully supported, both Dev and Prod, for Red Hat Enterprise Linux for any Java application
• Fully supported, both Dev and Prod, for Red Hat Middleware on Red Hat Enterprise Linux
• Fully supported, both Dev and Prod, for Red Hat Middleware on Windows
• Fully supported, both Dev and Prod on Windows for any Java application
RHEL 5 Support Added RHEL 6 Support Added RHEL 7 Support Added End of support
OpenJDK 6 (1.6) 5.3 6.0 7.0 December 2016
OpenJDK 7 (1.7) 5.9 6.3 7.0 June 2020
OpenJDK 8 (1.8) N/A 6.6 7.1 June 2023
OpenJDK 11 (18.9 LTS) N/A N/A 7.6 October 2024
Thoughts on the Future
14
Growth in Application Architecture Choices
THOUGHTS FOR THE FUTURE
Cloud Native Microservices Serverless
Event-Driven
Architecture
Monolith
AMQ Streams
Thoughts for the Future
16
AMQ Streams
• Enterprise distribution of Apache
Kafka
• Simplified deployment on OpenShift
• Based on OSS project called Strimzi
• Provides:
• Container images for running Apache
Kafka and Zookeeper
• Operators for managing and configuring
Apache Kafka clusters and topics
THOUGHTS FOR THE FUTURE
17
● Responsive: fast, is able to handle a large
number of events / connections
● Elastic: scale up and down by juststarting
and stopping nodes, round-robin
● Resilient: failure as first-class citizen, self-
healing
● Asynchronous message-passing: asynchronous
non-blocking development model
Vert.x is a toolkit to build distributed and
reactive applications on top of the JVM using an
asynchronous non-blocking development model.
Vert.x Reactive Toolkit for Writing Microservices
Eclipse MicroProfile
THOUGHTS FOR THE FUTURE
18
● Open Source community specifications for
Enterprise Java microservices
● 9 releases in 3 years
● 5 specifications in the pipeline
ImplementationsCommunity
Common Deployment Platform
THOUGHTS FOR THE FUTURE
19
Cloud Native Microservices Serverless
Event-Driven
Architecture
Monolith
Istio Knative
The Hidden Truth About Java + Containers
THOUGHTS FOR THE FUTURE
20
Container platform
Node
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
Node
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
Node
HotSpot Heap
HotSpot Heap
HotSpot Heap
HotSpot Heap
Historical Enterprise Java Stack
Thoughts for the Future
21
Operating System + Hardware/VM
Java Virtual Machine (Hotspot)
Application Server
App App App App App
Dynamic Application Frameworks
Architecture: Monoliths
Deployment: multi-app,
appserver
App Lifecycle: Months
Memory: 1GB+ RAM
Startup Time: 10s of sec
Modern Enterprise Java Stack
Thoughts for the Future
22
Java Virtual Machine (Hotspot)
Application Server
App
Dynamic Application Frameworks
Architecture: Microservices
Deployment: Single App
App Lifecycle: Days
Memory: 100MBs+ RAM
Startup Time: Seconds
No Change
Java Serverless Stack
Thoughts for the Future
23
Java Virtual Machine (Hotspot)
Application Server
App
Dynamic Application Frameworks
Architecture: Microservices
Deployment: Single App
App Lifecycle: Days
Memory: 100MBs+ RAM
Startup Time: Seconds
No Change
THOUGHTS FOR THE FUTURE
24
Monolith
Quarkus - Kubernetes Native Java
Cloud Native Microservices Serverless
Event-Driven
Architecture
Istio Knative
Moving to Compile-Time Boot
THOUGHTS FOR THE FUTURE
25
What does a framework do at startup time
● Parse config files
● Classpath & classes scanning
○ for annotations, getters or other
metadata
● Build framework metamodel objects
● Prepare reflection and build proxies
● Start and open IO, threads etc
● Moved as much as possible to build phase
● Minimized runtime dependencies
● Maximize dead code elimination
● Introduced clear metadata contracts
● Spectrum of optimization levels
(all → some → minimal runtime reflection)
Framework Optimizations
A dynamic runtime on immutable infrastructure is unnecessary overhead
GraalVM
THOUGHTS FOR THE FUTURE
26
JVM CI
Sulong (LLVM)
Truffle
Graal Compiler
Substrate VM
Java HotSpot VM
Quarkus Reduces Memory Utilization
THOUGHTS FOR THE FUTURE
27
Quarkus + GraalVM
13 MB
Quarkus + OpenJDK
74 MB
Traditional Cloud-Native Stack
140 MB
REST
Quarkus Reduces Memory Utilization
THOUGHTS FOR THE FUTURE
28
REST + CRUD
Quarkus + GraalVM
35 MB
Quarkus + OpenJDK
130 MB
Traditional Cloud-Native Stack
218 MB
The New Truth about Java + Containers
THOUGHTS FOR THE FUTURE
29
CONTAINER ORCHESTRATION
NodeNode
Traditional Cloud-Native
Java Stack
Traditional Cloud-Native
Java Stack
Traditional Cloud-Native
Java Stack
Traditional Cloud-Native
Java Stack
Node
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Node
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus
Quarkus Improve Startup Time
THOUGHTS FOR THE FUTURE
30
Quarkus + GraalVM 0.014 Seconds
REST
REST + CRUD
Quarkus + OpenJDK 0.75 Seconds
Quarkus + GraalVM 0.055 Seconds
Quarkus + OpenJDK 2.5 Seconds
Traditional Cloud-Native Stack 9.5 Seconds
Traditional Cloud-Native Stack 4.3 Seconds
Quarkus
Thoughts for the Future
31
App
Optimized Application Frameworks
Architecture: Microservices,
Serverless
Deployment: Single App
App Lifecycle: Seconds to
Days
Memory: 10MBs+ RAM
Startup Time: Milliseconds
Java Virtual Machine (Hotspot)
Optional
Developer Joy
THOUGHTS FOR THE FUTURE
32
A cohesive platform for optimized developer joy:
● Based on standards, but not limited
● Unified configuration
● Zero config, live reload in the blink of an eye
● Streamlined code for the 80% common usages,
flexible for the 20%
● No hassle native executable generation
Unifies Imperative and Reactive
THOUGHTS FOR THE FUTURE
33
● Combine both Reactive and imperative development in the same
application
● Inject the EventBus or the Vertx context
● Use the technology that fits your use-case
@Inject
SayService say;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return say.hello();
}
@Inject @Stream(”kafka”)
Publisher<String> reactiveSay;
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
public Publisher<String> stream() {
return reactiveSay;
}
Best of Breed Frameworks and Standards
THOUGHTS FOR THE FUTURE
34
Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty
Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan
“Feels familiar and new at the same time”
Thoughts for the Future
35
QUESTIONS ?
36
CONFIDENTIAL DesignatorRED HAT AND JAVA - FURTHER READING
37
HISTORY AND FUTURE OF OPENJDK
https://www.redhat.com/en/blog/history-and-future-openjdk?source=author&term=28071
JAKARTA EE IS OFFICIALLY OUT
https://developers.redhat.com/blog/2018/04/24/jakarta-ee-is-officially-out/
QUARKUS - WHY COMPILE TO NATIVE
https://developers.redhat.com/blog/2019/03/29/quarkus-why-compile-to-native/
OPENJDK 8 AND 11: STILL IN SAFE HANDS
https://developers.redhat.com/blog/2019/05/22/openjdk-8-and-11-still-in-safe-hands/
MICROPROFILE – COLLABORATING TO BRING MICROSERVICES TO
ENTERPRISE JAVA
https://middlewareblog.redhat.com/2016/06/27/microprofile-collaborating-to-bring-microservices-to-enterprise-java/
CONFIDENTIAL Designator
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
Red Hat is the world’s leading provider of enterprise
open source software solutions. Award-winning
support, training, and consulting services make
Red Hat a trusted adviser to the Fortune 500.
Thank you
38
BACKUP SLIDES
39
40
JDK version adoption lags releases
Version
Release Date
JDK Beta 1995
JDK 1.0
January 1996
JDK 1.1
February 1997
J2SE 1.2 December 1998
J2SE 1.3 May 2000
J2SE 1.4 February 2002
J2SE 5.0 September 2004
Java SE 6 December 2006
Java SE 7 July 2011
Java SE 8 March 2014
Java SE 9 September 2017
Java SE 10 March 2018
Java SE 11 September 2018
Source: Java Magazine Oct. 2018 - JVM Ecosystem Report 2018
41
The new Oracle JDK reality
• Oracle JDK still the incumbent, with
OpenJDK growing
• Oracle has announced that starting with
Java version 11, there is no free access to a
Java VM for use in production
• For current Java versions 6, 7, 9, 10, you can
only get version updates via a support
contract
• Java version 8 updates are only guaranteed
until January 2019
• Not all customers have decided on a JDK
maintenance strategy
Source: Java Magazine Oct. 2018 - JVM Ecosystem Report 2018

More Related Content

What's hot

Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKDeep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKJosé Paumard
 
Resilience4j with Spring Boot
Resilience4j with Spring BootResilience4j with Spring Boot
Resilience4j with Spring BootKnoldus Inc.
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes VMware Tanzu
 
Kubernetes
KubernetesKubernetes
Kuberneteserialc_w
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SREAraf Karsh Hamid
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Edureka!
 
How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)Siglos
 
An intro to Kubernetes operators
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operatorsJ On The Beach
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsJonas Bonér
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeMartin Schütte
 

What's hot (20)

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Deep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UKDeep Dive Java 17 Devoxx UK
Deep Dive Java 17 Devoxx UK
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
 
Docker
DockerDocker
Docker
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
 
Resilience4j with Spring Boot
Resilience4j with Spring BootResilience4j with Spring Boot
Resilience4j with Spring Boot
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
GraalVM
GraalVMGraalVM
GraalVM
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)
 
An intro to Kubernetes operators
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operators
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
GraalVm and Quarkus
GraalVm and QuarkusGraalVm and Quarkus
GraalVm and Quarkus
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
Terraform
TerraformTerraform
Terraform
 

Similar to Red Hat Java Update and Quarkus Introduction

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroFabio Tiriticco
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudMark Hinkle
 
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudLinux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudMark Hinkle
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_GalloAndrea Gallo
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"LogeekNightUkraine
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1Rubens Dos Santos Filho
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIsNirmal Fernando
 
DDDP 2019 - Brown to Green
DDDP 2019  - Brown to GreenDDDP 2019  - Brown to Green
DDDP 2019 - Brown to GreenJohn Archer
 
Cloud Native Java Development Patterns
Cloud Native Java Development PatternsCloud Native Java Development Patterns
Cloud Native Java Development PatternsBilgin Ibryam
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesRohit Kelapure
 
Introduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesIntroduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesSuresh Patidar
 
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAkka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAlexandre Brandão Lustosa
 

Similar to Red Hat Java Update and Quarkus Introduction (20)

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
 
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudLinux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
 
DDDP 2019 - Brown to Green
DDDP 2019  - Brown to GreenDDDP 2019  - Brown to Green
DDDP 2019 - Brown to Green
 
Cloud Native Java Development Patterns
Cloud Native Java Development PatternsCloud Native Java Development Patterns
Cloud Native Java Development Patterns
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutes
 
Introduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesIntroduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web Technologies
 
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAkka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
 

More from John Archer

Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdfEnabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdfJohn Archer
 
Extending open source and hybrid cloud to drive OT transformation - Future Oi...
Extending open source and hybrid cloud to drive OT transformation - Future Oi...Extending open source and hybrid cloud to drive OT transformation - Future Oi...
Extending open source and hybrid cloud to drive OT transformation - Future Oi...John Archer
 
Leveraging IoT as part of your digital transformation
Leveraging IoT as part of your digital transformationLeveraging IoT as part of your digital transformation
Leveraging IoT as part of your digital transformationJohn Archer
 
Locationless data science on a modern secure edge
Locationless data science on a modern secure edgeLocationless data science on a modern secure edge
Locationless data science on a modern secure edgeJohn Archer
 
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019John Archer
 
Democratizing Data Science on Kubernetes
Democratizing Data Science on Kubernetes Democratizing Data Science on Kubernetes
Democratizing Data Science on Kubernetes John Archer
 
Openshift 3.10 & Container solutions for Blockchain, IoT and Data Science
Openshift 3.10 & Container solutions for Blockchain, IoT and Data ScienceOpenshift 3.10 & Container solutions for Blockchain, IoT and Data Science
Openshift 3.10 & Container solutions for Blockchain, IoT and Data ScienceJohn Archer
 
Single View of Well, Production and Assets
Single View of Well, Production and AssetsSingle View of Well, Production and Assets
Single View of Well, Production and AssetsJohn Archer
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
Field development and operational optimization for unconventionals
 Field development and operational optimization for unconventionals Field development and operational optimization for unconventionals
Field development and operational optimization for unconventionalsJohn Archer
 

More from John Archer (10)

Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdfEnabling Enterprise-wide OT Data access  with Matrikon Data Broker.pdf
Enabling Enterprise-wide OT Data access with Matrikon Data Broker.pdf
 
Extending open source and hybrid cloud to drive OT transformation - Future Oi...
Extending open source and hybrid cloud to drive OT transformation - Future Oi...Extending open source and hybrid cloud to drive OT transformation - Future Oi...
Extending open source and hybrid cloud to drive OT transformation - Future Oi...
 
Leveraging IoT as part of your digital transformation
Leveraging IoT as part of your digital transformationLeveraging IoT as part of your digital transformation
Leveraging IoT as part of your digital transformation
 
Locationless data science on a modern secure edge
Locationless data science on a modern secure edgeLocationless data science on a modern secure edge
Locationless data science on a modern secure edge
 
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
 
Democratizing Data Science on Kubernetes
Democratizing Data Science on Kubernetes Democratizing Data Science on Kubernetes
Democratizing Data Science on Kubernetes
 
Openshift 3.10 & Container solutions for Blockchain, IoT and Data Science
Openshift 3.10 & Container solutions for Blockchain, IoT and Data ScienceOpenshift 3.10 & Container solutions for Blockchain, IoT and Data Science
Openshift 3.10 & Container solutions for Blockchain, IoT and Data Science
 
Single View of Well, Production and Assets
Single View of Well, Production and AssetsSingle View of Well, Production and Assets
Single View of Well, Production and Assets
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
Field development and operational optimization for unconventionals
 Field development and operational optimization for unconventionals Field development and operational optimization for unconventionals
Field development and operational optimization for unconventionals
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Red Hat Java Update and Quarkus Introduction

  • 1. John Archer Principal Solution Architect, Cloud Platform archer@redhat.com Red Hat Java Update 1
  • 2. MEET THE SPEAKER John Archer Principal Energy Solution Architect, Cloud Platform Red Hat since 2015 Oracle, Petris, BEA Systems, SilverStream, BSI Consulting, DocuQuest, Andrews & Kurth LLP Upstream Data Management, DoD, APIs, eCommerce, Mobile, IoT, Data Science and Blockchain Open Group OSDU, Energistics, SPE, SEG, PPDM, OMG, HJUG (Founder), HDUG, HAL-PC
  • 3. 3
  • 4. 4
  • 5. History of HJUG - 22 years later 5
  • 6. AGENDA 6 Red Hat and Java Java State of the Union Don’t Panic - CODE ON ! Thoughts for the future What we’ll be discussing today
  • 7. 7 RED HAT AND JAVA ● 2006 -Acquired JBoss ● 2007 - Founding member of OpenJDK ● 2008 - OpenJDK supported in RHEL XX ● 2009 - Oracle acquires Sun Microsystems ● 2012 - Acquired FuseSource ● 2013 - Assumed leadership of OpenJDK 6 ● 2016 - Founding member of Eclipse MicroProfile ● 2018 - Founding member of Eclipse Jakarta EE
  • 8. 8
  • 9. 9 RED HAT AND JAVA ● Project lead for OpenJDK 6 (now EOL) ● Project lead for OpenJDK 8 and OpenJDK 11 ● Member of OpenJDK Vulnerability Group Governing Board ● Pioneered Java and Kubernetes (OpenShift) ● Wrote and lead the 64-bit ARMv8 port ● Wrote and lead the ultra low-pausetime Shenandoah garbage collector project ● Lead and collaborate on many popular Java projects - ActiveMQ, Eclipse CHE, Eclipse IDE, Hibernate, Camel, Drools, WildFly, SmallRye, Strimzi... ● Established Quarkus project (more on this later)
  • 10. 10 JAVA STATE OF THE UNION ● Still a de-facto language for enterprise developers* ● Large skills base (7-10 million Java devs.)** ● Large and Increasingly diverse ecosystem ○ Amazon, Fujitsu, Google, IBM, Microsoft, Netflix, Oracle, Pivotal, Red Hat, ... Sources: *Tiobe Index : https://www.tiobe.com/tiobe-index/ * IEEE Spectrum : https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018 I** SlashData - 7.6 million active Java developers (State of Developer Nation, 16th Edition, Q4 2018)
  • 11. 11 JAVA STATE OF THE UNION ● OpenJDK - release model changes ● Oracle JDK - business model changes ● MicroProfile created to support cloud native Java ● Java EE moved to Eclipse Jakarta EE ● Oracle Trademark impasse Major changes to Java SE & EE
  • 12. 12 DON’T PANIC ● Large, resilient community ● Many tried and trusted technologies ● Not dependent on a single vendor ● The innovation continues ● New leaders emerging ○ OpenJDK Supporters ○ Eclipse MicroProfile ecosystem ○ Cloud providers
  • 13. 13 What does Red Hat Offer ? Sources : https://access.redhat.com/articles/1299013#OpenJDK_Lifecycle_Dates_and_RHEL_versions • Long term support for OpenJDK LTS releases • Fully supported, both Dev and Prod, for Red Hat Enterprise Linux for any Java application • Fully supported, both Dev and Prod, for Red Hat Middleware on Red Hat Enterprise Linux • Fully supported, both Dev and Prod, for Red Hat Middleware on Windows • Fully supported, both Dev and Prod on Windows for any Java application RHEL 5 Support Added RHEL 6 Support Added RHEL 7 Support Added End of support OpenJDK 6 (1.6) 5.3 6.0 7.0 December 2016 OpenJDK 7 (1.7) 5.9 6.3 7.0 June 2020 OpenJDK 8 (1.8) N/A 6.6 7.1 June 2023 OpenJDK 11 (18.9 LTS) N/A N/A 7.6 October 2024
  • 14. Thoughts on the Future 14
  • 15. Growth in Application Architecture Choices THOUGHTS FOR THE FUTURE Cloud Native Microservices Serverless Event-Driven Architecture Monolith
  • 16. AMQ Streams Thoughts for the Future 16 AMQ Streams • Enterprise distribution of Apache Kafka • Simplified deployment on OpenShift • Based on OSS project called Strimzi • Provides: • Container images for running Apache Kafka and Zookeeper • Operators for managing and configuring Apache Kafka clusters and topics
  • 17. THOUGHTS FOR THE FUTURE 17 ● Responsive: fast, is able to handle a large number of events / connections ● Elastic: scale up and down by juststarting and stopping nodes, round-robin ● Resilient: failure as first-class citizen, self- healing ● Asynchronous message-passing: asynchronous non-blocking development model Vert.x is a toolkit to build distributed and reactive applications on top of the JVM using an asynchronous non-blocking development model. Vert.x Reactive Toolkit for Writing Microservices
  • 18. Eclipse MicroProfile THOUGHTS FOR THE FUTURE 18 ● Open Source community specifications for Enterprise Java microservices ● 9 releases in 3 years ● 5 specifications in the pipeline ImplementationsCommunity
  • 19. Common Deployment Platform THOUGHTS FOR THE FUTURE 19 Cloud Native Microservices Serverless Event-Driven Architecture Monolith Istio Knative
  • 20. The Hidden Truth About Java + Containers THOUGHTS FOR THE FUTURE 20 Container platform Node NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS Node Go Go Go Go Go Go Go Go Go Go Go Go Go Go Node HotSpot Heap HotSpot Heap HotSpot Heap HotSpot Heap
  • 21. Historical Enterprise Java Stack Thoughts for the Future 21 Operating System + Hardware/VM Java Virtual Machine (Hotspot) Application Server App App App App App Dynamic Application Frameworks Architecture: Monoliths Deployment: multi-app, appserver App Lifecycle: Months Memory: 1GB+ RAM Startup Time: 10s of sec
  • 22. Modern Enterprise Java Stack Thoughts for the Future 22 Java Virtual Machine (Hotspot) Application Server App Dynamic Application Frameworks Architecture: Microservices Deployment: Single App App Lifecycle: Days Memory: 100MBs+ RAM Startup Time: Seconds No Change
  • 23. Java Serverless Stack Thoughts for the Future 23 Java Virtual Machine (Hotspot) Application Server App Dynamic Application Frameworks Architecture: Microservices Deployment: Single App App Lifecycle: Days Memory: 100MBs+ RAM Startup Time: Seconds No Change
  • 24. THOUGHTS FOR THE FUTURE 24 Monolith Quarkus - Kubernetes Native Java Cloud Native Microservices Serverless Event-Driven Architecture Istio Knative
  • 25. Moving to Compile-Time Boot THOUGHTS FOR THE FUTURE 25 What does a framework do at startup time ● Parse config files ● Classpath & classes scanning ○ for annotations, getters or other metadata ● Build framework metamodel objects ● Prepare reflection and build proxies ● Start and open IO, threads etc ● Moved as much as possible to build phase ● Minimized runtime dependencies ● Maximize dead code elimination ● Introduced clear metadata contracts ● Spectrum of optimization levels (all → some → minimal runtime reflection) Framework Optimizations A dynamic runtime on immutable infrastructure is unnecessary overhead
  • 26. GraalVM THOUGHTS FOR THE FUTURE 26 JVM CI Sulong (LLVM) Truffle Graal Compiler Substrate VM Java HotSpot VM
  • 27. Quarkus Reduces Memory Utilization THOUGHTS FOR THE FUTURE 27 Quarkus + GraalVM 13 MB Quarkus + OpenJDK 74 MB Traditional Cloud-Native Stack 140 MB REST
  • 28. Quarkus Reduces Memory Utilization THOUGHTS FOR THE FUTURE 28 REST + CRUD Quarkus + GraalVM 35 MB Quarkus + OpenJDK 130 MB Traditional Cloud-Native Stack 218 MB
  • 29. The New Truth about Java + Containers THOUGHTS FOR THE FUTURE 29 CONTAINER ORCHESTRATION NodeNode Traditional Cloud-Native Java Stack Traditional Cloud-Native Java Stack Traditional Cloud-Native Java Stack Traditional Cloud-Native Java Stack Node NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Node Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus Quarkus
  • 30. Quarkus Improve Startup Time THOUGHTS FOR THE FUTURE 30 Quarkus + GraalVM 0.014 Seconds REST REST + CRUD Quarkus + OpenJDK 0.75 Seconds Quarkus + GraalVM 0.055 Seconds Quarkus + OpenJDK 2.5 Seconds Traditional Cloud-Native Stack 9.5 Seconds Traditional Cloud-Native Stack 4.3 Seconds
  • 31. Quarkus Thoughts for the Future 31 App Optimized Application Frameworks Architecture: Microservices, Serverless Deployment: Single App App Lifecycle: Seconds to Days Memory: 10MBs+ RAM Startup Time: Milliseconds Java Virtual Machine (Hotspot) Optional
  • 32. Developer Joy THOUGHTS FOR THE FUTURE 32 A cohesive platform for optimized developer joy: ● Based on standards, but not limited ● Unified configuration ● Zero config, live reload in the blink of an eye ● Streamlined code for the 80% common usages, flexible for the 20% ● No hassle native executable generation
  • 33. Unifies Imperative and Reactive THOUGHTS FOR THE FUTURE 33 ● Combine both Reactive and imperative development in the same application ● Inject the EventBus or the Vertx context ● Use the technology that fits your use-case @Inject SayService say; @GET @Produces(MediaType.TEXT_PLAIN) public String hello() { return say.hello(); } @Inject @Stream(”kafka”) Publisher<String> reactiveSay; @GET @Produces(MediaType.SERVER_SENT_EVENTS) public Publisher<String> stream() { return reactiveSay; }
  • 34. Best of Breed Frameworks and Standards THOUGHTS FOR THE FUTURE 34 Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan
  • 35. “Feels familiar and new at the same time” Thoughts for the Future 35
  • 37. CONFIDENTIAL DesignatorRED HAT AND JAVA - FURTHER READING 37 HISTORY AND FUTURE OF OPENJDK https://www.redhat.com/en/blog/history-and-future-openjdk?source=author&term=28071 JAKARTA EE IS OFFICIALLY OUT https://developers.redhat.com/blog/2018/04/24/jakarta-ee-is-officially-out/ QUARKUS - WHY COMPILE TO NATIVE https://developers.redhat.com/blog/2019/03/29/quarkus-why-compile-to-native/ OPENJDK 8 AND 11: STILL IN SAFE HANDS https://developers.redhat.com/blog/2019/05/22/openjdk-8-and-11-still-in-safe-hands/ MICROPROFILE – COLLABORATING TO BRING MICROSERVICES TO ENTERPRISE JAVA https://middlewareblog.redhat.com/2016/06/27/microprofile-collaborating-to-bring-microservices-to-enterprise-java/
  • 38. CONFIDENTIAL Designator linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you 38
  • 40. 40 JDK version adoption lags releases Version Release Date JDK Beta 1995 JDK 1.0 January 1996 JDK 1.1 February 1997 J2SE 1.2 December 1998 J2SE 1.3 May 2000 J2SE 1.4 February 2002 J2SE 5.0 September 2004 Java SE 6 December 2006 Java SE 7 July 2011 Java SE 8 March 2014 Java SE 9 September 2017 Java SE 10 March 2018 Java SE 11 September 2018 Source: Java Magazine Oct. 2018 - JVM Ecosystem Report 2018
  • 41. 41 The new Oracle JDK reality • Oracle JDK still the incumbent, with OpenJDK growing • Oracle has announced that starting with Java version 11, there is no free access to a Java VM for use in production • For current Java versions 6, 7, 9, 10, you can only get version updates via a support contract • Java version 8 updates are only guaranteed until January 2019 • Not all customers have decided on a JDK maintenance strategy Source: Java Magazine Oct. 2018 - JVM Ecosystem Report 2018