AZ-305 Question 164
Select 2A manufacturing company needs to process large volumes of sensor data each night on a flexible, cost-effective compute platform. The processing workload can be containerized and requires up to 5,000 parallel tasks. They want to reduce overhead in managing the environment while ensuring adequate scalability. Which two Azure compute solutions would you recommend for their batch processing environment?
- A
Use Azure Batch with auto-scaling container pools to handle ephemeral tasks.
- B
Deploy an always-running HPC cluster in Azure Virtual Machines with manual provisioning.
- C
Implement Azure Kubernetes Service (AKS) with the cluster autoscaler for container-based workloads.
- D
Use Azure Functions in the Consumption plan to run prolonged HPC tasks.
Show answer and explanation
Correct answers: A, C
Explanation
Both Azure Batch and Azure Kubernetes Service (AKS) with cluster autoscaler can handle large-scale, parallel, and containerized batch workloads. Azure Batch offers a specialized environment for batch scheduling and compute resource management with minimal overhead, while AKS provides more control over container orchestration and scaling. Maintaining a manual HPC cluster can become costly and complex, and Azure Functions in the Consumption plan is best suited for smaller, short-lived tasks, not large parallel batch jobs. For more information, see the official documentation on Azure Batch (https://learn.microsoft.com/azure/batch/) and Azure Kubernetes Service (https://learn.microsoft.com/azure/aks/).
- A. Correct.
Option 1: CORRECT. Azure Batch is designed for large-scale batch processing. The auto-scaling container pool feature allows you to spin up and tear down VMs as needed, keeping costs optimized and operational overhead minimal. It is well-suited for workloads that can be broken up into discrete tasks and run in parallel.
- B. Incorrect.
Option 2: INCORRECT. Maintaining an always-running HPC cluster in Azure VMs for batch processing often leads to higher costs and requires more management overhead. Although manual scaling is possible, it doesn't address their desire to minimize ongoing administration or automatically handle large spikes in workload.
- C. Correct.
Option 3: CORRECT. Azure Kubernetes Service (AKS) with cluster autoscaler can dynamically provision and deprovision nodes based on demand. This is beneficial for containerized workloads that spike and then drop off, as it balances cost efficiency and performance. However, it typically requires more configuration compared to Azure Batch but remains a valid solution.
- D. Incorrect.
Option 4: INCORRECT. Azure Functions in the Consumption plan is excellent for event-driven or micro-batch scenarios. However, it is not ideal for handling very large jobs or HPC-like tasks that involve thousands of parallel, prolonged computations, because Functions have execution time limits and may incur complexity when dealing with such large-scale workloads.