Skip to content

AZ-305 Compute solutions

AZ-305 Azure Solutions Architect Expert

Azure Recommendations for Compute Solutions

Below are the recommended Azure solutions for compute as aligned with the AZ-305 exam objectives.


Design Compute Solutions in Azure

1. Specify Components of a Compute Solution Based on Workload Requirements

Evaluate workload needs across these dimensions:

  • Scalability: Horizontal (scale-out) vs. vertical (scale-up).
  • Performance: CPU/memory/GPU requirements, latency sensitivity.
  • Cost: Pay-as-you-go vs. reserved instances, spot pricing for batch jobs.
  • Management Overhead: Fully managed (PaaS) vs. self-managed (IaaS).
  • Compliance: Dedicated hardware (Azure Dedicated Hosts) or isolated containers.

Key Components:

  • Compute Service (VMs, containers, serverless).
  • Orchestration (VM Scale Sets, Kubernetes).
  • Networking (load balancers, VNet integration).
  • Storage (managed disks, Blob Storage).
  • Monitoring/Logging (Azure Monitor, Log Analytics).

2. Recommend a Virtual Machine-Based Solution

Azure Virtual Machine Scale Sets (VMSS) is optimal for most VM workloads:

  • Auto-scaling: Adjust VM count based on CPU/memory metrics12.
  • High Availability: Distribute VMs across Availability Zones (99.99% SLA)23.
  • Heterogeneous Workloads: Mix VM sizes in a single scale set2.
  • Use Cases:
    • Stateful apps (e.g., databases) with uniform orchestration.
    • Lift-and-shift legacy apps requiring full OS control.

Alternatives:

  • Azure Dedicated Hosts: For regulatory compliance or legacy licensing34.
  • Single VMs: Low-traffic apps with static resource needs.

3. Recommend a Container-Based Solution

ScenarioRecommendationKey Features
Advanced OrchestrationAzure Kubernetes Service (AKS)Full Kubernetes API access, auto-scaling pods/nodes, integrates with Azure AD and monitoring56.
Serverless ContainersAzure Container AppsNo infrastructure management, auto-scaling to zero, Dapr integration for microservices56.
Burst/Short-Lived TasksAzure Container Instances (ACI)Launch containers in seconds, hypervisor isolation, cost-effective for sporadic workloads74.

Best Practices:

  • Use AKS for complex microservices requiring custom networking/storage.
  • Prefer Container Apps for event-driven APIs or background jobs6.

4. Recommend a Serverless-Based Solution

Azure Functions:

  • Event-Driven Workloads: HTTP triggers, timer-based jobs, or IoT telemetry processing83.
  • Cost Optimization: Pay per execution (millisecond billing), scale to zero during inactivity86.
  • Integration: Connect to Azure Event Grid, Cosmos DB, or Blob Storage8.

Azure Logic Apps:

  • Workflow Automation: Low-code/no-code integration with SaaS apps (e.g., Salesforce, SharePoint)8.

Limitations:

  • Avoid for long-running processes (>10 minutes) or high-memory apps6.

5. Recommend a Compute Solution for Batch Processing

Azure Batch:

  • Parallel Jobs: Process large datasets (e.g., financial simulations, media transcoding) with auto-scaling pools94.
  • Hybrid Bursting: Combine with ACI for on-demand compute during peak loads79.
  • Cost Savings: Use low-priority VMs for fault-tolerant workloads9.

Use Cases:

  • Genomics analysis, Monte Carlo risk modeling, 3D rendering9.

Decision Table: Compute Solutions

Workload TypeRecommendationScalabilityManagementCost Efficiency
Legacy AppsVM Scale SetsHigh (1,000 nodes)ModerateMedium (reserved instances)
MicroservicesAKS/Container AppsHigh (K8s pods)Low (PaaS)High (serverless containers)
Event-DrivenAzure FunctionsAutomaticFully managedPay-per-use
Batch/HPCAzure Batch + ACIMassive parallelModerateHigh (spot instances)

Key Considerations

  • Stateless Workloads: Prefer serverless or containers for faster scaling58.
  • Compliance: Use Dedicated Hosts or isolated containers for regulatory needs34.
  • Cost Control: Apply Azure Policy to enforce VM size limits and tag-based governance10.

By aligning these recommendations with workload requirements, you optimize performance, cost, and operational efficiency in Azure.


Summarised with Perplexity.

Footnotes

  1. https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree
  2. https://azure.microsoft.com/en-gb/products/virtual-machine-scale-sets 2 3
  3. https://k21academy.com/microsoft-azure/az-104/understanding-azure-compute-services/ 2 3 4
  4. https://www.alifconsulting.com/post/azure-compute-service 2 3 4
  5. https://learn.microsoft.com/en-us/azure/architecture/guide/choose-azure-container-service 2 3
  6. https://cast.ai/blog/azure-containers-services-pricing-and-feature-comparison/ 2 3 4 5
  7. https://azure.microsoft.com/en-gb/products/container-instances 2
  8. https://azure.microsoft.com/en-us/solutions/serverless 2 3 4 5
  9. https://learn.microsoft.com/en-us/azure/batch/batch-technical-overview 2 3 4
  10. https://learn.microsoft.com/en-us/azure/well-architected/performance-efficiency/select-services

If you want to get in touch and hear more about this topic, feel free to contact me on or via .

© 2026 Andrei Bodea

Privacy policy

Privacy Policy

Last Updated: 2026-08-11

Thank you for visiting Compiled Thoughts (the “Blog”). We value your privacy and want to clarify how we handle any information you may provide or that may be collected when you visit this Blog. By accessing or using the Blog, you agree to the terms of this Privacy Policy.

1. Information We Do Not Collect

  • No Analytics or Tracking — We do not run analytics software, tracking pixels, session recording, or any other tool intended to profile visitors or follow them across sites.

  • No Advertisements — Our Blog does not display third-party advertisements and, therefore, does not collect data for advertising or marketing purposes.

  • No Reader Accounts or Subscriptions — Readers cannot create an account or subscribe, so we do not collect or store reader account data. Sign-in exists only for the Blog’s own author, in order to publish content.

  • No Cookies Set By Us — We do not set cookies of our own for any purpose. Please see Section 2 for the third-party services your browser contacts when you visit.

2. Third-Party Services and Automatic Data Collection

The Blog is a static site with no database of readers. However, displaying a page does require your browser to make requests to the services listed below. Those services necessarily receive your IP address, your browser’s user agent, and the address of the page you requested. This happens automatically when you visit, and we ask that you take it into account when reading Section 1.

  • Web Hosting, Netlify — The Blog is hosted by Netlify, which serves every page and may retain standard server logs, including IP addresses, for operational and security purposes.

  • Typefaces, Google Fonts — Every page loads fonts from fonts.googleapis.com and fonts.gstatic.com. As a result, Google receives your IP address and user agent when you visit. We do not use Google Analytics or any other Google advertising or measurement product.

  • Netlify Identity — The home page loads a login widget from identity.netlify.com. It exists solely so the author can sign in to publish, it offers nothing to ordinary readers, and it is not used to identify you. Your browser requests it regardless, and the widget may use your browser’s local storage to hold a sign-in session.

We do not control what these providers log or how long they retain it. Please consult their own privacy policies if that matters to you.

3. Voluntary Information

If you choose to contact us directly (for example, through an email link or contact form, if provided), we may receive personal information such as your name or email address. In such cases:

  • We will use this information solely to respond to your inquiry.

4. No Third-Party Data Sharing

Beyond the automatic requests described in Section 2, we do not share, sell, rent, or otherwise disclose personal information to third parties, because we do not collect or store any personal information about readers. In the event you voluntarily submit personal data (e.g., via direct email), we do not disclose that to any external entity.

5. Children’s Privacy

Our Blog does not target or direct content specifically to children under the age of 13. We do not knowingly collect or maintain personal information from children under 13. If you believe we may have inadvertently received personal information from a child under 13, please contact us immediately so we can delete such information.

6. External Links

Our Blog may contain links to external websites about programming, interviewing, music, books, psychology, or other related content. We are not responsible for the content, privacy policies, or practices of any third-party sites. We encourage you to review the privacy policies of those websites before interacting with them or providing any personal information.

7. Security

Although we do not collect or store personal data on our servers, we still endeavor to use reasonable security measures to protect the Blog’s integrity. However, no data transmission or storage system can be guaranteed to be 100% secure. Your use of the Blog indicates you understand and accept any inherent risks.

8. Changes to This Privacy Policy

We may update or modify this Privacy Policy from time to time to reflect changes in our practices or for other operational, legal, or regulatory reasons. If we make any material changes, we will update the “Last Updated” date at the top of this document. Your continued use of the Blog after any changes signifies your acceptance of the revised Privacy Policy.

9. Contact Us

If you have any questions or concerns about this Privacy Policy, please reach out using the email address in the header of the page.

By using Compiled Thoughts, you acknowledge that you have read, understood, and agree to this Privacy Policy.