Event-Driven Architecture Workshop

In the digital transformation strategies of companies, Serverless technologies, Event-Driven Architectures (EDA) and data capture patterns (Change Data Capture) are gaining more strength every day.

Within this scenario, Red Hat OpenShift Serverless, Red Hat AMQ Streams, Red Hat Integration, Red Hat Data Grid, and Red Hat build of Quarkus, offer companies significant cost savings and multiple operational benefits by shifting infrastructure and provisioning responsibilities to the different frameworks. This enables you to solve problems quickly, at scale, and with high availability.

This repository includes a practical business example so that we can adopt modern and agile application designs and implementations (containers, Serverless, streaming, etc.).

The logical architecture diagram of this use case is:

Event-Driven Logical Architecture

At the end of the instructions you will have deployed a full Event-Driven Architecture with the following deployment topology:

Event-Driven Physical Architecture

This file include the list of steps to deploy easily this use case for your learning and testing efforts about these amazing technologies and products.

Prepare OpenShift

This architecture has been tested in Red Hat OpenShift Container Platform 4.7 version.

As a normal user in your OpenShift cluster, create a eda-workshop namespace:

❯ oc login -u user
❯ oc new-project eda-workshop

Deploy Operators

Follow the instructions

Deploy Metrics Platform

Follow the instructions

Deploy Databases

Follow the instructions

Deploy Streaming Platform

Follow the instructions

Deploy Service Registry

Follow the instructions

Deploy KafkaConnect

Follow the instructions

Deploy DataGrid

Follow the instructions

Deploy Quarkus Business Application

Follow the instructions

Publish Schemas API

Follow the instructions

Deploy Quarkus Streaming Application

Follow the instructions

Deploy Quarkus Backend Application

Follow the instructions

Deploy Quarkus Dashboard Application

Follow the instructions

Deploy Serverless Services

Follow the instructions

Deploy Native Serverless Services

Follow the instructions