This website uses cookies. By continuing to browse the site, you are agreeing to our use of cookies
Cloud
June 21, 2023
Monolithic applications are complex, and their dependent architectures are difficult to manage and scale on par with modern applications built with microservices. In addition, monolithic architectures are not well-suited for applications that require real-time or near-real-time processing. This is because they are designed to handle requests one at a time, which can lead to latency issues.
However, Event-Driven Architecture (EDA) offers a solution by decoupling services and enabling real-time processing through events. In this blog post, we will explore what EDA is, how it works on Google Cloud, and when to apply it in data engineering. Further, it enlightens the use of EDA to decouple a monolithic infrastructure using Google Cloud Pub/Sub and cloud functions.
EDA is a distributed architecture where components exchange events, enabling loosely coupled communication driven by event occurrence. It promotes agility, scalability, reliability, and resilience. EDA finds applications in microservices integration, data sharing, and external data ingestion/analytics.
Here are a few data engineering scenarios where an event-driven architecture could be a better choice and the right approach:
The cloud is an ideal environment for implementing an event-driven architecture because it allows services to scale dynamically in response to changes in demand. Cloud providers such as AWS, Azure, and Google Cloud provide a range of tools and services, such as AWS Lambda, Google Cloud Pub/Sub, etc. that can be used to implement EDA.
There are many ways to build an event-driven architecture (EDA) in the cloud. Here are some common approaches:
Figure 1: A typical Event-Driven Architecture Framework
Google Cloud offers a variety of services to build Event-Driven Architectures (EDAs). Here are some of the most popular Google Cloud services for EDAs:
Our client is a dynamic and innovative organization with a global footprint. They are at the forefront of the healthcare industry. With a strong focus on revolutionizing the pharma landscape, the company combines cutting-edge technology with a deep understanding of patient care. Through their state-of-the-art software solutions, they empower pharmacies to effectively manage prescriptions, automate tasks, and provide personalized care to patients.
Challenges:
The client operated within an on-premises environment where they regularly received files from their partners in a standardized format, delivered to a designated SFTP folder. Quality and compliance checks involved a manual process where their personnel manually performed the validations and either passed them or sent them back to the vendor for revision per the validation checklist. As the client partnership grew, they received a large volume of files, and the existing solution caused many challenges. Recognizing the limitations of the current system, the client acknowledged the need for an automated solution to streamline the file-handling process.
The Hexaware Solution:
We provided a robust solution that identified the files once they were placed in SFTP and implemented a mechanism to automatically update the database if the file passed all checks. If the file had errors, the mechanism would send the file back to the partners using a hybrid approach with the help of Google Cloud Pub-Sub and an Event Driven Architecture.
To solve the problem of processing and storing events, we employed an event-driven approach using Google’s Pub-Sub pattern. We leveraged Google Cloud Serverless services, which fit this type of application well. We followed the below approach:
Figure 2: Event-Driven approach using Google’s Pub/Sub Service
This architecture demonstrates an event-driven approach using Google’s Pub/Sub service to enable efficient processing and storage of data files in a distributed system. It leverages serverless services on Google Cloud for scalability and flexibility.
To summarize, if you are building a new application or looking to modernize an existing one, EDA is an excellent option. It can help you build a more scalable, resilient, and agile application. Hexaware offers comprehensive expertise in Event-Driven Architecture, delivering scalable, resilient, and cloud-native solutions. We enable organizations to unlock real-time insights, drive operational efficiency, and achieve competitive advantage in today’s dynamic business landscape.
For more information, contact us at marketing@hexaware.com.
About the Author
Joy Maitra
With over 15 years of experience in IT, Joy Maitra has a strong foundation in data warehousing. His expertise has evolved into the rapidly growing field of Generative AI, where he now focuses on innovative solutions to deliver transformative business outcomes. His diverse background enables him to bridge the gap between traditional data architectures and next-gen AI-driven solutions.
Read more
Every outcome starts with a conversation