AZ-305 Question 149
Select 2Your company is implementing a new data analytics pipeline for daily batch processing and real-time data ingestion. The daily batch job is resource-intensive but only runs for about two hours each day. The real-time data ingestion does not require heavy compute but must scale automatically while minimizing operational overhead. Which two Azure compute services should you recommend to best meet these workload requirements?
- A
Azure Virtual Machine Scale Sets for both workloads
- B
Azure Batch for the daily job and Azure Functions for real-time ingestion
- C
Azure Kubernetes Service for both workloads
- D
Azure VM hosting an HPC cluster for the daily job and Azure App Service for real-time ingestion
- E
Azure Batch for the daily job and Azure Container Instances for real-time ingestion
Show answer and explanation
Correct answers: B, E
Explanation
Azure Batch is well-suited for periodic, high-compute workloads since it automatically manages compute nodes. For real-time or event-driven ingestion, serverless or container-on-demand services offer minimal overhead and cost efficiency. Pairing Azure Batch with Azure Functions or Azure Container Instances aligns with best practices outlined in Microsoft Docs (https://docs.microsoft.com/azure/batch/ and https://docs.microsoft.com/azure/azure-functions/). Both combinations (#2 and #5) address the daily burst of intensive processing and steady real-time ingestion requirements effectively.
- A. Incorrect.
Option 1: Azure Virtual Machine Scale Sets can autoscale VMs, but you must manage the underlying OS and configurations. For short bursts of heavy processing, VMs might remain underutilized the rest of the day, and you carry higher management overhead compared to serverless or specialized batch solutions.
- B. Correct.
Option 2: Azure Batch provides a managed service for large-scale batch computing, ideal for a once-daily resource-intensive job, while Azure Functions is a serverless platform that can handle real-time or event-driven ingest with automatic scaling. This pairing is cost-effective and minimizes management overhead.
- C. Incorrect.
Option 3: Azure Kubernetes Service can handle both batch and real-time workloads, but you would be responsible for cluster management, scaling, and updates. This adds complexity and overhead, making it less ideal if your goal is minimal operational overhead for short-lived peak jobs.
- D. Incorrect.
Option 4: While an HPC cluster can handle demanding computing jobs, it is often more expensive and complex than Azure Batch for typical daily batch processing. Azure App Service can handle web and API workloads but is less suited to lightweight event-driven processes compared to serverless options like Azure Functions.
- E. Correct.
Option 5: Azure Batch remains a strong fit for the daily high-compute batch job, while Azure Container Instances can run containers on demand for real-time ingestion with no cluster management, making this pairing both cost-effective and operationally simple.