5.1.1. Design a Compute Solution
š” First Principle: Selecting the optimal compute service requires a thorough evaluation of workload characteristics against the operational models, scalability patterns, and cost structures of available IaaS, PaaS, container, and serverless options.
Scenario: You are designing the compute layer for a new enterprise application. This involves determining the best hosting solution for a legacy component requiring full OS control, a new web API that needs auto-scaling, and event-driven background tasks.
A compute solution refers to the choice of Azure services and configurations used to host and execute your application code.
This task delves into the practical application of Azure's compute services. You'll explore how to:
- Design for Azure Virtual Machines (VMs): Implementing IaaS for full control over the operating system.
- Design for Azure App Service: Providing a fully managed PaaS for web apps and APIs.
- Design for Azure Kubernetes Service (AKS): Managing containerized applications at scale.
- Design for Azure Functions: Implementing serverless, event-driven compute.
Mastering these concepts is crucial for the AZ-305 exam, as it assesses your ability to analyze, evaluate, and create comprehensive compute designs.
ā ļø Common Pitfall: Defaulting to a familiar compute service (like VMs) without evaluating if a more modern, managed, or serverless option would be a better fit, potentially leading to higher costs and operational burden.
Key Trade-Offs:
- Control vs. Cost/Simplicity: More control (IaaS) generally means more management responsibility and potentially higher TCO. Less control (Serverless) means less management and often lower costs for variable workloads.
Reflection Question: How do the characteristics of your application (e.g., stateless vs. stateful, event-driven, containerized, custom OS needs) fundamentally influence your choice of Azure compute service for optimal performance, scalability, and cost-effectiveness?