Courseiva
Develop Azure compute solutionsmediumMultiple ChoiceObjective-mapped

AZ-204 Develop Azure compute solutions Practice Question

You are developing a solution that processes orders from an e-commerce website. The order processing logic is CPU-intensive and can take up to 30 seconds per order. You need to ensure that the web front-end remains responsive and that orders are processed reliably. What should you use?

⚠ Common exam trap

Watch out — candidates often choose Azure Service Bus Queues (Option C) because they assume 'reliable' messaging requires a premium service, but Azure Queue Storage is fully reliable for this scenario and simpler/cheaper, while sessions are a red herring for unordered processing.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Add orders to Azure Queue Storage and process them using a background worker role.

Azure Queue Storage provides a reliable, asynchronous message-passing mechanism that decouples the CPU-intensive order processing from the web front-end. By adding orders to a queue and processing them with a background worker (e.g., a WebJob or Worker Role), the web front-end remains responsive, and the queue ensures at-least-once delivery and durability, even if the worker fails or restarts.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Use Azure WebJobs to process orders in the same App Service plan.

    Why it's wrong here

    Azure WebJobs execute within the context of an existing App Service plan, often sharing resources and the same process as the primary web application. While suitable for lightweight, non-critical background tasks, processing orders directly in the same plan can consume CPU, memory, and network resources, potentially impacting the responsiveness and performance of the front-end application under heavy load. This tight coupling prevents independent scaling and resource isolation, making it an unsuitable solution for robust, decoupled order processing.

  • Add orders to Azure Queue Storage and process them using a background worker role.

    Why this is correct

    This approach leverages Azure Queue Storage as a robust, asynchronous message broker, effectively decoupling the order submission front-end from the actual processing logic. When an order is placed, the front-end quickly adds a message to the queue, ensuring immediate responsiveness to the user. A separate background worker role, which could be an Azure Function, a VM, or a containerized application, then independently retrieves and processes these messages at its own pace, providing fault tolerance and allowing for independent scaling of the processing component. This design enhances system reliability and user experience by preventing processing delays from affecting the interactive application.

  • Use Azure Service Bus Queues with sessions for order processing.

    Why it's wrong here

    Azure Service Bus Queues offer advanced messaging capabilities like message ordering, dead-lettering, and transactional support, which are often not required for basic, independent order processing. While Service Bus provides robust decoupling, utilizing sessions specifically introduces additional complexity for managing message groups and state, which is typically unnecessary unless strict in-order processing of related messages is a critical requirement. For simple asynchronous order processing, the higher cost and increased operational overhead of Service Bus, particularly with sessions, make it an over-engineered solution compared to simpler queueing mechanisms.

  • Use Azure Functions with Durable Functions to manage order processing state.

    Why it's wrong here

    Azure Durable Functions are designed for orchestrating complex, stateful workflows and long-running operations, allowing developers to write stateful functions in a serverless environment. While powerful for scenarios requiring sequential steps, error handling, and explicit state management across multiple function calls, they introduce significant complexity and overhead for a straightforward asynchronous order processing task. For simply placing an order into a queue and having a worker process it, the advanced orchestration and state management features of Durable Functions are unnecessary, leading to increased development effort, debugging complexity, and higher operational costs without providing proportional benefit.

Visual reference

Client Server SYN (seq=100) SYN-ACK (seq=200, ack=101) ACK (ack=201) Connection established — data transfer begins

About these practice questions

One of 881 original AZ-204 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This AZ-204 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-204 exam.