Question

Difficulty: HardServerless and Web Application Hosting

An enterprise plans to migrate a legacy batch processing utility to Azure. The utility is currently packaged as a Linux container. The migrated workload must meet the following requirements:
- It must execute once a day, triggered by a message in an Azure Queue Storage queue.
- Each execution takes between 25 and 45 minutes to complete.
- It must securely access an Azure SQL Database that is restricted to a private endpoint within a virtual network.
- To minimize costs, no compute charges must be incurred when the utility is idle.
- Administrative and infrastructure management overhead must be minimized.

Which Azure compute solution should you recommend?

  1. An Azure Container Apps job deployed in a custom virtual networkAnswer
  2. B
    An Azure Function app deployed to a Consumption plan
  3. C
    An Azure Function app deployed to a Premium plan
  4. D
    An Azure Kubernetes Service (AKS) cluster utilizing virtual nodes

Answer

An Azure Container Apps job deployed in a custom virtual network
The correct answer is the solution specifying Azure Container Apps jobs. Azure Container Apps jobs are purpose-built for executing containerized tasks that run to completion. They support long-running processes (exceeding the 10-minute serverless function limit), can be triggered by queue messages, support virtual network integration to secure connection to the database private endpoint, and scale down to zero instances when idle, ensuring no compute costs are incurred. This serverless container offering also requires very low administrative overhead.

Step-by-Step Solution

1
Analyze the execution duration requirement of 25 to 45 minutes.
Azure Functions on a Consumption plan is ruled out due to its maximum 10-minute timeout constraint.
Selecting a compute option that cannot accommodate the workload's execution duration will lead to task failures.
2
Evaluate the scaling and cost requirement to incur zero compute charges when idle.
Azure Functions on a Premium plan is ruled out because it requires a minimum of one active instance, which incurs baseline costs even when no tasks are running.
The solution must support scaling to absolute zero instance count to meet the zero-cost idle requirement.
3
Assess the administrative overhead and workload type.
Azure Container Apps jobs are selected over Azure Kubernetes Service because Container Apps jobs run containerized run-to-completion tasks with serverless management, avoiding the high operational overhead of maintaining an AKS cluster.
The scenario requires minimizing infrastructure management and operational overhead.

Key Concept

Selecting serverless compute hosting options based on execution duration, cost limits, container support, and virtual network connectivity constraints.
Rate this question