Event-driven architectures with strangler and leave/layer patterns (MAM304)
Modernization: Using Patterns like Strangler, Leave and Layer, and Amazon EventBridge
Introduction
The session is a Level 300, focusing on architectural concepts and the things to consider during modernization.
The speakers are Jorge Alvarez and Jeff Escott, who will introduce two characters, John and Jill, to guide the discussion.
The Legacy Application: The Unicorn Shop
The Unicorn Shop is a 20-year-old Java-based monolithic application used to sell unicorn-related products.
The company is losing market share due to the lack of innovation and the limitations of the legacy application.
The product owner, Jill, has been tasked with hiring new people to modernize the application and improve the customer experience.
John's Perspective
John is a seasoned developer with 20 years of experience, but he is not familiar with Java, the technology used in the legacy application.
Jill presents John with a new requirement to integrate with a third-party tool (Slack) to notify a customer support group when new customers sign up.
John needs to find a way to implement this new functionality without disrupting the existing application and revenue stream.
Application Modernization Patterns
John discusses two patterns he is familiar with: Strangler Fig and Leave and Layer.
Strangler Fig involves extracting functionality from an existing application and implementing it in a microservice architecture, usually on AWS.
Leave and Layer allows building new functionality alongside the existing application, without significant impact on the legacy system.
Event-Driven Architecture (EDA) and Amazon EventBridge
John introduces the concept of event-driven architecture, with the key components: event producer, event consumer, and event broker.
He highlights the benefits of asynchronous communication and how it aligns with the principles of EDA.
Amazon EventBridge is presented as the AWS native service for implementing EDA, with features like event buses, rules, and API destinations.
Implementing the Solution with Leave and Layer and EventBridge
John decides to use the Leave and Layer pattern to build the new functionality for integrating with the third-party tool (Slack).
He explains the steps involved:
Modifying the legacy application to publish events to Amazon EventBridge when a new customer signs up.
Creating an EventBridge custom event bus and rules to filter and route the events to the Slack API destination.
Configuring the API destination to transform the event data into the format expected by Slack.
Demonstration
The demo showcases the implementation of the solution, including:
Observability using AWS X-Ray
Modifying the legacy Java application to publish events to EventBridge
Using Amazon Q Developer to generate the code for the EventBridge integration
Configuring the EventBridge custom event bus, rules, and API destination for Slack
Conclusion
In a relatively short time, John was able to learn about the modernization patterns, EDA, and EventBridge, and implement a solution that extends the legacy application without disrupting its core functionality.
The demonstration highlights the flexibility and power of the Leave and Layer pattern and Amazon EventBridge in enabling cloud-native, event-driven architectures.
The speakers encourage the audience to explore the resources and provide feedback through the survey.
These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.
If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.