Announcing the Reliable Web App Pattern for Java
Published Aug 01 2023 07:59 AM 3,505 Views
Microsoft

As you navigate the business growth and transformation landscape, you'll find that developers grapple with challenges similar to those our customers face. As business grows, one common challenge is ensuring your legacy web applications cater to a growing user base without overstretching resources and costs. Such companies don’t want to expand the team size or drastically re-factor the existing application, they need a solution that aligns with their growth goals while optimizing their resources.  

 

For many, migration from on-prem to cloud offers a compelling return on investment. While the benefits of the cloud are undeniable, the initial transition can present unique challenges and taking the first step can be daunting. Many have succeeded by re-platforming existing apps, with minimal code changes. This provides immediate gains while setting the stage for longer-term modernization and refactoring. The Reliable Web App (RWA) pattern, part of Microsoft’s Enterprise App Patterns, is a model for the re-platforming step of that journey. 

 

Building on Proven Success: Now for Java Developers!

Earlier in this year, we brought the Reliable Web App Pattern to the .NET community, a major stride in helping developers re-platform their web applications in the cloud easily and confidently. Building on this success, we're thrilled to expand this offering to the Java developer community. Today, we proudly announce the Reliable Web App Pattern for Java Tomcat, tailored specifically for Java developers and legacy Apache Tomcat applications. This pattern, a collection of cloud-design patterns and best-practices built on the Microsoft Azure Well-Architected Framework, helps Java developers efficiently re-platform their Tomcat web applications to the cloud while setting a strong foundation for future Azure modernization.  

 

Our goal with this pattern is to help you enhance your web applications' reliability, security, operations excellence, and performance in the cloud with proven best practices. It optimizes costs when transitioning from on-premises infrastructure to cloud infrastructure in Azure and achieves these improvements with minimal changes to your existing setup. 

 

RWA-Java-pattern (1).jpg

 

Designed to streamline and accelerate cloud journey. The RWA includes: 

  • Prescriptive guidance 
  • Deployable reference architecture 
  • Dev/prod deployable stacks 
  • Simulations 
  • Cost estimates 
  • Service-level objectives (SLOs) 

This helps developers transform traditional line-of-business Java Tomcat apps more easily into modern applications running in the cloud in a reliable, secure, and operationally efficient way. 


We've crafted the RWA pattern for Java in response to feedback from our enterprise developers, who frequently express the need for comprehensive architectural guidance and reference implementations that demonstrate more advanced scenarios like multi-region deployments, CI/CD practices, identify management, secure secrets, caching, observability, transient failure handling, and more. They seek ways to expedite their proof-of-concept work and accelerate the modernization of their applications on Azure. In response to this feedback, we've established common objectives, cloud-design patterns, and best practices to enable our Java developers to thrive quickly in Azure, eliminating the developer toil of trial-and-error. 

Built around a real-world business context 

The implementation, focused on a practical business context, mirrors the complexities you might face in your environment. We built the implementation around a fictional company called Proseware. Like many forward-thinking organizations, Proseware wants to tap into new markets and expand its reach. The objective was clear -- strategically moving into the education technology application market. Proseware had an internal training web application, which, after some technical research, was identified as a potential starting point for their ed-tech venture. Like Proseware, you may already have valuable assets within your company that can act as springboards to new opportunities. This reflects a common trajectory for many companies, recognizing the potential to re-platform their existing applications. Initially, they converge on the cloud as a strategic move, then leverage its potential to venture into broader markets through app modernization, fully harnessing the power of the cloud. 
 

Here's a sneak peek into the architecture of the Proseware Web App covering multi-region deployment with Azure services like Azure App Services, Azure Cache for Redis, Azure Database for PostgreSQL, Azure Files, Azure Front Door, Azure Active Directory, and more. 

Reliable Web App Pattern for Java architectureReliable Web App Pattern for Java architecture

Getting Started 

The RWA pattern consists of comprehensive guidance in the Azure Architecture Center and the open-source reference implementation code and CI/CD pipelines on GitHub. Deploying the code is straightforward via the Azure Dev CLI and Terraform, and we include simulations that quickly immerse learners in the more advanced concepts. 

 

The RWA pattern is a field-tested blueprint that navigates you through the initial phase of your web app's journey to the cloud. With this cohesive blend of cloud design patterns, implementation, and tools, you can seamlessly integrate these best practices into your existing apps.  

 

And we’re not done yet. Our customers tell us they often employ a journey to convert a legacy app to a full cloud-native one with multiple stops along the way. Our next Java pattern will emulate a later step in the journey to modernize an application in the cloud. Stay tuned!  

Co-Authors
Version history
Last update:
‎Aug 05 2023 05:40 AM
Updated by: