SlideShare a Scribd company logo
Enterprise Java on Azure
From Java EE to Spring and more, we’ve got you
covered
Ed Burns @edburns
Principal Architect Java on Azure Developer Experiences
2019-12
© Microsoft Corporation
• Brief Personal Journey
• Ways in Which the Cloud Disrupted Enterprise
Software
• The War Metaphor
• Drill Down and Summary
My Plan for Your Time Investment
Professional Biography
Client
NCSA Mosaic (1994)
SGI Cosmo Web Authoring (1995)
Sun Netscape 6 OJI (1999)
Server
J2EE JSF (2002 - 2019)
Oracle Java EE
Servlet, JSF, Bean Validation, etc.
Microsoft Azure Cloud (2019)
Books
Brief Personal Journey
❑ You must constantly adapt
❑ Not necessarily frequently change jobs
❑ Companies need to adapt too
Starting on the Client: Birth of a Big Thing
Oil and Chemistry Building at University of
Illinois in Urbana-Champaign
Home of NCSA Mosaic
First Graphical Web Browser
Gratis and Free software
Built on prior work really well
Ubiquitous (cross platform)
Delivered something everyone
wanted
Easy to author: copy and paste from
view source!
© Microsoft Corporation
Cobbles existing things together in an
exciting new way.
Simplicity: HTTP/1.0, TCP/IP sockets
Anyone can add new servers, no need
to ask permission.
Leverages network effect
Dabbling on the Server
Birth of the Monolith: Spring and J2EE
Addressed shared pain points
Transparent development process
Spring rode the crest of vendor
marketing efforts, differentiated
with operational excellence
J2EE had multi-vendor concept,
strong community governance
Photo: Les Chatfield
© Microsoft Corporation
My First “War”: Web Frameworks
Good variety of “good enough” tools
Created a component ecosystem
Lots of buzz around this space due to
“Web Framework Wars”
© Microsoft Corporation
The Cloud: Birth of Another Big Thing
2004: Sun Utility Computing
before it’s time…and at the wrong home
I’m Ready for the Cloud
My response to cloud disruption
Get out from inside of the monolith
Work with the hosting platform
Monolith
Microservices
Helps enterprises scale
© Microsoft Corporation
Ways the Cloud
Disrupted Enterprise
Software
© Microsoft Corporation
• On demand
• Self-service
• Broad network access
• Resource pooling
• Rapid elasticity
• Totally auditable
• https://aka.ms/NISTSays
Cloud Definition
© Microsoft Corporation
• Networking
• Compute
• Persistent Storage
• Memory
• Platform Services
Commoditization of All Aspects of IT Infrastructure
© Microsoft Corporation
• Pre-cloud
• Buy single license and have people on staff to maintain it
• Cloud
• Rent software by subscription
• Technologies such as HTML5 and Electron have enabled near
desktop-parity for software distribution
How and who you pay for software
© Microsoft Corporation
• Pre-cloud: install and maintain packages on site
• Cloud:
• Containerized software
How you obtain the software once you've paid for it
© Microsoft Corporation
• Pre-cloud: Your own datacenter
• Post-cloud:
• Virtualize the datacenter and move it to IaaS
How you get access to it
© Microsoft Corporation
Kampf der Giganten
© Microsoft Corporation
.WARs
© Microsoft Corporation
Wars
© Microsoft Corporation
“Wars”
© Microsoft Corporation
Java
• Spring
• Java EE
The Belligerents (Kriegsteilnehmer)
Non-Java
• Node
• Ruby
• PHP
• .NET
• Python
The Battlefield
Your very heart and soul.
But seriously, yes.
If you're passionate about software,
you put at least some part of your
heart and soul into it. So the
belligerents are fighting over access
to that part.
Some would call this "mindshare"
but I think that's too cold a term.
© Microsoft Corporation
Real Historical Aside
http://bit.ly/eisenhower-speech
The Military-Industrial Complex
The WeaponsMakers
Java App Server Vendors
• Spring Framework
• Tomcat
• RedHat
• IBM
• Bea
• Oracle
• Sun
Non-Java Runtimes
• Node
• Rails
• PHP
• IIS
Pre-Cloud
© Microsoft Corporation
The Military-Industrial Complex
The WeaponsMakers
Hardware Providers
• Sun
• IBM
• HP
• Dell
Network Providers
• Cisco
• Juniper
• Arista
• Dell EMC
• HPE
Major Cloud Vendors
• Microsoft
• Amazon
• Google
Secondary or Specialty Cloud Vendors
• Oracle
• IBM
• CloudFoundry
Pre-Cloud Cloud (Includes Hybrid)
© Microsoft Corporation
Java EE/Jakarta EE vs. Spring
“Wars” I’ve Seen
© Microsoft Corporation
Hibernate -> JPA
“Wars” I’ve Seen
© Microsoft Corporation
CDI vs. Spring DI
“Wars” I’ve Seen
© Microsoft Corporation
Java Web Framework “Wars”
• UI Component Based vs MVC based
• All the different web frameworks
JSF
Tapestry
Struts
Wicket
WebWork
“Wars” I’ve Seen
Non-Java Web Framework “Wars”
• Angular
• React
• Vue
• Ember
© Microsoft Corporation
JAX-RS vs. Spring REST
“Wars” I’ve Seen
© Microsoft Corporation
Monolith vs. Microservices
“Wars” I’ve Seen
© Microsoft Corporation
• The old belligerents are still here, they just have been
absorbed into other entities.
• But the cloud providers have now inserted
themselves into the fray
Enter the Clouds
“Allof the Above”
© Microsoft Corporation
From my particular cloud-provider's perspective, we
want to be the best place for all of your Java
workloads
• IaaS to the cloud
• Containers
• PaaS to the cloud
Enter the Clouds
“Allof the Above”
Drill Down and
Summary
Java on Azure for Wherever You Are in your Cloud Journey
Java EE on
Azure IaaS
Azure
Container
Instances
Azure
Kubernetes
Service
Azure
RedHat
OpenShift
Azure Spring-
Cloud Service
Azure
Functions
Azure Stack Azure
WildFly PaaS
© Microsoft Corporation
Java EE on Azure with Oracle WebLogic
Azure Marketplace Solution for WebLogic
Published, maintained and supported by Oracle
Based on Oracle Linux 7.6, Oracle JDK and WebLogic 12c R2
(12.2.1.3)
Bring your own license
Supports common use-cases such as load-balancing and clustering
© Microsoft Corporation
Simple to Start
Single fully functional instance of WebLogic
Admin only domain
Starts admin server
systemd configured for automatic restart
© Microsoft Corporation
Clustering
Fully functioning clustered multi-node domain
User can specify number of nodes
Admin server and all managed nodes are started by default when provisioning completes
Admin server and node manager are started as systemctl service and CrashRecoveryEnabled is set to
true for the node manager so even after a VM reboot servers are restarted automatically
User can add nodes later
Static and dynamic clustering
© Microsoft Corporation
© Microsoft Corporation
WebLogic Server on Azure IaaS
Script file
ARM template
Virtual Network
Admin Server Public IP
Admin Server NIC
Admin Sever VM
Managed Sever Public IPs
Managed Server NICs
Managed Server VMs
Storage
© Microsoft Corporation
WebLogic Server on Azure IaaS
Weblogic DomainMachine
Machine
Node Manager
Admin Server
Node Manager
Managed Server
Managed Server
Managed Server
Node Manager
Managed Server
Managed Server
Managed Server
Dynamic Cluster
Scale to ‘n’ Managed Servers
© Microsoft Corporation
WebLogic on Azure IaaS
Four Azure Application Offers in the Marketplace
• Create a single VM with WebLogic Admin Only
domain pre-configured
• Create an N-node WebLogic cluster with the admin
server on one VM and cluster members on
other VMs
• Create an N-node WebLogic cluster as in the
preceding offer, but with an Azure LoadBalancer
automatically configured for the cluster
• Create an N-node WebLogic dynamic cluster with
the admin server on one VM and managed servers in
a Dynamic cluster on the other nodes
© Microsoft Corporation
WebLogic and Coherence on Azure Kubernetes Service
Kubernetes: The industry leading orchestrator
Portable
Public, private,
hybrid, multi-cloud
Extensible
Modular, pluggable,
hookable, composable
Self-healing
Auto-placement, auto-restart,
auto-replication, auto-scaling
© Microsoft Corporation
Customer VMs
Docker Docker Docker Docker
Kubernetes API
endpointUser
App/workload
definition
Master Node(s) – self managed
API Server etcd store
Controller Mgr
Cloud Controller
Schedule pods over private tunnel
How Managed Kubernetes on Azure works
Azure managed control plane
• Automated upgrades,
patches
• High reliability and
availability
• Easy and secure cluster
scaling
• Self-healing
• API server monitoring
• Control plane at no charge
© Microsoft Corporation
How WebLogic and Coherence work on Azure Kubernetes Service
© Microsoft Corporation
Kubectl
Kubernetes
Kebectl create…
Install Domain
inputs (yaml)
Customer Tenancy
WLS Domain
Image
Operator Image
Kubernetes cluster
Domain
Secrets
Operator
WebLogic Domain(s)
WLS Cluster
AS MS MS MSMS MS
PVLogs
Open Source Helm Charts
Open Source Kubernetes
Operators
• Oracle WebLogic
https://aka.ms/wlsoperator
• Oracle Coherence
https://aka.ms/cohoperator
© Microsoft Corporation
Roadmap
Connecting to Oracle DB via OCI Interconnect
Integration with Active Directory
Distributed logging using managed ELK on Azure
Caching using Coherence cluster
Responsibilities
User management
Project and quota management
Application lifecycle
Cluster creation
Cluster management
Monitoring and logging
Network configuration
Software and security updates
Platform support
Customer Microsoft and Red Hat
Virtual network
Azure DNS
Azure Load
Balancer (Master)
Azure Load
Balancer (Router)
Public IP Public IP Public IP
Azure Active
Directory
OpenShift API/administration console App 1 App 2
User
App
definition
Azure VMs (Master)
Scale sets
Azure Premium SSD Managed Disks
Node 1 Node 2 Node 3
api-server • controller-manager • etcd
Azure VMs (Infrastructure)
Scale sets
Azure Premium
SSD Managed
Disks
Node 1 Node 2 Node 3
registry • router
Azure VMs (Application)
Scale sets
Azure Premium SSD Managed Disks
Node 1 Node 2 Node N
application pods
Azure Blob
Storage
OpenShift SDN
Node 3 Node 4
Azure Key
Vault
Virtual network
Azure DNS
Azure Load
Balancer (Master)
Azure Load
Balancer (Router)
Public IP Public IP Public IP
Azure Active
Directory
OpenShift API/administration console App 1 App 2
User
App
definition
Azure VMs (Master)
Scale sets
Azure Premium SSD Managed Disks
Node 1 Node 2 Node 3
api-server • controller-manager • etcd
Azure VMs (Infrastructure)
Scale sets
Azure Premium
SSD Managed
Disks
Node 1 Node 2 Node 3
registry • router
Azure VMs (Application)
Scale sets
Azure Premium SSD Managed Disks
Node 1 Node 2 Node N
application pods
Azure Blob
Storage
OpenShift SDN
Node 3 Node 4
Azure Key
Vault
Responsibilities
User management
Project and quota management
Application lifecycle
Cluster creation
Cluster management
Monitoring and logging
Network configuration
Software and security updates
Platform support
Customer Microsoft and Red Hat
Microsoft Red Hat
Middleware + Data services Service catalog
Azure and OpenShift self-service
OpenShift application lifecycle management
Build automation Deployment automation
Container ContainerContainer Container Container
Container orchestration Cluster services
Networking Storage Registry Telemetry Security
Container runtime and packaging
Red Hat Enterprise Linux
Physical infrastructure on Azure
Setup, maintenance, and
monitoring provided by Red Hat
Premium support from Red Hat
Hosted in the Azure
region of your choice
VPN connectivity back to the
customer environment
Rapidly deploy and scale
containerized apps and services
An entire OpenShift cluster
dedicated to your organization
Youfocus
onapps
MicrosoftandRed
Hatfocuson
infrastructure
• High productivity
• Fully-managed platform
• Highly secure, natively
supports SSL
Azure App Service
App Service
Web Apps that Scale with
your Business
• Full capability set available including:
- .NET, Node.js, Java, PHP, and Python
- WebJobs for long running tasks
- Integrated VS publish, remote debug…
- CI with GitHub, BitBucket, VSTS
- Auto-load balance, Autoscale, Geo DR
- Virtual networking and hybrid connections
- Site slots for staged deployments
• Web Sockets
- Integrate real-time communication scenarios
- SignalR and Socket.io libraries supported
• Always On
- Keeps your Web App active (warm)
- Standard Mode Web App or higher
- Recommended if you have Web Jobs
• Custom HTTP Handler Mappings
• Virtual Applications & Directories
Additional Application Settings
App Service
• Retrieve as Environment Variables
• Retrieve as Key/Value from ConfigurationManager
App Settings and Connection Strings
App Service
// node.js
var value = process.env.APPSETTING_JobServiceUri;
var value2 = process.env.SQLAZURECONNSTR_JobDatabase;
• Log File Targets
- File System (Shared Cloud Drive)
- Azure Blob Storage
• Web Server Log
- File System or Azure Blob Storage
• Detailed Error Messages
• Failed Request Tracing
- File System Only
Diagnostics Log Files
App Service
• Easy API consumption
- Integration with Swagger API metadata
- Client SDK code generation (C#, Java, and JavaScript)
• Simple Access Control
- Easily secure APIs using Azure AD or Social Logins (Facebook, Twitter, Google, Microsoft Account)
• Workflow Integration with Azure Logic Apps
• First Class Tooling Support
- Visual Studio and Visual Studio Code
- Maven
API Apps
App Service
Spring Boot
BUILD ANYTHING
Spring Cloud
COORDINATE ANYTHING
Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring
Spring Cloud provides a set of tools that makes communication between microservices easier
Spring based microservices development
Spring Cloud Apps
Spring Cloud
ComponentsSpring Cloud Components Cloud ServicesApp Consumers
High effort required to manage cloud
infrastructure for Spring boot applications
Application lifecycle is difficult to manage
Painful to troubleshoot application issues
Common Challenges
Azure Spring Cloud
A fully managed service for Spring Boot microservices
Fully managed
Infrastructure
Built-in application
lifecycle
management
Ease of monitoring
More choices and full integration into Azure’s ecosystem and services
Enterprise Ready
Spring Cloud - Architecture
Responsibiliti
es
DIY with
Spring
Boot
Azure Spring
Cloud Service
Application
iteration,
debugging
CI/CD
Build and
manage
Clusters
Host Spring
Cloud
Components
Monitoring
and logging
Patching
Scaling
Support
Customer Pivotal Microsoft
Simplify your cloud infrastructure for Spring boot applications
Responsibiliti
es
DIY with
Spring
Boot
Azure Spring
Cloud Service
Application
iteration,
debugging
CI/CD
Build and
manage
Clusters
Host Spring
Cloud
Components
Monitoring
and logging
Patching
Scaling
Support
Customer Pivotal Microsoft
Microsoft Pivotal.
Azure Spring Cloud
• Simple app lifecycle
management
• Easily deploy source
code or build artifacts
• Automatically wire your
app with Spring Cloud
infrastructure
• Integrated CI/CD
pipeline for deployment
Built-in application lifecycle management
Monitor your apps
Gain insights with Azure
monitor
Aggregate metrics
Identify reliability issues
Q3 2019 Q4 2019 Q1 2020 Q2 2020
June
Limited Private Preview
• Application lifecycle management
• Config server
• Eureka
• Manual scaling
General Availability
• 99.9x SLA
• Available in more Azure Regions
• Production grade app monitor
and diagnostics (e.g. app runtime
inspection)
• Circuit breaker dashboard
• Auto scale
• E2E dev experience in IntelliJ
…
Other features based on customer
feedback and market trends (e.g.
Enterprise grade security)November
Public Preview
• Full billing
• Customer support
October
Private Preview public announcement
• Additional capabilities in Config
server
• Azure monitor
• Diagnostics
• Distributed tracing
• Build service
• Blue green deployment
• Service binding
• SSL
• UX revamp
• Documentation
• Deployment experience w/ Maven
Roadmap (Calendar Year)
• Log streaming
• Alerts based on monitoring data
• Basic tier
• MSI support for Azure resources
• Custom domain
• Interactive self-diagnostics
• Auto patching systems and app
runtime
• Jenkins integration
• VNET
Future
Candidates
• .NET core/Steeltoe
• mTLS among
customers’
applications
• Support certificate
for outband traffic
(e.g. from app to
Data services)
• ….
© Microsoft Corporation
• Be willing to adapt and change your focus
• The cloud has disrupted everything
• Individuals
• Businesses
• Business models
• Don’t get distracted by “Wars”
• Find the real value, focus on that
• Azure is a great cloud for Java workloads
Summary

More Related Content

What's hot (10)

PDF
TechWiseTV Workshop: Intercloud Fabric
Robb Boyd
 
PDF
Hybrid Cloud With AWS and Eucalyptus
Paolo latella
 
PPTX
VMware vCloud Director 1.5 - What's New
1CloudRoad.com
 
PPTX
Designing CloudStack Clouds
ShapeBlue
 
PPTX
2018.04.16 vmware cloud on aws - paul woodward - ncwivmug
Paul Woodward Jr
 
PDF
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
StackStorm
 
PPTX
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
actualtechmedia
 
PDF
Understanding VMware Cloud on AWS
RightScale
 
PDF
VMware on IBM Cloud Client Presentation
Sumaya Erol
 
PDF
The Next Big Thing: Serverless
Doug Vanderweide
 
TechWiseTV Workshop: Intercloud Fabric
Robb Boyd
 
Hybrid Cloud With AWS and Eucalyptus
Paolo latella
 
VMware vCloud Director 1.5 - What's New
1CloudRoad.com
 
Designing CloudStack Clouds
ShapeBlue
 
2018.04.16 vmware cloud on aws - paul woodward - ncwivmug
Paul Woodward Jr
 
(SCALE 12x) OpenStack vs. VMware - A System Administrator Perspective
StackStorm
 
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
actualtechmedia
 
Understanding VMware Cloud on AWS
RightScale
 
VMware on IBM Cloud Client Presentation
Sumaya Erol
 
The Next Big Thing: Serverless
Doug Vanderweide
 

Similar to Enterprise Java on Microsoft Azure: From Java EE to Spring, we’ve got you covered (20)

PDF
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Ed Burns
 
PPTX
WTIA Cloud Computing Series - Part IV: Microsofts World View of Cloud Computing
Washington Technology Industry Association
 
PDF
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
PDF
Azure platform, open {source} for business! #OPEN18
Kangaroot
 
PDF
Sponsored Session: Please touch that dial!
Edward Burns
 
PDF
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
Juarez Junior
 
PDF
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thessaloniki
 
PPTX
Microservices in Azure
Doug Vanderweide
 
PDF
Running WebLogic on Azure Kubernetes and Virtual Machines
Reza Rahman
 
PDF
Java on Your Terms with Azure
Edward Burns
 
PDF
wls-azure-devnexus-2022.pdf
Edward Burns
 
PDF
Benefits of the Azure Cloud
Caserta
 
PPTX
Azure Cloud complete administration document
sanjeeva11
 
PPTX
FLUX - Crash Course in Cloud 2.0
Mark Hinkle
 
PPTX
Microservices in Azure
Doug Vanderweide
 
PPTX
Architecture evolution
amit bezalel
 
PDF
M meijer paas - tech-days 2015
Freelance Consultant / Manager / co-CTO
 
PDF
Jakarta EE und Microprofile sind bei Azure zu Hause
Edward Burns
 
PDF
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Reza Rahman
 
PDF
The best azure interview questions & answers 2018 learn now!
mia avery
 
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Ed Burns
 
WTIA Cloud Computing Series - Part IV: Microsofts World View of Cloud Computing
Washington Technology Industry Association
 
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
Azure platform, open {source} for business! #OPEN18
Kangaroot
 
Sponsored Session: Please touch that dial!
Edward Burns
 
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
Juarez Junior
 
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thessaloniki
 
Microservices in Azure
Doug Vanderweide
 
Running WebLogic on Azure Kubernetes and Virtual Machines
Reza Rahman
 
Java on Your Terms with Azure
Edward Burns
 
wls-azure-devnexus-2022.pdf
Edward Burns
 
Benefits of the Azure Cloud
Caserta
 
Azure Cloud complete administration document
sanjeeva11
 
FLUX - Crash Course in Cloud 2.0
Mark Hinkle
 
Microservices in Azure
Doug Vanderweide
 
Architecture evolution
amit bezalel
 
M meijer paas - tech-days 2015
Freelance Consultant / Manager / co-CTO
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Edward Burns
 
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Reza Rahman
 
The best azure interview questions & answers 2018 learn now!
mia avery
 
Ad

More from Ed Burns (10)

PDF
What We Learned from Porting PiggyMetrics from Spring Boot to MicroProfile
Ed Burns
 
PPTX
What Visual Studio Code can do for Java Development
Ed Burns
 
PPTX
Programming Language Platform Growth: Table Stakes or Deal Makes?
Ed Burns
 
PPTX
Oracle Code Online: Building a Serverless State Service for the Cloud
Ed Burns
 
PPTX
Seminole County Teach In 2017: Crooms Acadamy of Information Technology
Ed Burns
 
PPTX
JavaOne-2017 Ignite Session: How to build a Theremin
Ed Burns
 
PPTX
Servlet 4.0 JavaOne 2017
Ed Burns
 
PDF
Chicago JUG / GOTO Meetup
Ed Burns
 
PPTX
HTTP/2 in the Java Platform -- Java Champions call February 2016
Ed Burns
 
PPTX
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
 
What We Learned from Porting PiggyMetrics from Spring Boot to MicroProfile
Ed Burns
 
What Visual Studio Code can do for Java Development
Ed Burns
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Ed Burns
 
Oracle Code Online: Building a Serverless State Service for the Cloud
Ed Burns
 
Seminole County Teach In 2017: Crooms Acadamy of Information Technology
Ed Burns
 
JavaOne-2017 Ignite Session: How to build a Theremin
Ed Burns
 
Servlet 4.0 JavaOne 2017
Ed Burns
 
Chicago JUG / GOTO Meetup
Ed Burns
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
Ed Burns
 
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
 
Ad

Recently uploaded (20)

PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 

Enterprise Java on Microsoft Azure: From Java EE to Spring, we’ve got you covered

  • 1. Enterprise Java on Azure From Java EE to Spring and more, we’ve got you covered Ed Burns @edburns Principal Architect Java on Azure Developer Experiences 2019-12
  • 2. © Microsoft Corporation • Brief Personal Journey • Ways in Which the Cloud Disrupted Enterprise Software • The War Metaphor • Drill Down and Summary My Plan for Your Time Investment
  • 3. Professional Biography Client NCSA Mosaic (1994) SGI Cosmo Web Authoring (1995) Sun Netscape 6 OJI (1999) Server J2EE JSF (2002 - 2019) Oracle Java EE Servlet, JSF, Bean Validation, etc. Microsoft Azure Cloud (2019) Books
  • 4. Brief Personal Journey ❑ You must constantly adapt ❑ Not necessarily frequently change jobs ❑ Companies need to adapt too
  • 5. Starting on the Client: Birth of a Big Thing Oil and Chemistry Building at University of Illinois in Urbana-Champaign Home of NCSA Mosaic First Graphical Web Browser Gratis and Free software Built on prior work really well Ubiquitous (cross platform) Delivered something everyone wanted Easy to author: copy and paste from view source!
  • 6. © Microsoft Corporation Cobbles existing things together in an exciting new way. Simplicity: HTTP/1.0, TCP/IP sockets Anyone can add new servers, no need to ask permission. Leverages network effect Dabbling on the Server
  • 7. Birth of the Monolith: Spring and J2EE Addressed shared pain points Transparent development process Spring rode the crest of vendor marketing efforts, differentiated with operational excellence J2EE had multi-vendor concept, strong community governance Photo: Les Chatfield
  • 8. © Microsoft Corporation My First “War”: Web Frameworks Good variety of “good enough” tools Created a component ecosystem Lots of buzz around this space due to “Web Framework Wars”
  • 9. © Microsoft Corporation The Cloud: Birth of Another Big Thing 2004: Sun Utility Computing before it’s time…and at the wrong home
  • 10. I’m Ready for the Cloud My response to cloud disruption Get out from inside of the monolith Work with the hosting platform Monolith Microservices Helps enterprises scale
  • 11. © Microsoft Corporation Ways the Cloud Disrupted Enterprise Software
  • 12. © Microsoft Corporation • On demand • Self-service • Broad network access • Resource pooling • Rapid elasticity • Totally auditable • https://aka.ms/NISTSays Cloud Definition
  • 13. © Microsoft Corporation • Networking • Compute • Persistent Storage • Memory • Platform Services Commoditization of All Aspects of IT Infrastructure
  • 14. © Microsoft Corporation • Pre-cloud • Buy single license and have people on staff to maintain it • Cloud • Rent software by subscription • Technologies such as HTML5 and Electron have enabled near desktop-parity for software distribution How and who you pay for software
  • 15. © Microsoft Corporation • Pre-cloud: install and maintain packages on site • Cloud: • Containerized software How you obtain the software once you've paid for it
  • 16. © Microsoft Corporation • Pre-cloud: Your own datacenter • Post-cloud: • Virtualize the datacenter and move it to IaaS How you get access to it
  • 21. © Microsoft Corporation Java • Spring • Java EE The Belligerents (Kriegsteilnehmer) Non-Java • Node • Ruby • PHP • .NET • Python
  • 22. The Battlefield Your very heart and soul. But seriously, yes. If you're passionate about software, you put at least some part of your heart and soul into it. So the belligerents are fighting over access to that part. Some would call this "mindshare" but I think that's too cold a term.
  • 23. © Microsoft Corporation Real Historical Aside http://bit.ly/eisenhower-speech The Military-Industrial Complex The WeaponsMakers Java App Server Vendors • Spring Framework • Tomcat • RedHat • IBM • Bea • Oracle • Sun Non-Java Runtimes • Node • Rails • PHP • IIS Pre-Cloud
  • 24. © Microsoft Corporation The Military-Industrial Complex The WeaponsMakers Hardware Providers • Sun • IBM • HP • Dell Network Providers • Cisco • Juniper • Arista • Dell EMC • HPE Major Cloud Vendors • Microsoft • Amazon • Google Secondary or Specialty Cloud Vendors • Oracle • IBM • CloudFoundry Pre-Cloud Cloud (Includes Hybrid)
  • 25. © Microsoft Corporation Java EE/Jakarta EE vs. Spring “Wars” I’ve Seen
  • 26. © Microsoft Corporation Hibernate -> JPA “Wars” I’ve Seen
  • 27. © Microsoft Corporation CDI vs. Spring DI “Wars” I’ve Seen
  • 28. © Microsoft Corporation Java Web Framework “Wars” • UI Component Based vs MVC based • All the different web frameworks JSF Tapestry Struts Wicket WebWork “Wars” I’ve Seen Non-Java Web Framework “Wars” • Angular • React • Vue • Ember
  • 29. © Microsoft Corporation JAX-RS vs. Spring REST “Wars” I’ve Seen
  • 30. © Microsoft Corporation Monolith vs. Microservices “Wars” I’ve Seen
  • 31. © Microsoft Corporation • The old belligerents are still here, they just have been absorbed into other entities. • But the cloud providers have now inserted themselves into the fray Enter the Clouds “Allof the Above”
  • 32. © Microsoft Corporation From my particular cloud-provider's perspective, we want to be the best place for all of your Java workloads • IaaS to the cloud • Containers • PaaS to the cloud Enter the Clouds “Allof the Above”
  • 34. Java on Azure for Wherever You Are in your Cloud Journey Java EE on Azure IaaS Azure Container Instances Azure Kubernetes Service Azure RedHat OpenShift Azure Spring- Cloud Service Azure Functions Azure Stack Azure WildFly PaaS
  • 35. © Microsoft Corporation Java EE on Azure with Oracle WebLogic Azure Marketplace Solution for WebLogic Published, maintained and supported by Oracle Based on Oracle Linux 7.6, Oracle JDK and WebLogic 12c R2 (12.2.1.3) Bring your own license Supports common use-cases such as load-balancing and clustering
  • 36. © Microsoft Corporation Simple to Start Single fully functional instance of WebLogic Admin only domain Starts admin server systemd configured for automatic restart
  • 37. © Microsoft Corporation Clustering Fully functioning clustered multi-node domain User can specify number of nodes Admin server and all managed nodes are started by default when provisioning completes Admin server and node manager are started as systemctl service and CrashRecoveryEnabled is set to true for the node manager so even after a VM reboot servers are restarted automatically User can add nodes later Static and dynamic clustering
  • 39. © Microsoft Corporation WebLogic Server on Azure IaaS Script file ARM template Virtual Network Admin Server Public IP Admin Server NIC Admin Sever VM Managed Sever Public IPs Managed Server NICs Managed Server VMs Storage
  • 40. © Microsoft Corporation WebLogic Server on Azure IaaS Weblogic DomainMachine Machine Node Manager Admin Server Node Manager Managed Server Managed Server Managed Server Node Manager Managed Server Managed Server Managed Server Dynamic Cluster Scale to ‘n’ Managed Servers
  • 41. © Microsoft Corporation WebLogic on Azure IaaS Four Azure Application Offers in the Marketplace • Create a single VM with WebLogic Admin Only domain pre-configured • Create an N-node WebLogic cluster with the admin server on one VM and cluster members on other VMs • Create an N-node WebLogic cluster as in the preceding offer, but with an Azure LoadBalancer automatically configured for the cluster • Create an N-node WebLogic dynamic cluster with the admin server on one VM and managed servers in a Dynamic cluster on the other nodes
  • 42. © Microsoft Corporation WebLogic and Coherence on Azure Kubernetes Service Kubernetes: The industry leading orchestrator Portable Public, private, hybrid, multi-cloud Extensible Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  • 43. © Microsoft Corporation Customer VMs Docker Docker Docker Docker Kubernetes API endpointUser App/workload definition Master Node(s) – self managed API Server etcd store Controller Mgr Cloud Controller Schedule pods over private tunnel How Managed Kubernetes on Azure works Azure managed control plane • Automated upgrades, patches • High reliability and availability • Easy and secure cluster scaling • Self-healing • API server monitoring • Control plane at no charge
  • 44. © Microsoft Corporation How WebLogic and Coherence work on Azure Kubernetes Service © Microsoft Corporation Kubectl Kubernetes Kebectl create… Install Domain inputs (yaml) Customer Tenancy WLS Domain Image Operator Image Kubernetes cluster Domain Secrets Operator WebLogic Domain(s) WLS Cluster AS MS MS MSMS MS PVLogs Open Source Helm Charts Open Source Kubernetes Operators • Oracle WebLogic https://aka.ms/wlsoperator • Oracle Coherence https://aka.ms/cohoperator
  • 45. © Microsoft Corporation Roadmap Connecting to Oracle DB via OCI Interconnect Integration with Active Directory Distributed logging using managed ELK on Azure Caching using Coherence cluster
  • 46. Responsibilities User management Project and quota management Application lifecycle Cluster creation Cluster management Monitoring and logging Network configuration Software and security updates Platform support Customer Microsoft and Red Hat Virtual network Azure DNS Azure Load Balancer (Master) Azure Load Balancer (Router) Public IP Public IP Public IP Azure Active Directory OpenShift API/administration console App 1 App 2 User App definition Azure VMs (Master) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node 3 api-server • controller-manager • etcd Azure VMs (Infrastructure) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node 3 registry • router Azure VMs (Application) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node N application pods Azure Blob Storage OpenShift SDN Node 3 Node 4 Azure Key Vault
  • 47. Virtual network Azure DNS Azure Load Balancer (Master) Azure Load Balancer (Router) Public IP Public IP Public IP Azure Active Directory OpenShift API/administration console App 1 App 2 User App definition Azure VMs (Master) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node 3 api-server • controller-manager • etcd Azure VMs (Infrastructure) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node 3 registry • router Azure VMs (Application) Scale sets Azure Premium SSD Managed Disks Node 1 Node 2 Node N application pods Azure Blob Storage OpenShift SDN Node 3 Node 4 Azure Key Vault Responsibilities User management Project and quota management Application lifecycle Cluster creation Cluster management Monitoring and logging Network configuration Software and security updates Platform support Customer Microsoft and Red Hat Microsoft Red Hat
  • 48. Middleware + Data services Service catalog Azure and OpenShift self-service OpenShift application lifecycle management Build automation Deployment automation Container ContainerContainer Container Container Container orchestration Cluster services Networking Storage Registry Telemetry Security Container runtime and packaging Red Hat Enterprise Linux Physical infrastructure on Azure Setup, maintenance, and monitoring provided by Red Hat Premium support from Red Hat Hosted in the Azure region of your choice VPN connectivity back to the customer environment Rapidly deploy and scale containerized apps and services An entire OpenShift cluster dedicated to your organization Youfocus onapps MicrosoftandRed Hatfocuson infrastructure
  • 49. • High productivity • Fully-managed platform • Highly secure, natively supports SSL Azure App Service
  • 50. App Service Web Apps that Scale with your Business • Full capability set available including: - .NET, Node.js, Java, PHP, and Python - WebJobs for long running tasks - Integrated VS publish, remote debug… - CI with GitHub, BitBucket, VSTS - Auto-load balance, Autoscale, Geo DR - Virtual networking and hybrid connections - Site slots for staged deployments
  • 51. • Web Sockets - Integrate real-time communication scenarios - SignalR and Socket.io libraries supported • Always On - Keeps your Web App active (warm) - Standard Mode Web App or higher - Recommended if you have Web Jobs • Custom HTTP Handler Mappings • Virtual Applications & Directories Additional Application Settings App Service
  • 52. • Retrieve as Environment Variables • Retrieve as Key/Value from ConfigurationManager App Settings and Connection Strings App Service // node.js var value = process.env.APPSETTING_JobServiceUri; var value2 = process.env.SQLAZURECONNSTR_JobDatabase;
  • 53. • Log File Targets - File System (Shared Cloud Drive) - Azure Blob Storage • Web Server Log - File System or Azure Blob Storage • Detailed Error Messages • Failed Request Tracing - File System Only Diagnostics Log Files App Service
  • 54. • Easy API consumption - Integration with Swagger API metadata - Client SDK code generation (C#, Java, and JavaScript) • Simple Access Control - Easily secure APIs using Azure AD or Social Logins (Facebook, Twitter, Google, Microsoft Account) • Workflow Integration with Azure Logic Apps • First Class Tooling Support - Visual Studio and Visual Studio Code - Maven API Apps App Service
  • 55. Spring Boot BUILD ANYTHING Spring Cloud COORDINATE ANYTHING Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring Spring Cloud provides a set of tools that makes communication between microservices easier Spring based microservices development
  • 56. Spring Cloud Apps Spring Cloud ComponentsSpring Cloud Components Cloud ServicesApp Consumers High effort required to manage cloud infrastructure for Spring boot applications Application lifecycle is difficult to manage Painful to troubleshoot application issues Common Challenges
  • 57. Azure Spring Cloud A fully managed service for Spring Boot microservices Fully managed Infrastructure Built-in application lifecycle management Ease of monitoring More choices and full integration into Azure’s ecosystem and services Enterprise Ready
  • 58. Spring Cloud - Architecture Responsibiliti es DIY with Spring Boot Azure Spring Cloud Service Application iteration, debugging CI/CD Build and manage Clusters Host Spring Cloud Components Monitoring and logging Patching Scaling Support Customer Pivotal Microsoft
  • 59. Simplify your cloud infrastructure for Spring boot applications Responsibiliti es DIY with Spring Boot Azure Spring Cloud Service Application iteration, debugging CI/CD Build and manage Clusters Host Spring Cloud Components Monitoring and logging Patching Scaling Support Customer Pivotal Microsoft Microsoft Pivotal. Azure Spring Cloud
  • 60. • Simple app lifecycle management • Easily deploy source code or build artifacts • Automatically wire your app with Spring Cloud infrastructure • Integrated CI/CD pipeline for deployment Built-in application lifecycle management
  • 61. Monitor your apps Gain insights with Azure monitor Aggregate metrics Identify reliability issues
  • 62. Q3 2019 Q4 2019 Q1 2020 Q2 2020 June Limited Private Preview • Application lifecycle management • Config server • Eureka • Manual scaling General Availability • 99.9x SLA • Available in more Azure Regions • Production grade app monitor and diagnostics (e.g. app runtime inspection) • Circuit breaker dashboard • Auto scale • E2E dev experience in IntelliJ … Other features based on customer feedback and market trends (e.g. Enterprise grade security)November Public Preview • Full billing • Customer support October Private Preview public announcement • Additional capabilities in Config server • Azure monitor • Diagnostics • Distributed tracing • Build service • Blue green deployment • Service binding • SSL • UX revamp • Documentation • Deployment experience w/ Maven Roadmap (Calendar Year) • Log streaming • Alerts based on monitoring data • Basic tier • MSI support for Azure resources • Custom domain • Interactive self-diagnostics • Auto patching systems and app runtime • Jenkins integration • VNET Future Candidates • .NET core/Steeltoe • mTLS among customers’ applications • Support certificate for outband traffic (e.g. from app to Data services) • ….
  • 63. © Microsoft Corporation • Be willing to adapt and change your focus • The cloud has disrupted everything • Individuals • Businesses • Business models • Don’t get distracted by “Wars” • Find the real value, focus on that • Azure is a great cloud for Java workloads Summary