AZ-305: Microsoft Azure Solutions Architect Expert
Design a compute solution
Choose a compute solution
In this article, we review the available compute solutions in Azure and explore a decision flowchart that guides you in selecting the right service for your application. We discuss common Azure offerings such as Virtual Machines, App Services, Azure Batch, Container Instances, Kubernetes Service, Azure Functions, and Logic Apps. Most of these services align with those covered in the AZ-104: Microsoft Azure Administrator exam, with the exception of Azure Batch, Functions, and Logic Apps.
This guide is essential for anyone looking to identify the best compute solution based on their application requirements. Let’s walk through the decision process step by step.
Understanding the Flowchart
We start by determining whether you are migrating an existing application or building a new one. For the purpose of this discussion, assume you are migrating an existing application.
Step 1: Migration Type
The first decision focuses on whether you want to perform a lift-and-shift migration. A lift-and-shift migration moves your on-premises application to the cloud with minimal changes. The next consideration is whether your application can be containerized.
If the application can be containerized:
- Without the need for orchestration:
Choose Container Instances when you are managing a single container. - With the need for orchestration:
Opt for Azure Kubernetes Service (AKS) to efficiently manage containers at scale.
- Without the need for orchestration:
If the application cannot be containerized:
You have two primary options:- Virtual Machines: Select this option if you require granular control over the operating system and dependencies.
- App Service: Choose this managed service if you prefer not to manage the underlying infrastructure.
Step 2: Cloud-Optimized Migration
For organizations looking to optimize their application for the cloud—by leveraging Azure’s Platform as a Service (PaaS) offerings—the decision process involves additional key questions:
Is your workload High Performance Compute (HPC) oriented?
- For tasks such as video rendering, select Azure Batch.
Does your application use a microservices architecture?
- If not:
Host the workload on Azure App Service. - If yes:
Determine whether your architecture is event-driven:- Event-driven architecture:
You have two choices—Azure Functions or Logic Apps. Each has its specific use cases, which we will explore in upcoming chapters. - Not event-driven:
Reassess containerization:- If container orchestration is required:
Use Azure Kubernetes Service (AKS). - Otherwise:
Opt for Container Instances.
- If container orchestration is required:
- Event-driven architecture:
- If not:
Flowchart Overview
The flowchart below is designed to visually represent these decision points, simplifying the process of choosing the right compute solution based on application needs.
This diagram serves as a valuable starting point for navigating compute options within the Azure ecosystem.
Next Steps
In the upcoming sections, we will dive deeper into designing solutions tailored to the compute service you choose. For example:
- App Service: We will discuss best practices and design considerations to ensure optimal performance and scalability.
- Kubernetes: Detailed guidelines will be provided on designing and managing Azure Kubernetes Service (AKS).
We will begin by focusing on design factors for Virtual Machines, discussing critical aspects of deploying and hosting your application on a Virtual Machine.
Stay tuned for the next chapter as we explore the design considerations for Virtual Machines in detail.
Watch Video
Watch video content