The Java ecosystem is very broad, with different technologies including Java SE, Java EE/Jakarta EE, Spring, numerous application servers, and other frameworks. Wherever you are in Java, Azure supports your workload and process with an abundance of choice – from IaaS to fully managed services. You can run any application architecture, from monoliths, to containerized monoliths, all the way to completely microservices based apps.
We see three broad patterns for running Java applications in the cloud, depending on how much control or productivity you need.
The first is lift and shift with Virtual Machines:
Virtual machines provide the most flexibility, control and visibility while moving to the cloud, especially for initial lift and shift of Java workloads. Azure provides a variety of Java focused VM images and solutions templates in the Azure Marketplace to get you up and running quickly.
The second is modernization using containers:
Containers provide portability, flexibility, scalability, manageability, repeatability, and predictability.
Azure provides best of breed support for Docker and Kubernetes, especially through the Azure Kubernetes Service (AKS) and Azure Red Hat OpenShift.
Finally, Azure has the most managed hosting options for Java applications of any major cloud platform with fully managed PaaS for Spring, Tomcat, and JBoss EAP:
Managed services offer ease-of-use, ease-of-management, productivity, and lower total cost of ownership.
You can focus on building your applications, not managing infrastructure.
All of this is supported by managed databases and DevOps tooling:
Use fully managed SQL and NoSQL databases, including PostgreSQL, MySQL, Cosmos DB, and SQL.
Keep using the tools you love, with plugins for IntelliJ and Eclipse, integrations with a variety of DevOps tools like Maven, Gradle, Jenkins, and GitHub.
4. Strong partner ecosystem
Solution templates for
WebLogic on Azure IaaS
Confluent Cloud with Azure
Portal and CLI integration
Jointly built and operated
service—Azure Spring Cloud
Redis Enterprise on Azure
managed infrastructure
OpenJDK support for
all LTS Java versions
IBM Cloud Pak for Data
in Azure Marketplace
Jointly supported JBoss EAP
on App Service* and VMs
Elastic Cloud on Azure
Marketplace
*JBoss EAP on App Service is in public preview
5. Community engagement
Fixes, performance
enhancements, and new ports
Toolkit and plug-ins to improve
Eclipse dev experience
Platinum sponsor 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, Run/
Debug, Unit Testing, and more
Spring Cloud for Azure project
and managed service for
Spring Boot
6. Java is widely used across Microsoft
Mojang’s Minecraft
• Hundreds of servers built in Java
• Client Java Edition is very popular
Android
• 50+ apps published by Microsoft in
Google Play Store
• New Surface Duo phone based on
Android OS
LinkedIn
• Over 1800+ Java microservices in production
Over 60+ Java open-source projects on GitHub
Azure
• Services dependent on Java include, Azure
HDInsight, Azure Databricks, and Azure Spring
Cloud, and internal control systems
Yammer
• Most of back-end implemented in Java
*Internal usage; does not include customer workloads
7.
8. Market context and customer benefits
Realize value by choosing Azure for your Java modernization
55%
7x faster release cycles vs 10 years ago*
17% YoY increase in data breaches*
of developers use 5 or more tools in their
development process*
*Sources: GitLab 2018 Developer Survey; Forrester; Gartner; ID Theft Resource Center
9. Build on your terms
Use tools your developers and operators are familiar with
IntelliJ Eclipse
Your favorite IDEs with seamless
Azure integration
Maven Gradle
Popular build automation tools
for Java developers
Jenkins
Popular
open-source
automation server
Terraform
Infra-as-code for
automated Azure
management
Automate your software workflows with GitHub
Actions. Integrate GitHub with Jenkins and Terraform
to automate Azure deployments.
Use plugins for Maven
and Gradle to natively
build and interact with
Azure services.
Use the Azure Toolkits for IntelliJ and
Eclipse to easily create, develop,
configure, test, and deploy highly
available and scalable Java apps to Azure.
GitHub
World’s largest
developer
community
VS Code
10. Modernize Java applications on Azure
*JBoss EAP on Azure App Service is in public preview
All product names, logos, brands, and trademarks are property of their respective owners.
Java application frameworks
Java EE/Jakarta EE application servers
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
Databases
Azure Database
for PostgreSQL
Azure Database
for MySQL
Azure Cache
for Redis
Azure SQL
Database
Azure
Cosmos DB
Tooling
IDEs
GitHub
Build tools
11. Authentication across cloud and on-
premises environments with Active
Directory
Azure has more regions than any
other cloud provider
More than 95% of the Fortune 500
run their applications on Azure
Only cloud platform with hyperscale
PostgreSQL database
Cloud platform with the most fully
managed hosting options for Java –
Tomcat, JBoss EAP, Spring Cloud
12. Building a load-matching cloud service for shippers
and carriers
“We have Linux, Windows, and Java
that we needed to migrate. We
didn’t have to re-architect those
applications in order to move them
to the Cloud.”
Jay Davidson
Vice President, Technology
Challenge
J.B. Hunt’s mainframe deployment
had reached the limit of its capacity.
With an estimated 8B transactions over
the next 3-5 years, a new solution was
needed to increase truck utilization and
optimize spend.
Solution
J.B. Hunt migrated its on-premises
applications, mostly written in Java,
to VMs, App Service, and Azure
Kubernetes Service. Azure DevOps
Server coordinates app deployment.
Results
Scalability and simple
cross-language migration
Increased security
and reliability
New revenue and
business opportunities
13. Azure Kubernetes Service
Azure App
Service
Azure
Functions
Azure SQL
Database
Azure Active
Directory
Carriers Shippers
Azure
Functions
Azure
Cosmos DB
JB Hunt 360 Marketplace
Azure DevOps
Azure Key Vault
Spring Boot Apps
14. “Azure Spring Cloud allows our teams to
build new business services rapidly, as the
platform and underlying infrastructure is
fully managed. The platform is integrated
with the Azure ecosystem, which enables
us to achieve the desired level of
automation and means to operate the
services securely.”
Nicolas Andres
Head IT Group Finance Program
Challenge
Managing infrastructure, security
testing, and performance monitoring for
Spring apps was taking time away from
delivering new features and services to
the business.
Solution
Azure Spring Cloud handles
infrastructure management and
integrates with other Azure services to
provide a secure and reliable platform
to run Spring Boot applications.
Results
Cloud scale performance
and flexibility
Automated security
and reliability
Increased developer
velocity
Building new services rapidly with Azure Spring Cloud
15. Swiss Re—Azure Spring Cloud architecture
Cloudflare proxies requests to the
Spring Cloud Gateway application
Spring Cloud Gateway routes to the
back-end services using the Eureka
service registry
Back-end services can call other
back-end services via Eureka look-ups
The managed identities of the back-end
services are used to access Key Vault,
Microsoft Graph and to retrieve static
content from Azure Storage
Azure Spring Cloud ensures logs and
metrics are sent to Log Analytics and
Application Insights, respectively
Azure Database for PostgreSQL
is accessed via JDBC
Business user
Cloudflare
Azure
Spring Cloud
<component>
Spring
Cloud Gateway
<component>
Back-end services
Azure Active
Directory
<Azure Database
for Postgres SQL>
Database
Azure
Key Vault
<Azure Storage>
Static Content
<Azure App Insights>
Workspace
<Azure Log Analytics>
Workspace
<boundary>
Azure
16.
17. GitHub
Build Tools
Azure Container
Registry
Container PaaS
Azure
Kubernetes
Service
Azure
Red Hat
OpenShift
Azure Container
Instances
Platform
Development Tools
Modernize your Java applications using containers
Azure Arc
Management across environments
Active
Directory
Azure
Policy
Security
Center
Key
Vault
Azure
Advisor
Docker
IDEs
Cognitive
Services
Azure
Monitor
Service
Bus
18. Best practices from
of enterprise engagements
1000s
on-call support backed by
Kubernetes certified experts
24x7x365
Security experts focused on
your data security and privacy
3,500
Built-in
Best
practices
Enterprise
support
Multi-layer
Security
Kubernetes on Azure
Run Java in more regions
than any other cloud provider
19. Azure Red Hat OpenShift
In just minutes, deploy
enterprise-grade Red Hat
OpenShift clusters on Azure
Enterprise-grade operations, security and compliance
Deploy your business-critical apps with confidence with an
industry-leading SLA of 99.95% availability, with PCI DSS, ISO
27001, HITRUST, SOC 2 Type II, and FedRAMP certifications.
Empowering developers to innovate
Promote developer productivity with built-in CI/CD
pipelines, then easily connect your applications to hundreds
of Azure services such as MySQL, PostgreSQL, Redis, Cosmos
DB, and more.
Scale on your terms
Start a highly available cluster in a few minutes, then scale as
your application demand changes; plus, get your choice of
standard, high-memory, or high-CPU application nodes. Pay
through your Azure subscription.
Build, deploy and
scale Java apps
with confidence
20. Fully managed PaaS for Tomcat and JBoss EAP
Deploy applications the way you want – with Maven plugins,
from the command line, or from IntelliJ, Eclipse, or VS Code
Automatic updates and security patches for Tomcat
and JVM keep your applications secure
*JBoss EAP on Azure App Service is in public preview
Built-in CI/CD integration and zero-downtime deployments
with deployment slots
Perform intelligent troubleshooting with App Service diagnostics
and optimize performance with Azure Monitor and App Insights
21. Spring is the most popular Java framework
Source: State of Spring 2020 Report - https://tanzu.vmware.com/content/ebooks/state-of-spring-2020
52%
22. Common challenges for Spring applications
Customers need to manage infrastructure, updates, troubleshooting
High effort required to
manage cloud
infrastructure for Spring
Boot applications
Application lifecycle is
difficult to manage
Painful to troubleshoot
application issues
Spring
Cloud Apps
Spring Cloud
Components
Spring Cloud
Components
Cloud
Services
App
Consumers
Breaker
dashboard
Service
registry
Distributed
tracing
Config
dashboard
IoT
Mobile
Browser
API
Gateway
Microservices
Microservices
Microservices
Message brokers
Databases
23. More choices and full integration into Azure’s ecosystem and services
Fully managed
infrastructure
Built-in app
lifecycle
management
Ease of
monitoring
Enterprise ready
Azure Spring Cloud
Fully managed Spring Cloud service, jointly built and operated with VMware
24. Spring integration with Azure
Spring developers can leverage 30+ starters to connect to Azure services with a few lines of configuration
and minimal code changes
App Configuration
Event Hubs
Service Bus
Storage
Redis
Functions
Spring Cloud
SQL Database
MySQL
PostgreSQL
Maria DB
Cosmos DB
• SQL
• MongoDB
• Cassandra
• Gremlin
Spring Data
Active Directory (AAD)
AAD B2C
Spring Security
SQL Database
PostgreSQL
MySQL
R2DBC
Spring Cache
Redis Cache
Storage
Spring Resource
Spring Messaging
Service Bus
Micrometer
Monitor
25. Fully managed databases on Azure
Always up-to-date | Hybrid compatibility | High availability | Limitless scale | Low latency
In-memory data store
to power fast, scalable
applications
Fast NoSQL
database with open
APIs for any scale
Used by Microsoft Teams
to help scale to 75M+
daily active users
Enterprise-ready, fully managed,
and scalable open-source
databases
50k+ customers in 100+
countries, Azure is the only
cloud with Hyperscale PostgreSQL
Managed
intelligent SQL in
the cloud
Built-in AI and built-in high
availability maintain peak
performance and durability
with an SLA of up to 99.995%
Support rapid growth and innovate faster with secure, enterprise-grade, and fully managed
database services for your Java applications
26. Integration services on Azure
Seamlessly integrate applications, data, and processes for your enterprise
Connect your business-
critical Java apps
and services and
automate workflows
Simplify your event-driven
architectures with a single
service for event routing
Fully managed enterprise
messaging service with
native Java Message Service
(JMS) support
Streamline your hybrid and
multi-cloud environments
with a single place for
managing all your APIs
29. Built-in security controls
Identity
and access
App and data
security
Network
security
Threat
protection
Security
management
| |
Azure Active Directory Azure Key Vault | Azure Firewall and DDoS | Azure Security Center
Azure Sentinel
30. Multi-layered security
Developers and Operators
Azure Active Directory
Azure Security Center
GitHub Enterprise
Code/containers
Azure Policy
Pipeline
Azure Private Link
Network
Azure Key Vault
Application
Cloud resources
Azure
Spring
Cloud
Azure Kubernetes
Service (AKS)
MySQL
Database
Azure
Cosmos DB
Runtime environment
31. Azure Monitor
Track availability and
performance of applications
in real time
Operationalize at scale
with Smart Alerts and
Automated Actions
Drill down with Log Analytics
for troubleshooting and
deeper diagnostics
Azure Monitor
35. Learning
resources
Learning resources
to build cloud skills
Best practices
and tutorials
Technical guidance and step
by step tutorials
Partners and
Microsoft Programs
Professional expertise
for your unique needs
Microsoft Cloud
Adoption Framework
Proven guidance to accelerate
your cloud journey
Cloud Adoption Framework Cloud native applications
App migration
Java on Azure documentation center
Azure for Java quickstarts
Java to Azure migration strategies
Build with Azure Spring Cloud
Java developer tools for Azure
Java on Azure learning paths and modules
Build with Cosmos DB
Automate Java container deployments
Get started on your Java modernization journey
Resources for success