2. How modernizing enterprise applications
gives you a competitive advantage
Ed Burns, Principal Architect, Java on Azure
Julien Dubois, Principal manager, Java & JavaScript advocacy
3. Our plan for
your time
investment
ž Microsoft and Java
ž Introduction to Azure PaaS offers
ž Azure Spring Apps
ž Java SE and Jakarta EE on Azure App Service
ž Going forward
E
4. Microsoft supports Java
MS Build of OpenJDK, fixes,
enhancements, and new ports
Toolkit and plug-ins to improve
Eclipse dev experience
Founding member and
project contributor
Support for popular Java
standards and projects
3.6M+ Java repositories hosted, free
support and resources for Java devs
Java extensions for Maven,
Debugging, Azure, and more
Azure Spring Cloud and other
managed services for Spring
Boot
Full corporate member and
sponsor of Jakarta EE and
MicroProfile
Jakarta EE | MicroProfile
5. Java is used widely across Microsoft
500,000+ JVMs in production*
*internal usage, does not include customer workloads
LinkedIn
Minecraft
Yammer
Databricks
Azure
HD Insight
E
7. Container
Platform
Managed orchestrator.
Configure, secure &
automate container running
Agility High autonomy, rapid iterations
Low manual maintenance
Manual deployment, seasonal releases
High touch intervention & maintenance
Debt
Recovered
Paying
Interest
Investing
in
outcomes
On-prem
Own hardware,
manage full stack
IaaS
Manage & patch OS,
Middleware, backups,
dependencies, apps & data
PaaS
Develop & manage apps +
data against defined
capabilities
SaaS
(incl. Low code)
Compose apps processes,
data & workflows
Retain
Rehost
Rearchitect
Rearchitect
Refactor Rewrite
Rewrite
Replace
Replace
Replace
Retire
Migrating Java applications to the cloud
J
8. Migrate and Modernize your Java apps
Productivity
Control
Infrastructure-as-a-service Container platform-as-a-service Platform-as-a-service
Virtual Machines Azure Kubernetes
Service
Red Hat
OpenShift
Java SE Tomcat JBoss EAP Spring Boot
Azure App Service Azure Spring Cloud
Virtual Machine
Scale Sets
J
10. Azure Spring Apps
Fully managed service for Spring Boot Apps
Full integration into Azure’s ecosystem and services
Fully managed infrastructure Built-in app lifecycle management Ease of monitoring
Enterprise ready
Jointly built, operated, and supported by Microsoft and VMware
12. Open-source client libraries, integration modules, and drivers
Data Async communications – JMS and Kafka Keys, secrets,
and certs
Storage Cache
Azure Spring Apps
Spring Boot Apps Service runtime
13. Open-source client libraries, integration modules, and drivers
Data Async communications – JMS and Kafka Keys, secrets,
and certs
Storage Cache
Azure Spring Apps
Monitor – logstream, APM, & end-to-end
14. Open-source client libraries, integration modules, and drivers
Data Async communications – JMS and Kafka Keys, secrets,
and certs
Storage Cache
Azure Spring Apps
Identities – end-users & machines Automation
Data
Open
Monitor – logstream
Developer experiences
Spring Boot apps
...
App 1 App 2 App 3 App N
Monitor – logstream, APM, & end-to-end
15. Open-source client libraries, integration modules, and drivers
Data Async communications – JMS and Kafka Keys, secrets,
and certs
Storage Cache
Azure Spring Apps
Developer experiences
Data Cache Async communications – JMS and Kafka Keys, secrets & certs
Open source client libraries, integration modules and drivers
Storage
Azure Spring Cloud
Monitor – logstream, APM and end-to-end Identities
end-users and machines
Automation
Developer experiences
Spring Boot apps Service runtime
...
App 1 App 2 App 3 App N Agents Build Service Config Server Service Registry Lifecycle Resiliency Logstream Encryption Diagnostics
Domains
Identities – end-users & machines Automation
Data
Open
Monitor – logstream
Developer experiences
Spring Boot apps
...
App 1 App 2 App 3 App N
Monitor – logstream, APM & end-to-end
16. Open-source client libraries, integration modules, and drivers
Data Async communications – JMS and Kafka Keys, secrets,
and certs
Storage Cache
Azure Spring Apps
Developer experiences
Data Cache Async communications – JMS and Kafka Keys, secrets & certs
Open source client libraries, integration modules and drivers
Storage
Azure Spring Cloud
Monitor – logstream, APM and end-to-end Identities
end-users and machines
Automation
Developer experiences
Spring Boot apps Service runtime
...
App 1 App 2 App 3 App N Agents Build Service Config Server Service Registry Lifecycle Resiliency Logstream Encryption Diagnostics
Domains
Identities – end-users & machines Automation
Data
Open
Monitor – logstream
Developer experiences
Spring Boot apps
...
App 1 App 2 App 3 App N
Monitor – logstream, APM, & end-to-end
22. Fully managed PaaS for Tomcat and JBoss EAP
Focus on the apps that run your business, not managing infrastructure
Deploy JAR, WAR or EAR using tools of your choice
Built-in CI/CD with zero downtime deployments
Intelligent troubleshooting and performance optimization
Automatic updates and security patches
App Service
23. Deploy code or a
container
Deploy your application code to a container that Azure
manages for you, or pull your own container from a
registry.
We provide APIs, plugins, and extensions to deploy from
the Azure CLI, IntelliJ, Eclipse, VS Code, Maven, GitHub
Actions, Azure DevOps Pipelines …. and more!
App Service Deployment Slots are independent staging
environments where you can safely deploy new versions of
your app or configuration changes. When your changes are
ready, swap the new version or config into production. App
Service will scale the staging environment to match your
production footprint before routing traffic to the new
environment.
Staging Production
swap
24. Secure your site
Azure Virtual Network
On Premises
Express Route
App Service
Virtual Network & Private Link
Resource Manager VNet
App Service Environment
25. Scale your deployment
With App Service you can scale your web apps horizontally
based on resource utilization, request count, or simply by
time-of-day.
Your configuration is applied to each container as they
come up, so the instances are identical.
Users
Load Balancer
App Service Plan
26. Monitor your apps
Azure Monitor Application Insights is the Azure-native
application performance monitoring (APM) service. Monitor
your Java, Node.js, and .NET apps on App Service—no code
changes required.
Watch live metrics, user journeys, or an application map of
your entire deployment. Set up alerts for slow or failing
requests and use App Insights to solve and diagnose the
issue.
Web App
Azure Monitor
Event Hubs
Log Analytics
27. All Java apps welcome
Embedded Server, Tomcat, and Java EE / Jakarta EE
MicroProfile
Quarkus and more!
Helidon
Java SE Apache Tomcat Jakarta EE
28. JAR Deployment
• Java 8, 11, 17 available. Future Java LTS versions
will be available on App Service as they are
released
• Apply minor version updates automatically or on
your own terms
• Deploy your fat JAR apps with DevOps Pipelines,
Maven plugins, GitHub Actions, or the Azure CLI
Spring Boot Microprofile
Quarkus and more!
If it runs as a JAR, it can run on App Service
29. Migrate your Tomcat
apps
• Tomcat 8.5, 9.0, 10.0 available on Java 8, 11, 17
• Deployment APIs unpack your WAR apps when
scaled horizontally
• The Migration Assistant is a standalone tool for
discovering, assessing, and migrating web
applications
• Migrate Tomcat Java apps on Windows servers or
Linux servers
• Available for download at http://aka.ms/appmigrate
30. Jointly supported
JBoss EAP on Azure App Service is a jointly developed,
managed, and supported service. This means you can
submit a support case with either company, and behind the
scenes Azure and Red Hat will collaborate to resolve your
question or issue.
You get best-in-class support from Red Hat and Azure, for
the entire stack… all without any external licenses or
subscriptions! Expect a single, simple bill from Azure.
All JBoss EAP sites on App Service are automatically
enrolled in the joint support program.
32. Azure App Service Java demo
ž Pillars of value
ž The actual Azure service (we call it a Resource Provider)
ž REST API
ž CLI and Azure Portal
ž Idiomatic Java API (Azure SDK for Java)
ž Plugins for familiar tools: Azure Toolkit for IntelliJ and VS Code Azure and
Java plugins
ž MS Learn content
ž https://aka.ms/java/appservice/quickstart
ž https://aka.ms/java/appservice/learningpath
35. Summary
• Azure has two Java PaaS offerings
• Azure Spring Apps
• Azure App Service
• PaaS offers maximum productivity with
minimum ceremony
• Microsoft has many aids for
migrating and modernizing your
Java apps
https://aka.ms/java/developers
https://aka.ms/java/ee