4. The Importance of Jakarta EE
• Jakarta EE is an important part of Java ecosystem and cloud
• 25-35% of new and existing Java applications run on Jakarta EE application servers
• WebLogic, WebSphere/Liberty, JBoss EAP, WildFly, Payara
• 70-80% of Java applications depend on at least one or more Jakarta EE APIs
• Tomcat, Hibernate, ActiveMQ, Jetty, Jersey, CXF, Quarkus, MicroProfile
• Many of these applications are moving to the cloud now and the near future
A healthy ecosystem
continues to evolve, with
a stable Jakarta EE core
Quarkus and MicroProfile
are enjoying a notable
increase in interest
2020 Jakarta EE Developer Survey: https://outreach.jakartaee.org/2020-developer-survey-report
7. WebLogic on Azure
• Robust, up-to-date Azure Marketplace images
and solutions for WebLogic
• Linux, Oracle JDK, WebLogic
• Jointly published, maintained and supported by
Microsoft and Oracle, bring your own license
• Supports common use-cases such as base image,
single instance, load-balancing and clustering
• Supports key integrations such as App Gateway,
Azure SQL, Azure PostgreSQL, Oracle DB, Azure
Active Directory, Oracle Coherence, ELK
• Mature offering, minor releases ongoing
• Similar support for WebLogic on AKS actively in
the works
https://aka.ms/weblogic-on-azure
8. Containers
• Azure provides best of breed support for Docker and Kubernetes through the Azure
Kubernetes Service (AKS) and the Azure Container Registry (ACR)
• Another options is App Service for Containers as an easier pathway of using Docker on Azure
• Application server vendors provide Docker images, Helm charts, and Kubernetes Operators
• WebLogic, WebSphere/Open Liberty, WildFly, Payara
• More will be done to enhance the developer experience
Azure Kubernetes Service App Service for Containers Azure Container Registry
9. WebLogic on AKS
• WebLogic certified by Oracle and Microsoft to run well on AKS via WebLogic Operator
• Detailed guidance, scripts and samples incorporated
into WebLogic Operator
• Guidance includes
integration with Azure
Files as persistence
volumes and Azure
load balancing
• Further ease-of-use
and Azure service
integrations possible via
Marketplace offering mirroring
virtual machines solutions
https://aka.ms/weblogic-on-aks
10. Open/WebSphere Liberty on ARO
• Open/WebSphere Liberty certified by
IBM and Microsoft to run well on Azure
Red Hat OpenShift (ARO) via Liberty
Operator
• Detailed guidance and samples
provided and supported jointly
• Guidance includes integration with
OpenShift Container Registry, and
Azure Active Directory
• Further ease-of-use possible via
Marketplace offering mirroring virtual
machines solutions
https://aka.ms/liberty-on-aro
11. Jakarta EE on Azure main landing page
https://aka.ms/java/ee
13. Node 1..n
13
Node 1..n
Managed Server
Admin-Server
8080
Managed Server
API-Server
8081
Managed Server
Web-Server
8082
Managed Server
BackEnd-Server
8083
Managed Server
Batch-Server
8084
WLS
On-Prem
NAS
Cfg, Log, Q..
VM Node 1..n
Managed Server
Admin-Server
8080
Managed Server
API-Server
8081
Managed Server
Web-Server
8082
Managed Server
BackEnd-Server
8083
Managed Server
Batch-Server
8084
WLS
On VM
NAS
Cfg, Log, Q..
Pro:
• Simple Lift & Shift
Con:
• Less Scalability
• Less Agility
AKS Node 1
Managed Server POD
Admin-Server
8080
Managed Server POD
API-Server
8081
Managed Server POD
Web-Server
8082
Managed Server POD
BackEnd-Server
8083
Managed Server POD
Batch-Server
8084
WLS
On AKS
NAS Cfg, Log, Queue
AKS Node 2
Managed Server POD
Admin-Server
8080
Managed Server POD
API-Server
8081
Managed Server POD
Web-Server POD
8082
Managed Server POD
BackEnd-Server
8083
Managed Server POD
Batch-Server
8084
Cfg, Log, Queue
Pro:
• Application Decoupled
• Horizontal Scaling
• Quick and Consist CD
Con:
• Change stateful local
disk to central NAS
• Change app routing
path from node to
POD
• Different change
management process
Managed Server POD
API-Server
8081
Managed Server POD
Web-Server POD
8082
ACR image
Domain, Cluster, EAR/WAR
Data Source/JMS…
Migrating WLS to AKS
14. Assets in VM
VM
Layer 4 WebLogic Applications
Layer 0 Oracle Linux image -- ol7
Layer 3 WebLogic Server Domain
Layer 2 WebLogic Server – generic installation + patches
Layer 1 Oracle JDK -- jdk 8
Domain specific configurations: clusters, servers, logs,
security, Java options, performance tuning ……
Application
deployments
Data source
configuration
JMS
configuration
…
• Applications
• .jar, .war, .ear, .gar
• Data source configurations
• Credentials: URLs, username, password
• JDBC drivers
• Other properties: JNDI name, connection pool params
• JMS configurations
• JMS server config
• File store: directory
• Domain configurations
• Clusters: name, cluster config
• Servers: name, port, replicas, machine, server config
• Logs: directory, name
• Security: credentials for admin, certificates for SSL, SSL
config
• Java options:
• JVM arguments: memory setting
• WebLogic settings
• 3rd libs settings
• Performance settings
• … …
Build all of them to
the docker image? 14
• Decouple the configuration from the runtime.
• Create configuration outside of the image.
• Be able to apply the external configuration to
runtime.
15. WebLogic domain model in image (1/2)
VM
Layer 4 WebLogic Applications
Layer 0 Oracle Linux image -- ol7
Layer 3 WebLogic Server Domain
Layer 2 WebLogic Server – generic installation + patches
Layer 1 Oracle JDK -- jdk 8
Domain specific configurations: clusters, servers, logs,
security, Java options, performance tuning ……
Application
deployments
Data source
configuration
JMS
configuration
…
WebLogic domain model:
• Models are defined with YAML
files
• WDT model tools to apply the
models to WLS runtime
• Model files in image or
ConfigMap
ConfigMap
Docker
Image
WDT
model
tool
WLS
models
(YAML files)
Artifacts
16. WebLogic domain model in image (2/2)
WebLogic Deployment Tool
(WDT)
Database configuration
Model files
JMS configuration
Model files
Java EE applications
(.jar, .war, .ear, .gar)
3rd libraries
(.jar)
Docker image ConfigMap
Domain
topology
Application
deployment
Performance
tuning
Static configurations
Model files
Other configurations …
Model files
OS, JDK, WebLogic
installation + patches
Build new image:
• Change applications
• Update models
• Upgrade WDT
• Update OS, JDK, WLS
• Patch
Dynamic configurations
Model files
18. WLS domain
18
Administration
server
Managed
Server 1
Local logging
Managed
Server 1
Local logging
Managed
Server 1
Local logging
Cluster
Log
Domain log
Get configuration at startup
Log domain messages
Monitor/update
config
Console
Get/Set
Configuration
repository
Domain
20. Container Orchestration
Automate:
• Configuration
• Provision
• Availability
• Security
• Resource allocation
• Load balancing
• Health monitoring
Admin Server
Managed Server
Managed Server
WebLogic Cluster
Azure Kubernetes Service
20
WebLogic Kubernetes Operator
Pod
Pod
Pod
21. Run WebLogic using the WLS operator
Kubectl
Kubernetes
Kubectl edit…
Install Domain
inputs (YAML)
Customer Tenancy
Operator Image
Kubernetes cluster
Domain
WLS
Operator
WebLogic Domain(s)
WLS Cluster
AS MS MS MS
MS MS
PV
Logs
• Build WLS application image
and push it to ACR
• Install WLS operator with
HELM charts
• Create WLS domain resource
definition (YAML)
• Ask the WLS operator to
install WLS domain
• The WLS operator creates
pods for admin server and
managed servers
Secret
ConfigMap
WLS Domain
Image
21
22. Scaling
22
AKS supports node auto scaling
Node horizontal scaling
• Different parts of the application have different scaling requirement.
• Metrics:
• WebLogic monitoring exporter
• Metrics of JVM, request, servlet… …
• Solution:
• Prometheus
• AlertManager
• Webhook
• WebLogic operator
Pod horizontal scaling
30. WebLogic on Azure Virtual Machines Roadmap
VMs
Oracle
Database
Single
instance Cluster
Azure
SQL
App
Gateway
Azure
PostgreSQL
Azure Active
Directory
Oracle
Coherence
Migration
Tools
31. WebLogic on AKS Roadmap
Oracle
Database
Azure
Files Cluster
Azure
SQL
App
Gateway
Azure
PostgreSQL
Azure Active
Directory
Oracle
Coherence
Migration
Tools
32. Summary
• There is a team dedicated to Jakarta EE on Azure success
• We are eager to engage and aid your migration case directly, if desired
• Robust guidance and tooling for migrating Jakarta EE applications to Azure using containers
and virtual machines well in the works
• WebLogic, WebSphere/Liberty, JBoss EAP, WildFly
• Managed Jakarta EE application server on top tier public cloud
• JBoss EAP on App Service
• Jakarta EE integrations with Azure services will continue to improve
• Directory server, caching, logging, messaging
Please engage us!
https://aka.ms/migration-survey
33. Resources
• Announcement of JBoss EAP on Azure Virtual Machines and VM Scale Sets
• https://techcommunity.microsoft.com/t5/azure-marketplace/announcing-red-hat-jboss-
eap-on-azure-virtual-machines-and-vm/ba-p/2374068
• Announcement of WebSphere Application Server on Azure Virtual Machines
• https://techcommunity.microsoft.com/t5/azure-marketplace/run-websphere-application-
server-on-azure-virtual-machines/ba-p/2370219
• Announcement of WebLogic on Azure Virtual Machines
• https://azure.microsoft.com/en-us/blog/new-solutions-for-oracle-weblogic-on-azure-
virtual-machines/
• Announcement for WebLogic on Azure Kubernetes Service
• https://techcommunity.microsoft.com/t5/apps-on-azure/run-oracle-weblogic-server-on-
azure-kubernetes-service/ba-p/1849719
• Announcement for WebSphere/Open Liberty on Azure Kubernetes Service
• https://techcommunity.microsoft.com/t5/apps-on-azure/run-websphere-liberty-and-open-
liberty-on-aks/ba-p/2156486