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.

Publisher, Topic, and Subscriber Components
Publisher, Topic, and Subscriber Components

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.

Event Grid with Metrics, Filters and Features
Event Grid with Metrics, Filters and Features

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.

Queue. First-In-First-Out Principle.
Queue. First-In-First-Out Principle.

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.