SlideShare a Scribd company logo
1 of 34
Download to read offline
Oracle WebLogic Server on
Azure
Ed Burns @edburns
Principal Architect
Java on Azure
Jakarta EE Landing Page
https://aka.ms/java/ee
Professional Biography
 Client
 NCSA Mosaic (1994)
 SGI Cosmo Web Authoring
 Sun Netscape 6 OJI
Server
J2EE JSF (2002)
Oracle Java EE
Servlet, JSF, Bean Validation, etc.
Microsoft Azure Cloud (2019)
Books
Ecosystem
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
The Jakarta EE Transition
https://aka.ms/ibmsf1998
Mapping the Pathways
Virtual
Machines
Containers
Managed
Services
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
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
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
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
Jakarta EE on Azure main landing page
https://aka.ms/java/ee
© Microsoft Corporation
WebLogic Server on AKS
https://aka.ms/javaland-javaee
Select SebLogic Server on AKS link
Execute steps up to and including Perform the deployment with
GitHub Actions Infrastructure as Code
Instructor lead slides during deployment
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
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.
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
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
Docker image sample
WebLogic Image Tool
domainInfo:
AdminUserName: "@@SECRET:__weblogic-credentials__:username@@"
AdminPassword: "@@SECRET:__weblogic-credentials__:password@@"
ServerStartMode: "prod"
domainLibraries: [
'wlsdeploy/domainLibraries/postgresql-42.2.8.jar',
'wlsdeploy/domainLibraries/mssql-jdbc-7.4.1.jre8.jar']
topology:
Name: "@@ENV:CUSTOM_DOMAIN_NAME@@"
ProductionModeEnabled: true
AdminServerName: "admin-server"
Cluster:
"cluster-1":
DynamicServers:
ServerTemplate: "cluster-1-template"
ServerNamePrefix: "@@ENV:MANAGED_SERVER_PREFIX@@"
DynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
MaxDynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
MinDynamicClusterSize: "0"
CalculatedListenPorts: false
Server:
"admin-server":
ListenPort: 7001
ServerTemplate:
"cluster-1-template":
Cluster: "cluster-1"
ListenPort: 8001
SecurityConfiguration:
NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@"
NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@“
appDeployments:
Application:
ejb-server:
SourcePath:wlsdeploy/applications/ejb-server/cluster_ejb_stateful_session.ear
ModuleType: ear
Target: ‘cluster-1’ model.yaml
1
1
2
1 Run time: configured with Kubernetes Secrets
2 Run time: configured with ENV variables
├── applications
│ └── ejb-server-stateless.ear
└── domainLibraries
├── postgresql-42.2.8.jar
└── mssql-jdbc-7.4.1.jre8.jar
archive.zip
$ bash imagetool.sh cache addInstaller 
--type wdt 
--version latest 
--path weblogic-deploy.zip
$ bash imagetool.sh update 
--tag model-in-image:WLS-v1 
--fromImage container-registry.oracle.com/middleware/weblogic:12.2.1.4 
--wdtModel ./model.yaml 
--wdtVariables ./model.properties 
--wdtArchive ./archive.zip 
--wdtModelOnly 
--wdtDomainType WLS 
--chown oracle:oracle
2
1
3
1 WebLogic standard image: OS + JDK + WLS
2 WebLogic Server Deployment Tooling
3 Artifacts and WLS domain models
17
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
Extending Kubernetes API – the WLS operator
19
Kubernetes Custom Resource Definition (CRD)
openAPIV3Schema:
properties:
spec:
description:
properties:
domainUID:
domainHome:
domainHomeSourceType
adminServer:
replicas:
clusters:
clusterName:
replicas:
configuration:
image:
… …
Host
Admin Server
Managed Server1
Managed Server1
Node Manager
Domain
Cluster1
WebLogic domain topology
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
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
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
Pod horizontal autoscaling
23
Kubernetes
AS
POD1
MS
POD2
MS
POD3
MS
POD4
MS
POD5
AS
POD1
MS
POD2
MS
POD3
MS
POD4
MS
POD5
Kubectl
webhook
WLS
Operator
Prometheus
AlertManager
Web Domain
Back-end Domain
Collect metrics from MSs
Create alert
Request Scale Up/Down
Scale: Add/Remove POD
Scale Up/Down
Front-end cluster
Back-end cluster
1
2
3
4
5
6
wls-aks/auto-scaling at main · galiacheng/wls-aks (github.com)
AS: administration server
MS: managed server
Demo video
Developer
Admin
Azure Repos Azure Pipeline
Build
Release
WLS domain images
Azure Container Registry
Azure Container Service
running Kubernetes
hosting the deployed application
CI/CD
24
Use a Log4j
compliant base
image.
Ease the installation of
security fixes.
CI/CD
25
Simplify collaboration between development and operations team.​
Observability
Pillars Layer Tools: Open source Tools: Azure Services
Metrics Infrastructure (AKS) Prometheus + Grafana Azure Container Insight
WebLogic Server Prometheus + Grafana
Java EE Applications Prometheus + Grafana
Traces Java EE Applications Elastic APM Azure Application Insight
Logs Infrastructure (AKS) Azure Monitor Logs
WebLogic Server Fluentd + Elasticsearch + Kibana Azure Elasticsearch service
Azure Kibana Service
Java EE Applications Fluentd + Elasticsearch + Kibana Azure Elasticsearch service
Azure Kibana Service
Service mesh Java EE Applications Istio
26
Integrating with monitoring services
• Azure file share
• Persistent volume
• JVM args
• -javaagent:/shared/app-insight/applicationinsights-agent-3.1.1.jar
• -javaagent:/shared/elastic-apm/elastic-apm-agent-1.24.0.jar
• Kubernetes sidecar
• Fluentd sidecar container to export application logs
• Istio sidecar container to integrate with Istio
27
Capture automatically, no code change required.​
Networking
• Traffic from layer 7 and layer 4
• TLS/SSL with custom certificates
• External DNS
Pod Pod
Node
Service
endpoint
AGIC
Application Gateway Subnet
AKS Subnet
V-Net
Azure DNS Zone
External access
Lookup
HTTP/HTTPS
T3/T3S
Web Application Firewall Policies
Monitoring
Public/private
Load Balancer
Azure Application Gateway
Azure Storage Account
Internal access
28
Notes:
AGIC: Application Gateway Ingress Controller
Roadmap
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
WebLogic on AKS Roadmap
Oracle
Database
Azure
Files Cluster
Azure
SQL
App
Gateway
Azure
PostgreSQL
Azure Active
Directory
Oracle
Coherence
Migration
Tools
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
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
© Copyright Microsoft Corporation. All rights reserved.

More Related Content

Similar to wls-azure-devnexus-2022.pdf

Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Berry Clemens
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you coveredEdward Burns
 
azure track -05- windows azure pack deep dive
azure track -05- windows azure pack deep diveazure track -05- windows azure pack deep dive
azure track -05- windows azure pack deep diveITProceed
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesJuarez Junior
 
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformOSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformNETWAYS
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresMichel Schildmeijer
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite EverywhereRupesh Das
 
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...Trivadis
 
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureWhy Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureReza Rahman
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Enterprise Java on Azure: From Java EE to Spring, we have you coveredEnterprise Java on Azure: From Java EE to Spring, we have you covered
Enterprise Java on Azure: From Java EE to Spring, we have you coveredEd Burns
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptKalsoomTahir2
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsKonveyor Community
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1Brian Benz
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 javatwo2011
 
Running WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesRunning WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesReza Rahman
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3Bruno Borges
 

Similar to wls-azure-devnexus-2022.pdf (20)

Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
 
azure track -05- windows azure pack deep dive
azure track -05- windows azure pack deep diveazure track -05- windows azure pack deep dive
azure track -05- windows azure pack deep dive
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for Databases
 
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformOSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite Everywhere
 
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
 
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureWhy Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
 
So Many Docker Platforms...so little time
So Many Docker Platforms...so little timeSo Many Docker Platforms...so little time
So Many Docker Platforms...so little time
 
WebLogic and GraalVM
WebLogic and GraalVMWebLogic and GraalVM
WebLogic and GraalVM
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Enterprise Java on Azure: From Java EE to Spring, we have you coveredEnterprise Java on Azure: From Java EE to Spring, we have you covered
Enterprise Java on Azure: From Java EE to Spring, we have you covered
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
 
Running WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesRunning WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual Machines
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
 

More from Edward Burns

Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career MasterplanEdward Burns
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Edward Burns
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Edward Burns
 
How modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageHow modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageEdward Burns
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztEdward Burns
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with AzureEdward Burns
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...Edward Burns
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Edward Burns
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Edward Burns
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudEdward Burns
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015Edward Burns
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckEdward Burns
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckEdward Burns
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouEdward Burns
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesEdward Burns
 

More from Edward Burns (20)

Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career Masterplan
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!
 
How modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageHow modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantage
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the Cloud
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 

Recently uploaded

How can I fly with the British Airways Unaccompanied Minor Policy?
How can I fly with the British Airways Unaccompanied Minor Policy?How can I fly with the British Airways Unaccompanied Minor Policy?
How can I fly with the British Airways Unaccompanied Minor Policy?flightsvillacom
 
BERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxBERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxseribangash
 
"Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa""Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa"flyn goo
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue murasandamichaela *
 
08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking MenDelhi Call girls
 
best weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdfbest weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdftour guide
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterStefSmulders1
 
08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking MenDelhi Call girls
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxChung Yen Chang
 
Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Sherazi Tours
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxBeEducate
 
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking MenDelhi Call girls
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Sherazi Tours
 
LPC Transport Presentation introduction to PLC
LPC Transport Presentation introduction to PLCLPC Transport Presentation introduction to PLC
LPC Transport Presentation introduction to PLCthomas851723
 
A Comprehensive Guide to The Types of Dubai Residence Visas.pdf
A Comprehensive Guide to The Types of Dubai Residence Visas.pdfA Comprehensive Guide to The Types of Dubai Residence Visas.pdf
A Comprehensive Guide to The Types of Dubai Residence Visas.pdfDisha Global Tours
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Msankitnayak356677
 
08448380779 Call Girls In Chirag Enclave Women Seeking Men
08448380779 Call Girls In Chirag Enclave Women Seeking Men08448380779 Call Girls In Chirag Enclave Women Seeking Men
08448380779 Call Girls In Chirag Enclave Women Seeking MenDelhi Call girls
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxdishha99
 

Recently uploaded (20)

How can I fly with the British Airways Unaccompanied Minor Policy?
How can I fly with the British Airways Unaccompanied Minor Policy?How can I fly with the British Airways Unaccompanied Minor Policy?
How can I fly with the British Airways Unaccompanied Minor Policy?
 
Call Girls 🫤 Connaught Place ➡️ 9999965857 ➡️ Delhi 🫦 Russian Escorts FULL ...
Call Girls 🫤 Connaught Place ➡️ 9999965857  ➡️ Delhi 🫦  Russian Escorts FULL ...Call Girls 🫤 Connaught Place ➡️ 9999965857  ➡️ Delhi 🫦  Russian Escorts FULL ...
Call Girls 🫤 Connaught Place ➡️ 9999965857 ➡️ Delhi 🫦 Russian Escorts FULL ...
 
BERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxBERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptx
 
"Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa""Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa"
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue mura
 
08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men
 
best weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdfbest weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdf
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation Rollercoaster
 
08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men
 
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
 
Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda Bux
 
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236
 
LPC Transport Presentation introduction to PLC
LPC Transport Presentation introduction to PLCLPC Transport Presentation introduction to PLC
LPC Transport Presentation introduction to PLC
 
A Comprehensive Guide to The Types of Dubai Residence Visas.pdf
A Comprehensive Guide to The Types of Dubai Residence Visas.pdfA Comprehensive Guide to The Types of Dubai Residence Visas.pdf
A Comprehensive Guide to The Types of Dubai Residence Visas.pdf
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
 
08448380779 Call Girls In Chirag Enclave Women Seeking Men
08448380779 Call Girls In Chirag Enclave Women Seeking Men08448380779 Call Girls In Chirag Enclave Women Seeking Men
08448380779 Call Girls In Chirag Enclave Women Seeking Men
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptx
 

wls-azure-devnexus-2022.pdf

  • 1. Oracle WebLogic Server on Azure Ed Burns @edburns Principal Architect Java on Azure Jakarta EE Landing Page https://aka.ms/java/ee
  • 2. Professional Biography  Client  NCSA Mosaic (1994)  SGI Cosmo Web Authoring  Sun Netscape 6 OJI Server J2EE JSF (2002) Oracle Java EE Servlet, JSF, Bean Validation, etc. Microsoft Azure Cloud (2019) Books
  • 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
  • 5. The Jakarta EE Transition https://aka.ms/ibmsf1998
  • 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
  • 12. © Microsoft Corporation WebLogic Server on AKS https://aka.ms/javaland-javaee Select SebLogic Server on AKS link Execute steps up to and including Perform the deployment with GitHub Actions Infrastructure as Code Instructor lead slides during deployment
  • 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
  • 17. Docker image sample WebLogic Image Tool domainInfo: AdminUserName: "@@SECRET:__weblogic-credentials__:username@@" AdminPassword: "@@SECRET:__weblogic-credentials__:password@@" ServerStartMode: "prod" domainLibraries: [ 'wlsdeploy/domainLibraries/postgresql-42.2.8.jar', 'wlsdeploy/domainLibraries/mssql-jdbc-7.4.1.jre8.jar'] topology: Name: "@@ENV:CUSTOM_DOMAIN_NAME@@" ProductionModeEnabled: true AdminServerName: "admin-server" Cluster: "cluster-1": DynamicServers: ServerTemplate: "cluster-1-template" ServerNamePrefix: "@@ENV:MANAGED_SERVER_PREFIX@@" DynamicClusterSize: "@@PROP:CLUSTER_SIZE@@" MaxDynamicClusterSize: "@@PROP:CLUSTER_SIZE@@" MinDynamicClusterSize: "0" CalculatedListenPorts: false Server: "admin-server": ListenPort: 7001 ServerTemplate: "cluster-1-template": Cluster: "cluster-1" ListenPort: 8001 SecurityConfiguration: NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@" NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@“ appDeployments: Application: ejb-server: SourcePath:wlsdeploy/applications/ejb-server/cluster_ejb_stateful_session.ear ModuleType: ear Target: ‘cluster-1’ model.yaml 1 1 2 1 Run time: configured with Kubernetes Secrets 2 Run time: configured with ENV variables ├── applications │ └── ejb-server-stateless.ear └── domainLibraries ├── postgresql-42.2.8.jar └── mssql-jdbc-7.4.1.jre8.jar archive.zip $ bash imagetool.sh cache addInstaller --type wdt --version latest --path weblogic-deploy.zip $ bash imagetool.sh update --tag model-in-image:WLS-v1 --fromImage container-registry.oracle.com/middleware/weblogic:12.2.1.4 --wdtModel ./model.yaml --wdtVariables ./model.properties --wdtArchive ./archive.zip --wdtModelOnly --wdtDomainType WLS --chown oracle:oracle 2 1 3 1 WebLogic standard image: OS + JDK + WLS 2 WebLogic Server Deployment Tooling 3 Artifacts and WLS domain models 17
  • 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
  • 19. Extending Kubernetes API – the WLS operator 19 Kubernetes Custom Resource Definition (CRD) openAPIV3Schema: properties: spec: description: properties: domainUID: domainHome: domainHomeSourceType adminServer: replicas: clusters: clusterName: replicas: configuration: image: … … Host Admin Server Managed Server1 Managed Server1 Node Manager Domain Cluster1 WebLogic domain topology
  • 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
  • 23. Pod horizontal autoscaling 23 Kubernetes AS POD1 MS POD2 MS POD3 MS POD4 MS POD5 AS POD1 MS POD2 MS POD3 MS POD4 MS POD5 Kubectl webhook WLS Operator Prometheus AlertManager Web Domain Back-end Domain Collect metrics from MSs Create alert Request Scale Up/Down Scale: Add/Remove POD Scale Up/Down Front-end cluster Back-end cluster 1 2 3 4 5 6 wls-aks/auto-scaling at main · galiacheng/wls-aks (github.com) AS: administration server MS: managed server Demo video
  • 24. Developer Admin Azure Repos Azure Pipeline Build Release WLS domain images Azure Container Registry Azure Container Service running Kubernetes hosting the deployed application CI/CD 24 Use a Log4j compliant base image. Ease the installation of security fixes.
  • 25. CI/CD 25 Simplify collaboration between development and operations team.​
  • 26. Observability Pillars Layer Tools: Open source Tools: Azure Services Metrics Infrastructure (AKS) Prometheus + Grafana Azure Container Insight WebLogic Server Prometheus + Grafana Java EE Applications Prometheus + Grafana Traces Java EE Applications Elastic APM Azure Application Insight Logs Infrastructure (AKS) Azure Monitor Logs WebLogic Server Fluentd + Elasticsearch + Kibana Azure Elasticsearch service Azure Kibana Service Java EE Applications Fluentd + Elasticsearch + Kibana Azure Elasticsearch service Azure Kibana Service Service mesh Java EE Applications Istio 26
  • 27. Integrating with monitoring services • Azure file share • Persistent volume • JVM args • -javaagent:/shared/app-insight/applicationinsights-agent-3.1.1.jar • -javaagent:/shared/elastic-apm/elastic-apm-agent-1.24.0.jar • Kubernetes sidecar • Fluentd sidecar container to export application logs • Istio sidecar container to integrate with Istio 27 Capture automatically, no code change required.​
  • 28. Networking • Traffic from layer 7 and layer 4 • TLS/SSL with custom certificates • External DNS Pod Pod Node Service endpoint AGIC Application Gateway Subnet AKS Subnet V-Net Azure DNS Zone External access Lookup HTTP/HTTPS T3/T3S Web Application Firewall Policies Monitoring Public/private Load Balancer Azure Application Gateway Azure Storage Account Internal access 28 Notes: AGIC: Application Gateway Ingress Controller
  • 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
  • 34. © Copyright Microsoft Corporation. All rights reserved.