SlideShare a Scribd company logo
Emily Jiang, Java Champion
Cloud Native Architect and Advocate @IBM
Hybrid Cloud
Application Built with
Pure Openness
7th Feb 2024
2
● Hybrid Cloud Overview
● Open Standards: Jakarta EE and MicroProfile
● Meet a modern open-source runtime: Open Liberty
A runtime for Hybrid Cloud Applications to Serverless
● Demo
Agenda
3
Hybrid Cloud
Public Cloud
Private Cloud
Hybrid Cloud
4
Hybrid Cloud Applications
Applications to provide services
(e.g. microservices)
5
Hybrid Cloud Applications with Openness
Open Standards + Open Source
Industry Standard Java APIs
Optimizing Enterprise Java
for a Microservices Architecture
and Kubernetes
Build modern portable enterprise apps
Protect your investments in Java EE
Jakarta EE
=
The future of Java EE
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Opportunities for Improvement
8
Native integration with
Kubernetes
Better support for cloud
native architectures
Tools and specifications
needed
A faster pace of innovation
9
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Backed by Java industry leaders
Strategic Members
Participating Members
Enterprise Members
Guest Members
Jakarta EE 10 Platform
Updated
Not Updated
New
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
Servlet 6.0
Server Pages 3.1
Expression Language 5.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.0
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
Managed Beans 2.0
CDI 4.0
Authentication 3.0
Concurrency 3.0
Security 3.0
Bean Validation 3.0
Released on 22nd September 2022 30 specifications
Jakarta EE 10 Web Profile
Updated
Not Updated
New
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
Servlet 6.0
Server Pages 3.1
Expression Language 5.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.0
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
Managed Beans 2.0
CDI 4.0
Authentication 3.0
Concurrency 3.0
Security 3.0
Bean Validation 3.0
22 specifications
Jakarta EE 10 Core Profile
Updated
Not Updated
New
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
7 specifications
Jakarta EE 11 to be released in 2024
Jakarta EE 11 Platform
Updated
Not Updated
New
Authorization 3.1
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 3.2
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Server Pages 3.1
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Bean Validation 3.0
30 specifications
Jakarta Data 1.0
Jakarta EE 11 Web Profile
Updated
Not Updated
New
RESTful Web Services 3.2
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Server Pages 3.1
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Bean Validation 3.0
22 specifications
Jakarta Data 1.0
Jakarta EE 11 Core Profile
Updated
Not Updated
New
7 specifications
RESTful Web Services 3.2
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
MicroProfile
MicroProfile – Necessary Disruption
18
Java EE progressed very slowly, and Oracle almost stopped
investing in Java EE. In the meanwhile, microservice architecture
became more and more popular.
In response to the market need, a few vendors including IBM,
Red Hat, Tomitribe, Payara, and others came together to set up
MicroProfile in June 2016.
In Jan 2017, it was moved under Eclipse Foundation.
MicroProfile directly provoked the contribution of Java EE to
Eclipse Foundation
MicroProfile
6.1
Jakarta EE 10
Core Profile
Config 3.1
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.1
Open Tracing
3.0
Open API 3.1
Rest Client
3.0
Standalone
Context
Propagation
1.3
Reactive
Streams
Operators 3.0
Outside
umbrella
Reactive
Messaging
3.0
GraphQL
2.0
LRA 2.0
MicroProfile latest
Telemetry 1.1
MicroProfile
6.1
Jakarta EE 10
Core Profile
Config 3.1
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.1
Open Tracing
3.0
Open API 3.1
Rest Client
3.0
Standalone
Context
Propagation
1.3
Reactive
Streams
Operators 3.0
Outside
umbrella
Reactive
Messaging
3.0
GraphQL
2.0
LRA 2.0
MicroProfile latest
Telemetry 1.1
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
21
MicroProfile 1.0
(Fall 2016)
MicroProfile 1.1
(August 2017)
MicroProfile 1.2
(Sept 2017)
2017
2018
MicroProfile 1.3
(Dec 2017)
MicroProfile 1.4
(June 2018)
2019
MicroProfile 2.0.1
(July 2018)
MicroProfile 2.1
(Oct 2018)
MicroProfile 2.2
(Feb 2019)
MicroProfile 3.0
(June 2019)
MicroProfile 3.2
(Nov 2019)
2020
MicroProfile 3.3
(Feb 2020)
MicroProfile 4.0
(Oct. 2020)
MicroProfile 4.1
(July. 2021)
MicroProfile 5.0
(Dec. 2021)
Config 3.0
Metrics 4.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.0
OpenTracing 3.0
JWT Auth 2.0
Jakarta CDI 3.0 //Jakarta EE 9.1
Jakarta RESTful Web Services //Jakarta EE 9.1
Jakarta JSON-P //Jakarta EE 9.1
Jakarta JSON-B 2.0 //Jakarta EE 9.1
Jakarta Annotations 2.0 //Jakarta EE 9.1
2022
2021
MicroProfile 6.0
(Nov. 2022)
Config 3.0
Metrics 5.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telemetry 1.0
JWT Auth 2.1
Jakarta EE 10 Core
Profile
MicroProfile 6.1
(Oct.. 2023)
Config 3.1
Metrics 5.1
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telemetry 1.1
JWT Auth 2.1
Jakarta EE 10 Core
Profile
2023
22
COPYRIGHT (C) 2021, ECLIPSE FOUNDATION | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) | V2021-01
Working Group Members
Implementations
WebSphere Liberty
Open Liberty used as the compatible implementation to release MicroProfile 4.1, 5.0 and 6.0
Compatible Implementations
Open Liberty
© 2023 IBM Corporation
Designed with both developers
and application business owners
in mind.
- Liberty delivers the
latest Java APIs and
integrates with the most
popular Developer and
Build tools.
- Liberty has built-in
innovation to reduce
application runtime
costs and delivery effort.
Open Liberty
API Roadmap
© 2021 IBM Corporation Confidential 27
Evolve
Transition
https://openliberty.io/blog/2021/03/17/eclipse-transformer.html
https://www.youtube.com/watch?v=CyRNHCwmLTY
Jakarta EE 9 (4Q2020)
• New API namespace
• API equivalent to
Java SE 8
Jakarta EE 9.1 (2Q2021)
• Java SE 11
Jakarta EE 10 (3Q2022)
• New APIs
WebSphere Liberty &
Open Liberty
(2021.0.0.12)
• Jakarta EE 9 & 9.1
WebSphere Liberty &
Open Liberty (23.0.0.3)
• Jakarta EE 10 &
MicroProfile 6.0
© 2021 IBM Corporation Confidential
MicroProfile 5.0 (4Q2021)
• Jakarta EE 9
MicroProfile 6.0 (Dec
2022)
Open Liberty Beta
(1Q2021)
• Jakarta EE 9
Open Liberty Beta
(2Q2021)
• Jakarta EE 9 & 9.1
WebSphere Liberty &
Open Liberty (22.0.0.1)
• MicroProfile 5.0
WebSphere Liberty &
Open Liberty (24.0.0.1)
• Jakarta EE 10 &
MicroProfile 6.1
MicroProfile 6.1 (Oct 2023)
28
Vendor Neutral APIs
Microservice and Enterprise cloud-native APIs free from vendor lock-in
• Build new open cloud-native
microservices with MicroProfile,
leveraging existing Java EE/Jakarta
EE skills and assets
• Modernize existing Java EE
applications to cloud-native through
Jakarta EE and MicroProfile
Optimizing Enterprise Java
for a Microservices Architecture
Build modern portable enterprise apps
Protect your investments in Java EE
2022: First MicroProfile 5.0 and 6.0 Compatible runtimes
2023: First Jakarta EE 10 + MicroProfile 6.0 + Java 20 compatible implementation
https://microprofile.io/compatible/
https://jakarta.ee/compatibility/
28
Liberty Blogs: Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3
28
Java EE
29
Liberty Overview
Just enough
runtime
Low operating
cost
Continuous
delivery
Zero migration
Kubernetes
optimized
80% disk and 56% memory
saving
4x increased density over
Tomcat & Spring Boot
Zero-effort security fixing & zero
technical debt
100% v2v & fixpack migration
saving
Self-tuned optimal perf,
production-ready, kube-native
Developer
experience Container & kube-native
experience, rapid inner loop
Lightweight, highly-
efficient runtime
CI/CD-optimized
operational
experience
Simple true-to-
production
developer
experience
https://developer.ibm.com/articles/6-reasons-why-open-liberty-is-an-ideal-choice-for-developing-and-deploying-microservices/
30
<feature>cdi-4.0</feature>
<feature>restfulWS-3.1</feature>
Right-size deployments
Kernel
cdi-4.0
appmgr
restfulWS-3.1
Java EE
With a Traditional App Server, the Full API stack
as well as administration and operations features
are loaded in each server instance
With Liberty, you control which features are
loaded into each server instance
jndi-1.0 jsonp-2.1
Simple right-size build
Application Build
Maven and Gradle Plugins
All Liberty artefacts released to maven
central
Container Build
Leading container build approaches –
Dockerfile, Cloud Native Buildpack,
Source-2-Image
Certified Liberty images released to IBM
Container Registry
Friction-free, right-size application and container build
© 2023 IBM Corporation
CI/CD Optimized
Seamless currency to eliminate technical debt and stay secure
Zero Migration makes staying current easy
• No configuration or runtime behavior
changes
Continuous Delivery gives frequent and
reliable access to the latest features and fixes
• Full releases every 4 weeks
• Quarterly LTS releases
Plan
Code
Build
Test
Release
Deploy
Run
Monitor
Zero Migration
Continuous Delivery
© 2023 IBM Corporation
Rapid iterative development in your IDE of choice
New
Code
Build
Test
Debug
Starter projects: start.openliberty.io
Code and config assist.
Dev Mode
Maven and Gradle plugins
Cloud Native Buildpack, Source-2-image, Dockerfile
From Unit Testing to Integration Testing in Containers
Hot code replace
Developer Efficiency
https://openliberty.io/blog/2023/06/27/23.0.0.6.html#devTools
Liberty Tools
New
Liberty Operators
• Insulate from Kubernetes
complexities
• Automate common task: deploy,
scale, upgrade, dump gather
• Security capabilities out-of-the-
box
• Reduce configuration by up to
80%
apiVersion: liberty.websphere.ibm.com/v1
kind: WebSphereLibertyApplication
metadata:
name: liberty-cloud-demo
spec:
license:
accept: false
edition: IBM WebSphere Application Server
productEntitlementSource: Standalone
metric: Processor Value Unit (PVU)
replicas: 3
applicationImage: liberty-cloud-demo:1.0
pullPolicy: Always
expose: true
storage:
size: 2Gi
mountPath: "/logs"
Addressing the Kubernetes skills gap
34
Deploy
Cloud Deployments
Support on leading clouds
• Liberty supported on all leading Cloud Virtual Machine,
Kubernetes and OpenShift Environments
• Azure, AWS, IBM Cloud, Google Cloud, … (Bring-Your-
Own-License)
• New: AWS ECS Fargate CaaS
Simplified setup
• Marketplace and Partner Solution options simplify and
accelerate setup in AWS and Azure at no extra cost
• Provision or re-use Cluster
• Provision or re-use container registry
• Networking and load-balancing
• Operator install and configuration
• Application deployment
Azure
Red Hat OpenShift
Azure
Kubernetes Service
WebSphere Liberty and
Open Liberty
WebSphere Liberty and
Open Liberty
https://docs.microsoft.com/en-us/azure/developer/java/ee/websphere-family
© 2022 IBM Corporation
AWS Elastic
Kubernetes Service
WebSphere Liberty and
Open Liberty
New
Deploy
Observe/Day-2
Observability
• All four categories of
observability enabled through
Liberty runtime, developer
instrumentation and leading
observability tools
Day-2 Operations
• Day-2 problem determination
enabled through Liberty
Operators – dumps, traces
Metrics
• Built-in JVM and Liberty
metrics
• App metrics using MicroProfile
Metrics aggregation and
dashboarding with
Prometheus and Grafana
Logging
• JSON logging (logs, trace, ffdc,
access logs, audit logs)
• Integration with java logging API
(JUL)
• LogRecordContext (add custom
fields to log records)
• LogstashCollector feature, Kibana
Dashboards
• Works with common log
aggregators (Splunk, Humio,
LogDNA, Elastic Stack, etc)
Tracing
• Distributed tracing using
MicroProfile Telemetry
• Built-in Jakarta REST
instrumentation
• App instrumentation using
MicroProfile Telemetry
• Zipkin, Jaeger to
aggregate/visualize
• OpenTelemetry adoption
Health
• Kube Health endpoint using
MicroProfile
• Startup, Liveness, Readiness
for different lifecycle states
• App health checks using
MicroProfile
The right information in the right
place at the right time
© 2022 IBM Corporation
Monitor
Cloud-Optimized
Performance
0
50
100
150
200
250
300
350
400
0 30 60 90
CPU
utilization
(%)
Time (sec)
Daytrader7 CPU consumption
CPU spikes caused
by JIT compilation
0
100000
200000
300000
400000
500000
600000
0 30 60 90
Resident
set
size
(KB)
Time (sec)
Daytrader7 memory footprint
Footprint spikes caused
by JIT compilation
• Initial execution run is “interpreted”, which is relatively slow
• “Hot” methods compiled by JIT can create CPU and memory
spikes
• CPU spikes cause lower QoS
• Memory spikes cause OOM issues, including crashes
• Slow start-up time
• Slow ramp-up time
Cloud Optimization - SCC
Offloads costly JIT compilation to separate server
Dramatically reduces peak memory usage
New: Simple Kubernetes enablement through Liberty
Operator
Service Memory limit
w/o SCC Server
Memory limit
with SCC Server
Saving
Auth 1,050 MB 750 MB 300MB
Booking 3,300 MB 2,400 MB 900MB
Customer 1,650 MB 1,050 MB 600MB
Flight 2,250 MB 1,250 MB 1,000 MB
Main 600 MB 450 MB 150MB
Total 8,850 MB 5,900 MB 2,950 MB
Optimizing memory for Kubernetes deployments
Semeru Cloud Compiler
Application
Instance 1
Application
Instance 2
Application
Instance 3
© 2023 IBM Corporation
InstantOn without compromise
39
Characteristics
Semeru
InstantOn
Semeru
JVM
Graal
Native
Full Java support Yes Yes No
‘Instant on’ Yes No Yes
High throughput Yes Yes No
Low memory (under
load) Yes Yes No
Dev-prod parity Yes Yes No
Dev Build
Prod
Prod
Prod
checkpoint
restore
restore
restore
12x
15x
18x
• Use Linux CRIU Technology
• Start applications in milliseconds
• Ideal for serverless
• Up to 18x faster
• With all the benefits of the JVM and none of the compromises
of Native Image
© 2023 IBM Corporation
41
Knative to mange scaling to
zero
Knative to Serverless
42
A Kubernetes-based serverless framework
Build Serving Eventing
Utilize and extend the existing
Kubernetes’ primitives
Enables the source code from
the dependencies and
repository
Building container images and
registering them
Enables rapid development of
serverless containers
Automatic scaling for Istio components
Event-driven architecture
43
SCC, InstantOn, Knative
SCC, Knative, InstantOn all together
44
Demo
a free virtual consultation
with an expert
Find out more
46
Read Watch
Explore the latest on WebSphere and
Liberty
ibm.biz/LibertyTV
Try
Learn Liberty
https://openliberty.io/guides/
Try Liberty InstantOn
ibm.biz/InstantOn_HowToBlog
Why Liberty
ibm.biz/6ReasonsWhyLiberty
© 2021 IBM Corporation
46
Resources
47
1. https://start.liberty.io
2. https://openliberty.io/guides/
3. https://microprofile.io/
4. https://jakarta.ee/
5. https://start.microprofile.io/
6. https://blog.openj9.org/2021/10/20/save-money-with-jitserver-on-the-cloud-an-aws-
experiment/
7. https://openliberty.io/blog/2022/09/29/instant-on-beta.html
48
Q&A
Emily Jiang
IBM, Cloud Native Architect & Advocate
emijiang@uk.ibm.com
Twitter/LinkedIn: @emilyfhjiang
49
Thank You
Emily Jiang
IBM, Cloud Native Architect and Advocate
emijiang@uk.ibm.com
X/LinkedIn: @emilyfhjiang

More Related Content

Similar to Hybrid Cloud Application Development without vendor lockin

DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
Kevin Sutter
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
Red Hat Developers
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
Jakarta_EE
 
Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021
Jamie Coleman
 
MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?
Ian Robinson
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
Edward Burns
 
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
Opennaru, inc.
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Ivar Grimstad
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
NETFest
 
Jakarta EE for Spring Developers
Jakarta EE for Spring DevelopersJakarta EE for Spring Developers
Jakarta EE for Spring Developers
Ivar Grimstad
 
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
WSO2
 
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
NETFest
 
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataAndroid MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Waheed Nazir
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight CloudJakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Ivar Grimstad
 
WebLogic im neuen Gewand
WebLogic im neuen GewandWebLogic im neuen Gewand
WebLogic im neuen Gewand
Volker Linz
 
Master a Cloud Native Standard - MicroProfile.pdf
Master a Cloud Native Standard - MicroProfile.pdfMaster a Cloud Native Standard - MicroProfile.pdf
Master a Cloud Native Standard - MicroProfile.pdf
EmilyJiang23
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Matt Raible
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of Java
Jamie Coleman
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
Kevin Sutter
 

Similar to Hybrid Cloud Application Development without vendor lockin (20)

DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021
 
MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
 
Jakarta EE for Spring Developers
Jakarta EE for Spring DevelopersJakarta EE for Spring Developers
Jakarta EE for Spring Developers
 
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
[Webinar] WSO2 Enterprise Integrator 7.1.0 Release
 
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
 
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataAndroid MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight CloudJakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
 
WebLogic im neuen Gewand
WebLogic im neuen GewandWebLogic im neuen Gewand
WebLogic im neuen Gewand
 
Master a Cloud Native Standard - MicroProfile.pdf
Master a Cloud Native Standard - MicroProfile.pdfMaster a Cloud Native Standard - MicroProfile.pdf
Master a Cloud Native Standard - MicroProfile.pdf
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of Java
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
 

Recently uploaded

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 

Recently uploaded (20)

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 

Hybrid Cloud Application Development without vendor lockin

  • 1. Emily Jiang, Java Champion Cloud Native Architect and Advocate @IBM Hybrid Cloud Application Built with Pure Openness 7th Feb 2024
  • 2. 2 ● Hybrid Cloud Overview ● Open Standards: Jakarta EE and MicroProfile ● Meet a modern open-source runtime: Open Liberty A runtime for Hybrid Cloud Applications to Serverless ● Demo Agenda
  • 4. 4 Hybrid Cloud Applications Applications to provide services (e.g. microservices)
  • 5. 5 Hybrid Cloud Applications with Openness Open Standards + Open Source
  • 6. Industry Standard Java APIs Optimizing Enterprise Java for a Microservices Architecture and Kubernetes Build modern portable enterprise apps Protect your investments in Java EE
  • 8. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) Opportunities for Improvement 8 Native integration with Kubernetes Better support for cloud native architectures Tools and specifications needed A faster pace of innovation
  • 9. 9 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) Backed by Java industry leaders Strategic Members Participating Members Enterprise Members Guest Members
  • 10. Jakarta EE 10 Platform Updated Not Updated New Authorization 3.0 Activation 2.1 Batch 2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 3.1 JSON Processing 2.1 JSON Binding 3.0 Annotations 2.1 CDI Lite 4.0 Interceptors 2.1 Dependency Injection 2.0 Servlet 6.0 Server Pages 3.1 Expression Language 5.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.0 WebSocket 2.1 Enterprise Beans Lite 4.0 Persistence 3.1 Transactions 2.0 Managed Beans 2.0 CDI 4.0 Authentication 3.0 Concurrency 3.0 Security 3.0 Bean Validation 3.0 Released on 22nd September 2022 30 specifications
  • 11. Jakarta EE 10 Web Profile Updated Not Updated New RESTful Web Services 3.1 JSON Processing 2.1 JSON Binding 3.0 Annotations 2.1 CDI Lite 4.0 Interceptors 2.1 Dependency Injection 2.0 Servlet 6.0 Server Pages 3.1 Expression Language 5.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.0 WebSocket 2.1 Enterprise Beans Lite 4.0 Persistence 3.1 Transactions 2.0 Managed Beans 2.0 CDI 4.0 Authentication 3.0 Concurrency 3.0 Security 3.0 Bean Validation 3.0 22 specifications
  • 12. Jakarta EE 10 Core Profile Updated Not Updated New RESTful Web Services 3.1 JSON Processing 2.1 JSON Binding 3.0 Annotations 2.1 CDI Lite 4.0 Interceptors 2.1 Dependency Injection 2.0 7 specifications
  • 13. Jakarta EE 11 to be released in 2024
  • 14. Jakarta EE 11 Platform Updated Not Updated New Authorization 3.1 Activation 2.1 Batch 2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 3.2 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Server Pages 3.1 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.1 Enterprise Beans Lite 4.0 Persistence 3.1 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Bean Validation 3.0 30 specifications Jakarta Data 1.0
  • 15. Jakarta EE 11 Web Profile Updated Not Updated New RESTful Web Services 3.2 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Server Pages 3.1 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.1 Enterprise Beans Lite 4.0 Persistence 3.1 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Bean Validation 3.0 22 specifications Jakarta Data 1.0
  • 16. Jakarta EE 11 Core Profile Updated Not Updated New 7 specifications RESTful Web Services 3.2 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0
  • 18. MicroProfile – Necessary Disruption 18 Java EE progressed very slowly, and Oracle almost stopped investing in Java EE. In the meanwhile, microservice architecture became more and more popular. In response to the market need, a few vendors including IBM, Red Hat, Tomitribe, Payara, and others came together to set up MicroProfile in June 2016. In Jan 2017, it was moved under Eclipse Foundation. MicroProfile directly provoked the contribution of Java EE to Eclipse Foundation
  • 19. MicroProfile 6.1 Jakarta EE 10 Core Profile Config 3.1 Fault Tolerance 4.0 JWT Authentication 2.1 Health 4.0 Metrics 5.1 Open Tracing 3.0 Open API 3.1 Rest Client 3.0 Standalone Context Propagation 1.3 Reactive Streams Operators 3.0 Outside umbrella Reactive Messaging 3.0 GraphQL 2.0 LRA 2.0 MicroProfile latest Telemetry 1.1
  • 20. MicroProfile 6.1 Jakarta EE 10 Core Profile Config 3.1 Fault Tolerance 4.0 JWT Authentication 2.1 Health 4.0 Metrics 5.1 Open Tracing 3.0 Open API 3.1 Rest Client 3.0 Standalone Context Propagation 1.3 Reactive Streams Operators 3.0 Outside umbrella Reactive Messaging 3.0 GraphQL 2.0 LRA 2.0 MicroProfile latest Telemetry 1.1 RESTful Web Services 3.1 JSON Processing 2.1 JSON Binding 3.0 Annotations 2.1 CDI Lite 4.0 Interceptors 2.1 Dependency Injection 2.0
  • 21. 21 MicroProfile 1.0 (Fall 2016) MicroProfile 1.1 (August 2017) MicroProfile 1.2 (Sept 2017) 2017 2018 MicroProfile 1.3 (Dec 2017) MicroProfile 1.4 (June 2018) 2019 MicroProfile 2.0.1 (July 2018) MicroProfile 2.1 (Oct 2018) MicroProfile 2.2 (Feb 2019) MicroProfile 3.0 (June 2019) MicroProfile 3.2 (Nov 2019) 2020 MicroProfile 3.3 (Feb 2020) MicroProfile 4.0 (Oct. 2020) MicroProfile 4.1 (July. 2021) MicroProfile 5.0 (Dec. 2021) Config 3.0 Metrics 4.0 Fault Tolerance 4.0 Health 4.0 Rest Client 3.0 OpenAPI 3.0 OpenTracing 3.0 JWT Auth 2.0 Jakarta CDI 3.0 //Jakarta EE 9.1 Jakarta RESTful Web Services //Jakarta EE 9.1 Jakarta JSON-P //Jakarta EE 9.1 Jakarta JSON-B 2.0 //Jakarta EE 9.1 Jakarta Annotations 2.0 //Jakarta EE 9.1 2022 2021 MicroProfile 6.0 (Nov. 2022) Config 3.0 Metrics 5.0 Fault Tolerance 4.0 Health 4.0 Rest Client 3.0 OpenAPI 3.1 Telemetry 1.0 JWT Auth 2.1 Jakarta EE 10 Core Profile MicroProfile 6.1 (Oct.. 2023) Config 3.1 Metrics 5.1 Fault Tolerance 4.0 Health 4.0 Rest Client 3.0 OpenAPI 3.1 Telemetry 1.1 JWT Auth 2.1 Jakarta EE 10 Core Profile 2023
  • 22. 22 COPYRIGHT (C) 2021, ECLIPSE FOUNDATION | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) | V2021-01 Working Group Members
  • 24. Open Liberty used as the compatible implementation to release MicroProfile 4.1, 5.0 and 6.0 Compatible Implementations
  • 26. © 2023 IBM Corporation Designed with both developers and application business owners in mind. - Liberty delivers the latest Java APIs and integrates with the most popular Developer and Build tools. - Liberty has built-in innovation to reduce application runtime costs and delivery effort. Open Liberty
  • 27. API Roadmap © 2021 IBM Corporation Confidential 27 Evolve Transition https://openliberty.io/blog/2021/03/17/eclipse-transformer.html https://www.youtube.com/watch?v=CyRNHCwmLTY Jakarta EE 9 (4Q2020) • New API namespace • API equivalent to Java SE 8 Jakarta EE 9.1 (2Q2021) • Java SE 11 Jakarta EE 10 (3Q2022) • New APIs WebSphere Liberty & Open Liberty (2021.0.0.12) • Jakarta EE 9 & 9.1 WebSphere Liberty & Open Liberty (23.0.0.3) • Jakarta EE 10 & MicroProfile 6.0 © 2021 IBM Corporation Confidential MicroProfile 5.0 (4Q2021) • Jakarta EE 9 MicroProfile 6.0 (Dec 2022) Open Liberty Beta (1Q2021) • Jakarta EE 9 Open Liberty Beta (2Q2021) • Jakarta EE 9 & 9.1 WebSphere Liberty & Open Liberty (22.0.0.1) • MicroProfile 5.0 WebSphere Liberty & Open Liberty (24.0.0.1) • Jakarta EE 10 & MicroProfile 6.1 MicroProfile 6.1 (Oct 2023)
  • 28. 28 Vendor Neutral APIs Microservice and Enterprise cloud-native APIs free from vendor lock-in • Build new open cloud-native microservices with MicroProfile, leveraging existing Java EE/Jakarta EE skills and assets • Modernize existing Java EE applications to cloud-native through Jakarta EE and MicroProfile Optimizing Enterprise Java for a Microservices Architecture Build modern portable enterprise apps Protect your investments in Java EE 2022: First MicroProfile 5.0 and 6.0 Compatible runtimes 2023: First Jakarta EE 10 + MicroProfile 6.0 + Java 20 compatible implementation https://microprofile.io/compatible/ https://jakarta.ee/compatibility/ 28 Liberty Blogs: Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3 28 Java EE
  • 29. 29 Liberty Overview Just enough runtime Low operating cost Continuous delivery Zero migration Kubernetes optimized 80% disk and 56% memory saving 4x increased density over Tomcat & Spring Boot Zero-effort security fixing & zero technical debt 100% v2v & fixpack migration saving Self-tuned optimal perf, production-ready, kube-native Developer experience Container & kube-native experience, rapid inner loop Lightweight, highly- efficient runtime CI/CD-optimized operational experience Simple true-to- production developer experience https://developer.ibm.com/articles/6-reasons-why-open-liberty-is-an-ideal-choice-for-developing-and-deploying-microservices/
  • 30. 30 <feature>cdi-4.0</feature> <feature>restfulWS-3.1</feature> Right-size deployments Kernel cdi-4.0 appmgr restfulWS-3.1 Java EE With a Traditional App Server, the Full API stack as well as administration and operations features are loaded in each server instance With Liberty, you control which features are loaded into each server instance jndi-1.0 jsonp-2.1
  • 31. Simple right-size build Application Build Maven and Gradle Plugins All Liberty artefacts released to maven central Container Build Leading container build approaches – Dockerfile, Cloud Native Buildpack, Source-2-Image Certified Liberty images released to IBM Container Registry Friction-free, right-size application and container build © 2023 IBM Corporation
  • 32. CI/CD Optimized Seamless currency to eliminate technical debt and stay secure Zero Migration makes staying current easy • No configuration or runtime behavior changes Continuous Delivery gives frequent and reliable access to the latest features and fixes • Full releases every 4 weeks • Quarterly LTS releases Plan Code Build Test Release Deploy Run Monitor Zero Migration Continuous Delivery © 2023 IBM Corporation
  • 33. Rapid iterative development in your IDE of choice New Code Build Test Debug Starter projects: start.openliberty.io Code and config assist. Dev Mode Maven and Gradle plugins Cloud Native Buildpack, Source-2-image, Dockerfile From Unit Testing to Integration Testing in Containers Hot code replace Developer Efficiency https://openliberty.io/blog/2023/06/27/23.0.0.6.html#devTools Liberty Tools New
  • 34. Liberty Operators • Insulate from Kubernetes complexities • Automate common task: deploy, scale, upgrade, dump gather • Security capabilities out-of-the- box • Reduce configuration by up to 80% apiVersion: liberty.websphere.ibm.com/v1 kind: WebSphereLibertyApplication metadata: name: liberty-cloud-demo spec: license: accept: false edition: IBM WebSphere Application Server productEntitlementSource: Standalone metric: Processor Value Unit (PVU) replicas: 3 applicationImage: liberty-cloud-demo:1.0 pullPolicy: Always expose: true storage: size: 2Gi mountPath: "/logs" Addressing the Kubernetes skills gap 34 Deploy
  • 35. Cloud Deployments Support on leading clouds • Liberty supported on all leading Cloud Virtual Machine, Kubernetes and OpenShift Environments • Azure, AWS, IBM Cloud, Google Cloud, … (Bring-Your- Own-License) • New: AWS ECS Fargate CaaS Simplified setup • Marketplace and Partner Solution options simplify and accelerate setup in AWS and Azure at no extra cost • Provision or re-use Cluster • Provision or re-use container registry • Networking and load-balancing • Operator install and configuration • Application deployment Azure Red Hat OpenShift Azure Kubernetes Service WebSphere Liberty and Open Liberty WebSphere Liberty and Open Liberty https://docs.microsoft.com/en-us/azure/developer/java/ee/websphere-family © 2022 IBM Corporation AWS Elastic Kubernetes Service WebSphere Liberty and Open Liberty New Deploy
  • 36. Observe/Day-2 Observability • All four categories of observability enabled through Liberty runtime, developer instrumentation and leading observability tools Day-2 Operations • Day-2 problem determination enabled through Liberty Operators – dumps, traces Metrics • Built-in JVM and Liberty metrics • App metrics using MicroProfile Metrics aggregation and dashboarding with Prometheus and Grafana Logging • JSON logging (logs, trace, ffdc, access logs, audit logs) • Integration with java logging API (JUL) • LogRecordContext (add custom fields to log records) • LogstashCollector feature, Kibana Dashboards • Works with common log aggregators (Splunk, Humio, LogDNA, Elastic Stack, etc) Tracing • Distributed tracing using MicroProfile Telemetry • Built-in Jakarta REST instrumentation • App instrumentation using MicroProfile Telemetry • Zipkin, Jaeger to aggregate/visualize • OpenTelemetry adoption Health • Kube Health endpoint using MicroProfile • Startup, Liveness, Readiness for different lifecycle states • App health checks using MicroProfile The right information in the right place at the right time © 2022 IBM Corporation Monitor
  • 37. Cloud-Optimized Performance 0 50 100 150 200 250 300 350 400 0 30 60 90 CPU utilization (%) Time (sec) Daytrader7 CPU consumption CPU spikes caused by JIT compilation 0 100000 200000 300000 400000 500000 600000 0 30 60 90 Resident set size (KB) Time (sec) Daytrader7 memory footprint Footprint spikes caused by JIT compilation • Initial execution run is “interpreted”, which is relatively slow • “Hot” methods compiled by JIT can create CPU and memory spikes • CPU spikes cause lower QoS • Memory spikes cause OOM issues, including crashes • Slow start-up time • Slow ramp-up time
  • 38. Cloud Optimization - SCC Offloads costly JIT compilation to separate server Dramatically reduces peak memory usage New: Simple Kubernetes enablement through Liberty Operator Service Memory limit w/o SCC Server Memory limit with SCC Server Saving Auth 1,050 MB 750 MB 300MB Booking 3,300 MB 2,400 MB 900MB Customer 1,650 MB 1,050 MB 600MB Flight 2,250 MB 1,250 MB 1,000 MB Main 600 MB 450 MB 150MB Total 8,850 MB 5,900 MB 2,950 MB Optimizing memory for Kubernetes deployments Semeru Cloud Compiler Application Instance 1 Application Instance 2 Application Instance 3 © 2023 IBM Corporation
  • 39. InstantOn without compromise 39 Characteristics Semeru InstantOn Semeru JVM Graal Native Full Java support Yes Yes No ‘Instant on’ Yes No Yes High throughput Yes Yes No Low memory (under load) Yes Yes No Dev-prod parity Yes Yes No Dev Build Prod Prod Prod checkpoint restore restore restore 12x 15x 18x • Use Linux CRIU Technology • Start applications in milliseconds • Ideal for serverless • Up to 18x faster • With all the benefits of the JVM and none of the compromises of Native Image © 2023 IBM Corporation
  • 40. 41 Knative to mange scaling to zero
  • 41. Knative to Serverless 42 A Kubernetes-based serverless framework Build Serving Eventing Utilize and extend the existing Kubernetes’ primitives Enables the source code from the dependencies and repository Building container images and registering them Enables rapid development of serverless containers Automatic scaling for Istio components Event-driven architecture
  • 43. SCC, Knative, InstantOn all together 44
  • 44. Demo
  • 45. a free virtual consultation with an expert Find out more 46 Read Watch Explore the latest on WebSphere and Liberty ibm.biz/LibertyTV Try Learn Liberty https://openliberty.io/guides/ Try Liberty InstantOn ibm.biz/InstantOn_HowToBlog Why Liberty ibm.biz/6ReasonsWhyLiberty © 2021 IBM Corporation 46
  • 46. Resources 47 1. https://start.liberty.io 2. https://openliberty.io/guides/ 3. https://microprofile.io/ 4. https://jakarta.ee/ 5. https://start.microprofile.io/ 6. https://blog.openj9.org/2021/10/20/save-money-with-jitserver-on-the-cloud-an-aws- experiment/ 7. https://openliberty.io/blog/2022/09/29/instant-on-beta.html
  • 47. 48 Q&A Emily Jiang IBM, Cloud Native Architect & Advocate emijiang@uk.ibm.com Twitter/LinkedIn: @emilyfhjiang
  • 48. 49 Thank You Emily Jiang IBM, Cloud Native Architect and Advocate emijiang@uk.ibm.com X/LinkedIn: @emilyfhjiang