SlideShare a Scribd company logo
1 of 51
Hybrid Cloud Applications Built with Pure
Openness
Emily Jiang, STSM @IBM
Java Champion
Cloud Native Architect and Advocate
@emilyfhjiang
2
Hybrid Cloud
Public Cloud
Private Cloud
Hybrid Cloud
3
Hybrid Cloud Applications
Applications to provide
services
(e.g. microservices)
4
Hybrid Cloud Applications with Openness
Open Standards + Open
Source
5
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 Big Move
7
In September 2017, Java EE technologies moved to the
Eclipse Foundation, where they now continue to evolve under the
Jakarta EE brand
This was significantly provoked by MicroProfile community activities
to innovate faster than Java EE (discussed later)
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8
> Cloud Native
> Multi-Cloud
> Faster Innovation
> Investment Protection
> Open Specification Process
> Business Risk Mitigation
> Modernize Developer Expertise
Jakarta EE Priorities
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Opportunities for Improvement
9
Native integration with
Kubernetes
Better support for cloud
native architectures
Tools and specifications needed
A faster pace of innovation
10
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
11
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
On September 10, 2019, a diverse community of leading Java organizations and developers
delivered a new baseline for the evolution and innovation of enterprise Java technologies under
an open-source, vendor-neutral process.
Jakarta EE 8: Powered by Participation
Jakarta EE 8 Delivers...
Full Compatibility with
Java EE™ 8
Open Specifications
Open Source TCK License
and Process
Multiple Compatible
Implementations
Platform Integration
Requirement Parity with
Java EE 8
A Fully Transparent
Branding Process
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
Jakarta EE 9 and 9.1
Jakarta EE 9 Release Plan includes:
● Move to jakarta namespace
(referred to as the “big bang”
approach);
● Removal of unwanted or deprecated
specifications;
● Minor enhancements to a small
number of specifications;
● No new specifications, apart from
specifications pruned from Java SE 8
where appropriate; and
● Java SE 11 support (Jakarta EE 9.1).
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
MicroProfile
MicroProfile – Necessary Disruption
17
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.0
Jakarta EE
10 Core
Profile
Config 3.0
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.0
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.0
MicroProfile 6.0
Jakarta EE
10 Core
Profile
Config 3.0
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.0
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.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
20
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
MicroProfile Releases
MicroProfile 1.0 (Fall
2016)
JAX-RS 2.0 // Java EE 7
CDI 1.2 //Java EE 7
JSON-P 1.0 //Java EE 7
MicroProfile 1.1
(August 2017)
microProfile-1.0
Config 1.0
MicroProfile 1.2
(Sept 2017)
MicroProfile-1.1
Config 1.1
Fault Tolerance 1.0
Health 1.0
Metrics 1.0
JWT 1.0
2017
2018
MicroProfile 1.3
(Dec 2017)
MicroProfile 1.2
Config 1.2
Metrics 1.1
OpenApi 1.0
OpenTracing 1.0
RestClient 1.0
MicroProfile 1.4
(June 2018)
MicroProfile 1.3
Config 1.3
Fault Tolerance 1.1
JWT 1.1
Open Tracing-1.1
Rest Client-1.1
2019
MicroProfile 2.0.1 (July 2018)
MicroProfile 1.4
JAX-RS 2.1 // Java EE 8
CDI 2.0 // Java EE 8
JSON-P 1.1 // Java EE 8
JSON-B 1.0 // Java EE 8
MicroProfile 2.1
(Oct 2018)
MicroProfile 2.0
OpenTracing 1.2
MicroProfile 2.2
(Feb 2019)
Fault Tolerance 2.0
OpenAPI 1.1
OpenTracing 1.3
Rest Client 1.2
MicroProfile 3.0
(June 2019)
MicroProfile 2.0
Metrics 2.0
Health Check 2.0
Rest Client 1.3
MicroProfile 3.2
(Nov 2019)
MicroProfile 3.0
Metrics 2.2
Health Check 2.1
2020
MicroProfile 3.3
(Feb 2020)
MicroProfile 3.2
Config 1.4
Metrics 2.3
Fault Tolerance 2.1
Health 2.2
Rest Client 1.4
MicroProfile 4.0
(Dec. 2020)
Config 2.0
Metrics 3.0
Fault Tolerance 3.0
Health 3.0
Rest Client 2.0
OpenAPI 2.0
OpenTracing 2.0
JWT Auth1.2
CDI 2.0.2 //Jakarta EE8
JAX-RS 2.1.6 //Jakarta EE8
JSON-P 1.1.6 //Jakarta EE8
JSON-B 1.0.2 //Jakarta EE8
MicroProfile 4.1
(July. 2021)
MicroProfile 4.0
Health 3.1
Jakarta Annotations 1.3
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
2021
MicroProfile
Working Group
established in Oct.
2020
MicroProfile 6.0
(2022)
Config 3.0
Metrics 5.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telmetry 1.0
JWT Auth 2.1
Jakarta EE 10 Core
Profile
2022
21
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
What is Open Liberty?
© 2023 IBM Corporation
Supports both Jakarta EE and MicroProfile!
API Roadmap
© 2021 IBM Corporation Confidential 26
https://openliberty.io/blog/2021/03/17/eclipse-transformer.html
https://www.youtube.com/watch?v=CyRNHCwmLTY
Jakarta EE 8 (3Q2019)
• API identical with Java
EE 8
Jakarta EE 9 (4Q2020)
• New API namespace
• API equivalent to
Java SE 8
Jakarta EE 9.1 (2Q2021)
• Java SE 11
WebSphere Liberty &
Open Liberty (3Q2019)
• Jakarta EE 8
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
27
6 reasons why Liberty
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/
28
<feature>servlet-4.0</feature>
<feature>jaxrs-2.1</feature>
Kernel
• You control which features are loaded into each server instance
Just Enough Application Server
jsonp-1.1
servlet-4.0
http-2.0
appmgr
Java EE
jaxrs-2.1
jaxrsClient-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
FROM icr.io/appcafe/open-liberty:kernel-slim-java8-openj9-
ubi
COPY --chown=1001:0 server.xml /config/
RUN features.sh
COPY --chown=1001:0 target/*.war /config/apps
RUN configure.sh
Production-ready right-size containers
© 2023 IBM Corporation
Plan
Code
Build
Test
Release
Deploy
Run
Monitor
Cloud-native Liberty
© 2022 IBM Corporation
Testcontainers
Zero Migration
Continuous Delivery
Quality
Security
An end-to-end cloud-native
DevOps delivery experience
with Liberty
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
+
Code
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%
• New: simplified license management
(WebSphere Liberty Operator)
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
© 2022 IBM Corporation 32
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
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 under
development
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
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
Plan
Code
Build
Test
Release
Deploy
Run
Monitor
Cloud-native Liberty
© 2022 IBM Corporation
Testcontainers
Zero Migration
Continuous Delivery
Quality
Security
An end-to-end cloud-native
DevOps delivery experience
with Liberty
Demo
Cloud-Optimized
Performance
© 2023 IBM Corporation
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
OpenJ9
Client
SCC Client
Semeru Cloud
Compiler
Application
Instance 1
Application
Instance 2
Application
Instance 3
© 2023 IBM Corporation
InstantOn without compromise
40
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
restor
e
restor
e
restor
e
12x
15x
18x
• 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
• Use Linux CRIU capability to snapshot/restore Liberty process
• Linux CRIU snapshots process state including memory pages,
file handles, network connections
• Liberty and OpenJ9 run pre-snapshot and post-restore hooks to
enable seamless user experience
Liberty Instant On
Liberty JVM starts
up
Liberty JVM reaches
snapshot point
Liberty JVM runs
pre snapshot hooks
Liberty JVM initiates
snapshot
Build time
Liberty JVM exits
after snapshot
Restore Liberty
JVM from snapshot
Liberty JVM runs
post restore hooks
Run time
Restore Liberty
JVM from snapshot
Liberty JVM runs
post restore hooks
Run time
Goal : “instant on” without limiting programming model/capabilities substantially
Liberty JVM
continues running
Liberty JVM
continues running
41
42
Knative to mange scaling to
zero
Knative to Serverless
43
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
44
SCC, InstantOn, Knative
SCC, Knative, InstantOn all together
45
46
Facilitate your Journey to
Serverless with
SCC, Knative and InstantOn
Architecture
Styles with
Open Liberty
Architecture Solution
Monoliths Open Liberty
Macroservices Open Liberty
Microservices Open Liberty + Semeru Cloud Compiler (w/
InstantOn)
Serverless/Functions Open Liberty + Knative + SCC + InstantOn
Demo
Liberty is Ideal for Modernization
Liberty is the only runtime with the breadth of first-class deployment, API, and architecture choices to
enable progressive modernization, reducing risk, reducing cost, and reducing time-to-value
– First-class support for VMs and Containers/Kubernetes
– First-class support for Monoliths and Microservices
– First-class support for Java EE, Jakarta EE and MicroProfile
Traditional
WebSphere
Liberty
VMs/Cells
VMs/Collectives
Containers/K8s
Liberty
Containers/K8s
Traditional
WebSphere
Containers/K8s
Modernize
Runtime
Modernize
Runtime
Modernize
Operations
Modernize
Operations
Modernize
Architecture
Modernize Runtime and Operations
Transformation Advisor Mono2Micro
© 2023 IBM Corporation
a free virtual consultation
with an expert
Find out more
50
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
50
Resources
51
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

More Related Content

Similar to OpenCloudNative-BeJUG.pptx

Similar to OpenCloudNative-BeJUG.pptx (20)

WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6
 
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
 
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
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
 
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
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
From Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
From Legacy to Legendary - Jakarta EE's Evolution in the Modern EraFrom Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
From Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
 
From Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
From Legacy to Legendary - Jakarta EE's Evolution in the Modern EraFrom Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
From Legacy to Legendary - Jakarta EE's Evolution in the Modern Era
 
Jakarta EE for Spring Developers
Jakarta EE for Spring DevelopersJakarta EE for Spring Developers
Jakarta EE for Spring Developers
 
2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)
 
Jakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech TalkJakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech Talk
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
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
 
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?
 
Cloud nativemicroservices jax-london2020
Cloud nativemicroservices   jax-london2020Cloud nativemicroservices   jax-london2020
Cloud nativemicroservices jax-london2020
 
Cloud nativemicroservices jax-london2020
Cloud nativemicroservices   jax-london2020Cloud nativemicroservices   jax-london2020
Cloud nativemicroservices jax-london2020
 
WebLogic im neuen Gewand
WebLogic im neuen GewandWebLogic im neuen Gewand
WebLogic im neuen Gewand
 
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 Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and Future
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

OpenCloudNative-BeJUG.pptx

  • 1. Hybrid Cloud Applications Built with Pure Openness Emily Jiang, STSM @IBM Java Champion Cloud Native Architect and Advocate @emilyfhjiang
  • 3. 3 Hybrid Cloud Applications Applications to provide services (e.g. microservices)
  • 4. 4 Hybrid Cloud Applications with Openness Open Standards + Open Source
  • 5. 5 Industry Standard Java APIs Optimizing Enterprise Java for a Microservices Architecture and Kubernetes Build modern portable enterprise apps Protect your investments in Java EE
  • 7. The Big Move 7 In September 2017, Java EE technologies moved to the Eclipse Foundation, where they now continue to evolve under the Jakarta EE brand This was significantly provoked by MicroProfile community activities to innovate faster than Java EE (discussed later)
  • 8. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8 > Cloud Native > Multi-Cloud > Faster Innovation > Investment Protection > Open Specification Process > Business Risk Mitigation > Modernize Developer Expertise Jakarta EE Priorities
  • 9. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) Opportunities for Improvement 9 Native integration with Kubernetes Better support for cloud native architectures Tools and specifications needed A faster pace of innovation
  • 10. 10 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
  • 11. 11 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) On September 10, 2019, a diverse community of leading Java organizations and developers delivered a new baseline for the evolution and innovation of enterprise Java technologies under an open-source, vendor-neutral process. Jakarta EE 8: Powered by Participation Jakarta EE 8 Delivers... Full Compatibility with Java EE™ 8 Open Specifications Open Source TCK License and Process Multiple Compatible Implementations Platform Integration Requirement Parity with Java EE 8 A Fully Transparent Branding Process
  • 12. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12 Jakarta EE 9 and 9.1 Jakarta EE 9 Release Plan includes: ● Move to jakarta namespace (referred to as the “big bang” approach); ● Removal of unwanted or deprecated specifications; ● Minor enhancements to a small number of specifications; ● No new specifications, apart from specifications pruned from Java SE 8 where appropriate; and ● Java SE 11 support (Jakarta EE 9.1).
  • 13. 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
  • 14. 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
  • 15. 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
  • 17. MicroProfile – Necessary Disruption 17 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
  • 18. MicroProfile 6.0 Jakarta EE 10 Core Profile Config 3.0 Fault Tolerance 4.0 JWT Authentication 2.1 Health 4.0 Metrics 5.0 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.0
  • 19. MicroProfile 6.0 Jakarta EE 10 Core Profile Config 3.0 Fault Tolerance 4.0 JWT Authentication 2.1 Health 4.0 Metrics 5.0 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.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
  • 20. 20 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) MicroProfile Releases MicroProfile 1.0 (Fall 2016) JAX-RS 2.0 // Java EE 7 CDI 1.2 //Java EE 7 JSON-P 1.0 //Java EE 7 MicroProfile 1.1 (August 2017) microProfile-1.0 Config 1.0 MicroProfile 1.2 (Sept 2017) MicroProfile-1.1 Config 1.1 Fault Tolerance 1.0 Health 1.0 Metrics 1.0 JWT 1.0 2017 2018 MicroProfile 1.3 (Dec 2017) MicroProfile 1.2 Config 1.2 Metrics 1.1 OpenApi 1.0 OpenTracing 1.0 RestClient 1.0 MicroProfile 1.4 (June 2018) MicroProfile 1.3 Config 1.3 Fault Tolerance 1.1 JWT 1.1 Open Tracing-1.1 Rest Client-1.1 2019 MicroProfile 2.0.1 (July 2018) MicroProfile 1.4 JAX-RS 2.1 // Java EE 8 CDI 2.0 // Java EE 8 JSON-P 1.1 // Java EE 8 JSON-B 1.0 // Java EE 8 MicroProfile 2.1 (Oct 2018) MicroProfile 2.0 OpenTracing 1.2 MicroProfile 2.2 (Feb 2019) Fault Tolerance 2.0 OpenAPI 1.1 OpenTracing 1.3 Rest Client 1.2 MicroProfile 3.0 (June 2019) MicroProfile 2.0 Metrics 2.0 Health Check 2.0 Rest Client 1.3 MicroProfile 3.2 (Nov 2019) MicroProfile 3.0 Metrics 2.2 Health Check 2.1 2020 MicroProfile 3.3 (Feb 2020) MicroProfile 3.2 Config 1.4 Metrics 2.3 Fault Tolerance 2.1 Health 2.2 Rest Client 1.4 MicroProfile 4.0 (Dec. 2020) Config 2.0 Metrics 3.0 Fault Tolerance 3.0 Health 3.0 Rest Client 2.0 OpenAPI 2.0 OpenTracing 2.0 JWT Auth1.2 CDI 2.0.2 //Jakarta EE8 JAX-RS 2.1.6 //Jakarta EE8 JSON-P 1.1.6 //Jakarta EE8 JSON-B 1.0.2 //Jakarta EE8 MicroProfile 4.1 (July. 2021) MicroProfile 4.0 Health 3.1 Jakarta Annotations 1.3 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 2021 MicroProfile Working Group established in Oct. 2020 MicroProfile 6.0 (2022) Config 3.0 Metrics 5.0 Fault Tolerance 4.0 Health 4.0 Rest Client 3.0 OpenAPI 3.1 Telmetry 1.0 JWT Auth 2.1 Jakarta EE 10 Core Profile 2022
  • 21. 21 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
  • 23. Open Liberty used as the compatible implementation to release MicroProfile 4.1, 5.0 and 6.0 Compatible Implementations
  • 25. What is Open Liberty? © 2023 IBM Corporation Supports both Jakarta EE and MicroProfile!
  • 26. API Roadmap © 2021 IBM Corporation Confidential 26 https://openliberty.io/blog/2021/03/17/eclipse-transformer.html https://www.youtube.com/watch?v=CyRNHCwmLTY Jakarta EE 8 (3Q2019) • API identical with Java EE 8 Jakarta EE 9 (4Q2020) • New API namespace • API equivalent to Java SE 8 Jakarta EE 9.1 (2Q2021) • Java SE 11 WebSphere Liberty & Open Liberty (3Q2019) • Jakarta EE 8 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
  • 27. 27 6 reasons why Liberty 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/
  • 28. 28 <feature>servlet-4.0</feature> <feature>jaxrs-2.1</feature> Kernel • You control which features are loaded into each server instance Just Enough Application Server jsonp-1.1 servlet-4.0 http-2.0 appmgr Java EE jaxrs-2.1 jaxrsClient-2.1
  • 29. 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 FROM icr.io/appcafe/open-liberty:kernel-slim-java8-openj9- ubi COPY --chown=1001:0 server.xml /config/ RUN features.sh COPY --chown=1001:0 target/*.war /config/apps RUN configure.sh Production-ready right-size containers © 2023 IBM Corporation
  • 30. Plan Code Build Test Release Deploy Run Monitor Cloud-native Liberty © 2022 IBM Corporation Testcontainers Zero Migration Continuous Delivery Quality Security An end-to-end cloud-native DevOps delivery experience with Liberty
  • 31. 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 + Code
  • 32. 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% • New: simplified license management (WebSphere Liberty Operator) 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 © 2022 IBM Corporation 32 Deploy
  • 33. 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 Deploy
  • 34. 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 under development 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
  • 35. 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
  • 36. Plan Code Build Test Release Deploy Run Monitor Cloud-native Liberty © 2022 IBM Corporation Testcontainers Zero Migration Continuous Delivery Quality Security An end-to-end cloud-native DevOps delivery experience with Liberty
  • 37. Demo
  • 39. 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 OpenJ9 Client SCC Client Semeru Cloud Compiler Application Instance 1 Application Instance 2 Application Instance 3 © 2023 IBM Corporation
  • 40. InstantOn without compromise 40 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 restor e restor e restor e 12x 15x 18x • 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. • Use Linux CRIU capability to snapshot/restore Liberty process • Linux CRIU snapshots process state including memory pages, file handles, network connections • Liberty and OpenJ9 run pre-snapshot and post-restore hooks to enable seamless user experience Liberty Instant On Liberty JVM starts up Liberty JVM reaches snapshot point Liberty JVM runs pre snapshot hooks Liberty JVM initiates snapshot Build time Liberty JVM exits after snapshot Restore Liberty JVM from snapshot Liberty JVM runs post restore hooks Run time Restore Liberty JVM from snapshot Liberty JVM runs post restore hooks Run time Goal : “instant on” without limiting programming model/capabilities substantially Liberty JVM continues running Liberty JVM continues running 41
  • 42. 42 Knative to mange scaling to zero
  • 43. Knative to Serverless 43 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
  • 45. SCC, Knative, InstantOn all together 45
  • 46. 46 Facilitate your Journey to Serverless with SCC, Knative and InstantOn
  • 47. Architecture Styles with Open Liberty Architecture Solution Monoliths Open Liberty Macroservices Open Liberty Microservices Open Liberty + Semeru Cloud Compiler (w/ InstantOn) Serverless/Functions Open Liberty + Knative + SCC + InstantOn
  • 48. Demo
  • 49. Liberty is Ideal for Modernization Liberty is the only runtime with the breadth of first-class deployment, API, and architecture choices to enable progressive modernization, reducing risk, reducing cost, and reducing time-to-value – First-class support for VMs and Containers/Kubernetes – First-class support for Monoliths and Microservices – First-class support for Java EE, Jakarta EE and MicroProfile Traditional WebSphere Liberty VMs/Cells VMs/Collectives Containers/K8s Liberty Containers/K8s Traditional WebSphere Containers/K8s Modernize Runtime Modernize Runtime Modernize Operations Modernize Operations Modernize Architecture Modernize Runtime and Operations Transformation Advisor Mono2Micro © 2023 IBM Corporation
  • 50. a free virtual consultation with an expert Find out more 50 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 50
  • 51. Resources 51 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