Modernize Your Java Apps
Modernize Your Java Apps
Introduction
2 Simplify development
and deployment
Conclusion
Modernize Your Java Apps 3
Introduction
From digital native giants such as Twitter, Netflix, and Uber, to enterprises with legacy portfolios,
Java is powering our digital world[1][2]. With the recent dramatic consumer shift toward online
channels, companies have accelerated the adoption of digital technologies by several years. To stay
competitive in this environment and be better prepared for future disruptions, organizations are
modernizing their business-critical applications and accelerating their investment in technologies
and cloud adoption.
Research conducted by Coding Dojo on the most in-demand programming technologies among
the world's top start-ups shows Java in the top three languages, which comes as no surprise as
Java continues to hold significant developer mindshare and is also one of the three most popular
programming languages reported by RedMonk and PyPL. Many organizations have substantial
investments in mission-critical Java applications running on-premises and need fully supported
environments to run these apps in the cloud.
Over the past several years, the Java ecosystem landscape has evolved, from monolith Java EE
applications running on application servers and the Spring Framework to modern smaller-footprint
Spring Boot, MicroProfile, and Jakarta EE microservices. The following customer stories show how
modernizing different Java applications with cloud-managed services empowers organizations
to innovate, improves cost efficiency, and increases scalability, all while meeting strict security
and regulatory requirements. These stories highlight how the cloud gives developers and IT
professionals more flexibility to focus on business priorities and innovation rather than infrastructure
management. Ultimately, this leads to improved productivity and overall customer satisfaction.
1 https://stackshare.io/java
2 https://www.jrebel.com/blog/2021-java-technology-report
Modernize Your Java Apps 4
1.
Improve performance and
the customer experience
AIA Singapore Private Limited is a subsidiary of AIA Group Limited, a leader in life insurance and
financial services, with branches and subsidiaries across 18 Asia-Pacific markets. Since 1931, AIA Singapore
has been serving generations of Singaporeans, supporting them throughout their lives. The company
is recognized for its leadership in business technology. When the company launched the interactive
point of sale (iPoS) application a few years ago, it was one of the first insurance companies to release
a high-profile business application available on mobile tablets.
With more customers preferring online services, the company wanted to provide a seamless web
experience and more innovative digital tools to customers. But with unpredictable spikes in traffic and
underutilized on-premises servers, the company required cloud efficiencies and a more modern platform.
AIA Singapore chose Azure for its ambitious plan to transform and further enhance all its platforms.
Azure checked all the boxes with its resilience, autoscaling features, on-demand provisioning, open-
source options, and built-in high availability and disaster recovery.
The iPoS app is just one of many vital, Java-based workloads that the company moved to Azure.
AIA Singapore modernized more than 80 business-critical Java 6 apps running on different versions
of JBoss Enterprise Application Platform (EAP) app servers by porting them to Apache Tomcat,
an open-source implementation of the web server environment in which Java code can run. This
enabled AIA Singapore to take advantage of containers and Azure Kubernetes Service (AKS), the
popular container orchestrator that offers a convenient way to host applications at scale.
Modernize Your Java Apps 5
Some applications required integration with multiple large-scale on-premises systems, and a hybrid
configuration gave AIA Singapore the flexibility to move at a quicker pace that worked for the
business. "We modernized our web application to be capable of running in AKS," explains Deepa
Manogaran of the AIA Singapore iPoS team. "AKS is quite easy to adapt. Now our application can
start in a few seconds and serve the requests faster than on-premises."
The new Azure architecture implemented by the company reflects the Zero Trust model, which
locks down access to resources from both inside and outside of the network. To ensure compliance,
governance, and best practices, AIA Singapore utilized Azure landing zones, a set of architecture
guidelines, reference implementations, and proven code samples for preparing cloud environments.
For business continuity, AIA Singapore mirrors its primary Azure datacenter, located in Singapore,
in a secondary region in Hong Kong. This setup provides resilience and disaster recovery, thereby
giving the company peace of mind.
As part of its digital journey, AIA Singapore continues to roll out on Azure as legacy applications
are updated and moved. The hybrid configuration is the perfect solution for them, connecting the
company's existing on-premises datacenter through a landing zone to the new Azure datacenter.
Modernize Your Java Apps 6
Key benefits
2.
Simplify development and deployment
For more than 150 years, Swiss Re, one of the world's largest reinsurers, has used data to make the
world more resilient. Recognizing that resilience requires finding new business models, the company
uses Azure services to transform the insurance industry. Behind the scenes, the Swiss Re Group
Finance IT team is responsible for providing a stable and accurate service for the business—especially
during the all-important closing periods, when the company publishes its financial results. The
company follows the Cloud Security Alliance Cloud Controls Matrix (CSA CCM), and all applications
must meet the standards set by the Common Vulnerabilities and Exposures (CVE) system.
The move to Azure was part of a digital transformation initiative that the Swiss Re Group Finance IT
team started to gain the continuous innovation and agility of cloud-native applications. To reduce
the risk associated with refactoring monolithic applications, the IT team adopted the strangler
pattern in its modernization journey, where developers gradually update the company's Spring Boot
applications and incrementally retire legacy systems. The Swiss Re Group Finance IT team also began
looking into managed platforms to make life simpler for developers and enable a Zero Trust model,
where any identities and devices on a corporate network must be continually verified.
Swiss Re chose Azure Spring Cloud, a fully managed infrastructure for Spring Boot applications,
to concentrate on writing apps and running them with minimal overhead. This allowed Swiss Re
developers to focus on building their business logic while Azure took care of dynamic scaling,
security patches, compliance standards, and high availability.
The transition to Azure Spring Cloud was easy. Jonathan Jones, Lead Solutions Architect, Group
Finance IT, points out how much the team liked the platform's simplicity. "We give it a JAR file and
have an application running. We don't need a specialist DevOps engineer on call. For us, this makes
good economic sense."
Modernize Your Java Apps 8
With Azure Spring Cloud support for popular integrated development environments (IDEs) and
frameworks, the Java developers at Swiss Re could continue to work in their chosen environments. Another
benefit of moving to the cloud is more observability and, with Azure Monitor integration, the team has
access to aggregated logs, metrics, and distributed app traces in one place to help with troubleshooting.
Before the platform went live, Swiss Re subjected Azure to a tough battery of performance and
penetration tests and Azure Spring Cloud passed on all counts. Azure Spring Cloud supports the
company's strict security and regulatory requirements and provides worldwide reach, which was a
key consideration in the move to the public cloud. Swiss Re lowered the attack surface by delegating
network and compute management to Microsoft. The Swiss Re team designed an architecture that is
simple, but where security is paramount.
Figure 2: Swiss Re hosting its Spring Boot applications on Azure Spring Cloud
Swiss Re accelerated its modernization efforts by hosting its Spring Boot applications on Azure
Spring Cloud. The team has created a runway for app development and paved the road for other
squads within Group Finance IT.
Modernize Your Java Apps 9
Key benefits
3.
Create multi-tenant solutions and
meet global customers' needs
Headquartered in the United States, Sphera serves thousands of organizations in more than 100
countries and reaches more than 1 million individual users. Customers include influential companies
such as Siemens, Dow Chemical Company, Shell Oil, and BP.
Sphera is in the business of creating a safer, more sustainable, and productive world. With the recent
acquisition of a Java EE technology for Operational Risk Management (ORM), Sphera opted to
consolidate its portfolio and go cloud-native on Azure. The move gave the ORM engineering team
the opportunity to reimagine its packaged software as a secure, multi-tenant Software as a Service
(SaaS) offering called Sphera Control of Work (CoW).
The Sphera engineering team wanted to focus on the domain and features, and as little on
infrastructure as possible. That meant using as many PaaS and SaaS services as possible.
As a long-time Microsoft customer, Sphera reached out for information about the best way to move
its Java EE workloads to Azure. Microsoft invited the Sphera team to join a Java EE migration pilot
where they could work with Azure engineers on a proof of concept. The initial goal for the migration
was to migrate the Java EE apps to Wildfly on Azure App Service for Linux, a managed hosting
service for web apps, REST APIs, and mobile back ends.
Modernize Your Java Apps 11
During a week-long migration marathon, not only did the engineers get the app running in just
three days, but they also checked off a laundry list of optimizations. "We did not have any experience
with Azure, so our goal was to get on Azure and deliver a minimum viable product. But our progress
was way beyond our expectations!" says Brian Laird, Director of Engineering, Sphera. However, the
biggest win was transforming the stateful Java EE apps to scalable, stateless apps on Azure App
Service for Linux.
During the migration, the team also accomplished more than they expected in the data tier. The
original product's EclipseLink in-memory cache was traded for Azure Cache for Redis, a fast, fully
managed in-memory data store. App data was copied from an Oracle database on-premises to
Azure SQL Database in a move that took little more than a day. Sphera can now support customers
with deployments of either Oracle or SQL Server databases on-premises—no additional licensing
fees are required.
Today, the Sphera CoW architecture on Azure runs the core Java webs apps in a flexible Azure App
Service plan. For simplicity, two third-party components were migrated to Linux VMs.
Figure 3: The Sphera CoW architecture on Azure runs the core Java web apps in Azure App Service
Modernize Your Java Apps 12
Migrating the deep Java EE stack to Azure happened in phases. After the migration marathon, the
team set up and tested a single-tenant SaaS cloud solution. However, to share the compute cost
among different customers, Sphera envisioned a multi-tenant solution. For that, it needed to provide
a secure sign-on experience that was achieved by turning on another managed service—Azure
Active Directory B2C, which provides business-to-customer identity as a service. Today, all the Java
workloads are attached to Azure AD B2C.
The Java EE CoW migration was just one part of the larger effort to build a multi-tenant cloud
platform with the scale to serve more customers. SpheraCloud is changing the way that global
customers conduct their business and making them much more effective. A company may start
with Sphera CoW, but the integrated nature of SpheraCloud on Azure makes it easy for them
to add more services.
Modernize Your Java Apps 13
Key benefits
Immediate scalability
4.
Optimize, scale, and drive innovation
Sacramento-based Raley's is a regional grocery chain that owns and operates more than 130 stores
under six brands in California and Nevada. With some 11,500 employees, it's the largest family-
owned company in the greater Sacramento region. The COVID-19 pandemic has driven a massive
surge in online grocery shopping, making it an essential 24/7 service that must remain operational
and stable. For US grocery retailers, the holiday seasons generate the biggest sales of the year,
creating predictable usage peaks.
Raley's needed to modernize the code and infrastructure for their Java-powered e-commerce sites
hosted on Azure. They had a mandate to address technical debt, and, with a lean IT team, they
needed an efficient way to do so. Raley's wanted to focus on their applications, and not have to
worry about infrastructure. They needed to improve utilization, reduce costs, and reduce time-to-
value. Scaling had been largely manual, and a new solution was needed to speed up deployments.
But the team only had about six months to do it. Everything needed to be launched and stabilized
ahead of the US grocery retailer's busiest time—Thanksgiving.
To improve both flexibility and resilience, the team decided to accelerate the migration to
microservices and pivot to a continuous integration and continuous deployment (CI/CD) model. To
modernize infrastructure, the team needed to optimize cluster orchestration, migrate from VMs, and
automate deployments and provisioning across the board. Most importantly, it needed autoscaling
driven by real-time monitoring.
The answer was Azure Spring Cloud, a fully managed service for Spring Boot, providing the power
of Kubernetes coupled with real-time monitoring and autoscaling. It also enabled Raley's to adopt
a true platform as a service (PaaS) architecture, seizing the benefits of the cloud more fully and
focusing on delivering key business features.
Modernize Your Java Apps 15
"Azure Spring Cloud runs Kubernetes underneath for us," Armando Guzman, Principal Software Engineer
at Raley's, observes. "It wraps it up in a nice little package, where all you have to worry about is the Java
services and the Java. We don't have to manage Kubernetes ourselves or worry about any of that."
Spring Cloud apps are fully integrated with Azure Monitor tools, allowing easy, fully configurable
monitoring of performance, and quick error troubleshooting. Raley's used these same monitoring services
to also drive autoscaling, helping to ensure that resources are appropriately sized for current loads.
The hardest challenge Raley's faced was the networking piece, as important parts of its network
were not on Azure yet. Spring Cloud's support for deploying to private virtual networks (VNets)
allowed Raley's team to utilize Azure API Management and Azure Application Gateway to protect
the services from outside and inside the network.
Thanks to Azure Spring Cloud, Raley's team was able to launch two weeks ahead of its mid-October
Thanksgiving deadline. Raley's had record-breaking e-commerce sales, and with autoscaling and all
the new infrastructure that was in place, the company did not experience any outages during the
holiday season.
Modernize Your Java Apps 16
Key benefits
Conclusion
Running enterprise Java applications at scale can be challenging. Azure provides a platform that includes
compute, databases, monitoring, security, DevOps, and more. Managed services, such as Azure App
Service, Azure Spring Cloud, and Azure Functions, simplify deployments and help teams to ship faster.
Figure 5: Java services on Azure provide various levels of control and increased team productivity
Customers who require greater infrastructure control can deploy Java applications on AKS or Azure
Red Hat OpenShift. For data persistence, you can use managed databases for PostgreSQL and
MySQL. Running Azure provides access to a range of platform services, including Azure Monitor,
Azure Key Vault, and Azure Active Directory. These services help address some of the most common
challenges in running Java apps in the cloud, including observability, secrets management, and
authentication and authorization. With Azure, you can transform Java applications to achieve better
performance, security, and customer experiences.
Modernize Your Java Apps 18
Free Training: Start self-paced Java on Azure learning path to learn steps necessary
to build, migrate and scale Java applications on Azure. Start training.
Migration guide: Get started with the recommended strategies for migrating Java
applications to Azure. Read documentation.
Azure Migration and Modernization Program: Get expert guidance you need to start
your cloud journey. Learn more.
Azure Sales Specialist: Connect with a team of specialists to answer questions you have
on migration. Connect to sales.