Skip to main content
  1. Home
  2. >
  3. Azure
  4. >
  5. AZ-305
  6. >
  7. This article

Azure AZ-305 Drill: Event-Driven Architecture - Capturing User Actions at Scale

Jeff Taakey
Author
Jeff Taakey
21+ Year Enterprise Architect | Multi-Cloud Architect & Strategist.
Jeff's Architecture Insights
Go beyond static exam dumps. Jeff’s Insights is engineered to cultivate the mindset of a Production-Ready Architect. We move past ‘correct answers’ to dissect the strategic trade-offs and multi-cloud patterns required to balance reliability, security, and TCO in mission-critical environments.

While preparing for the AZ-305: Designing Microsoft Azure Infrastructure Solutions certification, many candidates struggle with designing effective event-driven architectures that meet enterprise scalability and governance requirements. In the enterprise world, the decision often hinges on balancing real-time event ingestion with reliable processing and secure data persistence. Let’s drill into a simulated enterprise scenario.

The Scenario
#

Tailspin Travel, a global travel agency, is redesigning its internal employee and customer management platform to better capture real-time user creation events and role assignments. Tailspin Travel wants a cloud-native, scalable solution that captures these events reliably and stores them in a globally distributed, low-latency NoSQL database. The solution must align with Tailspin Travel’s governance policies, ensure near-immediate data availability, and be easily extensible to hybrid environments via Azure Arc in the future.

Key Requirements
#

Design an architecture that captures user creation and role assignment events and stores the captured data in Azure Cosmos DB. You must identify the two core Azure services best suited for event ingestion and reliable processing.

The Options:
#

  • A) Azure Event Grid
  • B) Azure Event Hubs
  • C) Azure Functions
  • D) Azure Logic Apps
  • E) Azure Data Factory
  • F) Azure Stream Analytics

Correct Answer
#

A) Azure Event Grid
C) Azure Functions


The Architect’s Analysis
#

Correct Answer
#

Option A (Azure Event Grid) and Option C (Azure Functions).

Step-by-Step Winning Logic
#

Azure Event Grid is a fully managed event routing service ideal for building event-based architectures. It allows publishing and subscribing to events from multiple sources, supporting near real-time routing with high reliability and low latency. Event Grid natively integrates with Azure Cosmos DB through event handlers for downstream processing.

Azure Functions serve as the event handler compute, transforming and enriching event data before writing it to Cosmos DB. Functions provide a serverless, scalable compute option, reducing operational overhead, automating scaling, and integrating securely via managed identities and VNET integration.

This combination aligns with Microsoft’s Well-Architected Framework (WAF):

  • Reliability: Guaranteed event delivery with retry policies and dead-lettering.
  • Security: Supports RBAC and private endpoints.
  • Performance Efficiency: Event-driven scaling ensures processing capacity matches event volume.
  • Operational Excellence: Serverless reduces management overhead; integration with monitoring tools.
  • Cost Optimization: Pay-per-use compute and event routing reduce idle resource costs.

The Traps (Distractor Analysis)
#

  • Why not Option B (Azure Event Hubs)?
    Event Hubs is a big data streaming platform meant for telemetry ingestion at scale, not primarily for event routing or lightweight event handling; it may introduce unnecessary complexity and cost.

  • Why not Option D (Azure Logic Apps)?
    Logic Apps are great for workflow automation across SaaS and on-premises but add latency and cost for high-frequency event processing compared to Functions.

  • Why not Option E (Azure Data Factory)?
    Data Factory is designed for batch data orchestration rather than real-time event capture.

  • Why not Option F (Azure Stream Analytics)?
    Stream Analytics analyzes high throughput streaming data but may be overkill for discrete user creation events.

The Architect Blueprint
#

Mermaid Diagram illustrating event flow between core services

graph TD UserActions([User Actions Trigger]) --> EventGrid[Azure Event Grid] EventGrid --> Func[Azure Functions] Func --> CosmosDB[Azure Cosmos DB] style EventGrid fill:#0078D4,stroke:#333,color:#fff style Func fill:#68217A,stroke:#333,color:#fff style CosmosDB fill:#FF6F00,stroke:#333,color:#fff

Diagram Note:
User creation and role assignment events are published to Event Grid, which routes events to Azure Functions for processing and subsequent persistence into Cosmos DB.

The Decision Matrix
#

Option Est. Complexity Est. Monthly Cost Pros Cons
Azure Event Grid Low Low-Medium Near real-time event routing, scalable, secure Limited built-in processing (needs Functions)
Azure Event Hubs Medium Medium-High High throughput for telemetry, big data Over-engineered for simple event routing
Azure Functions Moderate Low-Medium (Consumption Plan) Serverless, scalable compute for event handling Cold starts in consumption plan (mitigations exist)
Azure Logic Apps Moderate Medium-High Easy integration with SaaS and APIs Higher latency and cost per execution
Azure Data Factory High Medium-High Batch data orchestration Not suitable for real-time event handling
Azure Stream Analytics High High Real-time stream processing Complex setup, costly for simple event capture

Real-World Practitioner Insight
#

Exam Rule
#

For the exam, always pick Azure Event Grid when you see “event routing” or “event notification”, especially if paired with serverless processing like Azure Functions for event handling.

Real World
#

In a hybrid scenario, integrating Event Grid with Azure Arc-enabled services allows Tailspin Travel to extend event-driven architectures to on-premises or multi-cloud environments, fulfilling data residency and hybrid governance requirements seamlessly.

Weekly Azure AZ-305 Drills: Architect Solutions

Design identity, governance, and monitoring solutions. Master Azure infrastructure and data storage.