Event-driven architectures at scale: Manage millions of events (API307)

Here is a detailed summary of the video transcription in Markdown format:

Event-Driven Architecture at Scale: Managing Millions of Events

Introduction

  • Eric Johnson and Brian Zbrano, both passionate about Event-Driven Architecture (EDA), are excited to share their expertise on managing EDA at scale.
  • They will cover the following topics:
    • What is scale in the context of EDA?
    • Defining EDA and understanding event schemas.
    • Enforcing and evolving event schemas.
    • Event schema management and discoverability.
    • Observability in EDA.

What is Scale?

  • Scale is not just about handling high traffic. It also involves managing the architecture and teams behind the EDA.
  • Successful EDA applications do not look like a monolithic architecture, but rather a decoupled architecture with multiple teams across the world.
  • The key focus of this talk is the health and management of the events, which are critical to the success of an EDA application.

Defining Event-Driven Architecture (EDA)

  • EDA is about something happening and reacting to it.
  • Events are signals that something has changed, they are immutable, and they represent a contract between producers and consumers.
  • Event schemas define the structure of the events and are crucial for maintaining the contract between producers and consumers.

Enforcing and Evolving Event Schemas

  • Introducing schema validation is important to avoid breaking consumers when producers make changes.
  • There are three main approaches to handle this:
    1. Producer-side validation: Producers validate the schema before publishing events.
    2. Broker-side enforcement: The event broker acts as a traffic cop, validating the schema and rejecting invalid events.
    3. Consumer-side validation: Consumers validate the schema upon receiving events.
  • Versioning and evolving event schemas is essential. Producers can use a versioning scheme and publish multiple versions simultaneously to allow consumers to migrate.

Event Schema Management and Discoverability

  • Infrastructure governance: Providing deployable resources (e.g., AWS Service Catalog, Backstage) that enforce the event structure.
  • Schema discovery: Tools like AWS EventBridge Schema Registry, AsyncAPI, and Event Catalog can help document, version, and make event schemas discoverable.

Observability

  • Monitoring the health of the producer, consumer, broker, and the overall system is crucial in a distributed EDA.
  • For EventBridge, you can monitor metrics like invocation attempts, successful invocations, retries, and latency.
  • Consumers can publish their own events to indicate issues, which producers can then monitor and act upon.

Takeaways

  1. Build with EDA to reduce coupling.
  2. Enforce event schemas to ensure contract between producers and consumers.
  3. Plan for event evolution and versioning.
  4. Start with observability in mind.

Resources

  • QR code and short link to resources
  • Upcoming AWS re:Invent sessions related to EDA

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

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.