Question

Difficulty: MediumContainer-Based Workloads

An educational technology company is designing a system that automatically executes and grades programming assignments submitted by students.

The grading process has the following requirements:
* Each submission must run in an isolated, sandboxed container.
* The execution of a grading job takes between 2 and 15 minutes to complete.
* The system must dynamically scale the number of running containers based on the queue depth of an Azure Service Bus queue containing the submissions.
* To meet strict audit requirements for regional data sovereignty, student execution logs must be isolated within their respective geographic regions and not cross regional boundaries.
* The company wants to minimize the administrative effort required to manage infrastructure, container orchestration, and virtual machine nodes.

You need to design the compute and monitoring solution for the grading system.

Which solution should you recommend?

  1. Azure Container Apps jobs configured with event-driven scaling based on the Service Bus queue and separate Log Analytics workspaces in each region.Answer
  2. B
    An Azure Kubernetes Service (AKS) cluster with KEDA installed to manage pod scaling, using a single central Log Analytics workspace for all regions.
  3. C
    Azure Functions on a Consumption plan with a Service Bus trigger, configured to output logs to regional Log Analytics workspaces.
  4. D
    Azure Container Apps jobs configured with event-driven scaling based on the Service Bus queue, using a single central Log Analytics workspace to collect logs from all regions.

Answer

Azure Container Apps jobs configured with event-driven scaling based on the Service Bus queue and separate Log Analytics workspaces in each region.
The design utilizing Azure Container Apps jobs with separate regional Log Analytics workspaces is correct because Container Apps jobs run containerized tasks to completion, scale serverlessly based on event triggers (like Service Bus queue depth using KEDA) with zero virtual machine or cluster management overhead, and can handle execution times up to the container job configuration limit (which easily supports 15 minutes). Implementing separate regional Log Analytics workspaces ensures compliance with strict data sovereignty requirements by keeping student execution logs within their respective geographic regions.

Step-by-Step Solution

1
Evaluate the execution duration and scaling triggers for the workload.
The grading workload takes up to 15 minutes to run and needs to scale dynamically based on the message count of an Azure Service Bus queue.
This rules out Azure Functions on a Consumption plan, which is restricted to a maximum 10-minute timeout.
2
Compare container orchestration options against the administrative effort constraint.
Azure Container Apps jobs provide serverless execution of containerized tasks that run to completion with native KEDA queue-based scaling and no cluster management. Azure Kubernetes Service (AKS) requires node and cluster lifecycle management.
Choosing Azure Container Apps jobs satisfies the requirement to minimize infrastructure administration effort.
3
Evaluate logging configuration in relation to the regulatory audit requirements.
Separate regional Log Analytics workspaces keep execution logs isolated within their geographic boundaries, whereas a single central workspace aggregates data across regions.
Separate regional workspaces are required to satisfy the strict data sovereignty constraints.

Key Concept

Container-Based Workloads
Rate this question