Azure Components Overview
Get an overview of Azure components that are used in EDA.
We'll cover the following
EDA with Azure
In Azure, an Event-Driven system can be built with the following components:
Event Grid
The Event Grid is a key component that acts as the main event processor. It contains:
- Topic: This represents the Azure component that generates events (Event Producer/Publisher).
- Endpoint: At is an Azure resource that handles the event (Event Subscriber).
The relation between publisher components, events, topic, and subscribers/endpoints is shown in the diagram below.
The event grid contains the following logic:
- Dead Letter Queue and retry policy. These should be configured to handle cases when the message is not able to reach an Endpoint.
- Event filtering is the rule which allows the event grid to deliver specific event types to the endpoint. For example: when a new VM is created in the topic container (resource group, subscription, etc.), the event will be caught and delivered to the endpoint (service bus queue, storage queue, etc.).
You can see the Event Grid (EG) configured on the image below.
Queue
The queue is used as the main event storage. It is based on the First-In-First-Out principle of data structures. When an Event Grid generates an Event, it will be put into a queue, then, another component can retrieve it. You can think of this process as you standing in a queue while paying for your groceries.
Azure Function
Functions are used as microservice. They also contain the logic to validate if:
- Required resources exist
- Artifacts and software are installed correctly
- Connection between components is functional
Each function may contain a database for storing configuration or state management. After a rather high-level architecture description, we will provide more details in the upcoming lessons.