Azure Solutions Architecture · AZ-305 · Architecture Foundations · by Raushan Ranjan, MCT

When designing a cloud solution, one of the most fundamental decisions you'll make is choosing the right compute service. Azure offers a wide range of options, from raw virtual machines to fully managed serverless functions. Picking the right one isn't just about technical capability; it's about balancing control, scalability, cost, and operational overhead.

Choose a Compute Service

Think of it like running a restaurant. You can rent a kitchen and manage everything yourself, or you can use a fully equipped kitchen where you just show up to cook. You could even hire a catering company and simply provide the menu, never touching a pot or pan. Azure compute services follow this same spectrum. [Image of cloud computing service models]

  • VMs → you manage everything (kitchen + staff).
  • App Service → you just cook, Azure handles the kitchen.
  • Containers → portable food trucks.
  • Functions → ordering only when someone comes (serverless).
  • Logic Apps → recipe automation, no cooking needed.

Azure Virtual Machine (VM) Solutions

What: Raw IaaS compute where you control the OS, patching, scaling, and networking.

Analogy: Owning a full kitchen. You buy ovens, hire chefs, and do all the cleaning and maintenance. You have total control, but with high operational overhead.

When to use: For legacy applications, custom software, or workloads that require full control over the host environment.

Architectural Notes: Use Availability Sets/Zones to ensure high availability. Use Azure VM Scale Sets for auto-scaling. Govern with Policies to enforce naming and size restrictions.

Azure Batch Solutions

What: A managed service for running large-scale parallel batch jobs.

Analogy: A factory assembly line. You send thousands of parts (jobs), and the machines work in parallel to produce the final result.

When to use: For "embarrassingly parallel" workloads—tasks that can be run independently of one another, like simulations, data processing, or media rendering.

Architectural Notes: You only pay for the compute resources when they are actively running jobs, making it highly cost-effective. It integrates seamlessly with Azure Storage for input and output data.

Azure App Service

What: A fully managed Platform as a Service (PaaS) for hosting web apps, APIs, and mobile backends.

Analogy: Leasing a fully equipped restaurant kitchen. You just bring the recipes (your code) and cook. Azure handles the kitchen maintenance, equipment, and cleanliness.

When to use: For modern web applications built on languages like .NET, Java, Python, or PHP.

Architectural Notes: It supports built-in CI/CD with platforms like GitHub and Azure DevOps. Scaling can be manual, scheduled, or automatic based on real-time traffic. Integrate with Application Insights for comprehensive monitoring.

Azure Container Instances (ACI)

What: A service that allows you to run a single container directly on Azure without having to manage an underlying server or VM.

Analogy: Renting a food truck for an event. It's a quick, disposable, and portable way to serve a specific purpose without the overhead of building a whole restaurant.

When to use: For short-lived workloads, burst jobs, or when you need a quick, isolated test environment for a microservice.

Architectural Notes: ACI is billed by the second, making it very cost-effective for short tasks. It's not designed for large-scale, long-running containerized applications, for which you should use AKS.

Azure Kubernetes Service (AKS)

What: A managed Kubernetes orchestration platform for managing containerized applications at scale.

Analogy: Owning a fleet of food trucks. You need a centralized orchestrator (Kubernetes) to manage which truck goes where, handle orders, load-balancing, and scaling across the entire fleet.

When to use: For enterprise-grade container management, microservices architectures, and large-scale, multi-environment deployments.

Architectural Notes: Azure manages the Kubernetes control plane, so you only have to worry about your applications and their configurations. It includes built-in features for monitoring, scaling, and upgrades.

Azure Functions

What: A serverless compute service for event-driven tasks. Your code runs only when triggered and you only pay for the execution time.

Analogy: A vending machine. It sits idle until a customer puts money in, then it instantly dispenses the product. There's no cost to have it just sitting there waiting for a customer.

When to use: For lightweight logic, APIs, IoT event processing, or scheduled jobs.

Architectural Notes: Billing is based on execution, which makes it extremely cost-effective for tasks that run intermittently. It supports a wide variety of triggers, from HTTP requests to timer events.

Azure Logic Apps

What: A serverless workflow automation service that uses a visual designer.

Analogy: A universal remote control. Instead of building a whole system from scratch, you orchestrate—"When an email arrives, send a Teams alert, and update the SharePoint record."

When to use: For integrating systems, automating business processes, or creating complex workflows that require little to no code.

Architectural Notes: It's best for integration-heavy use cases and boasts over 400 built-in connectors to various services. Like Functions, it's a pay-per-execution model.

---

Decision-Making as an Architect

Choosing the right compute service is less about finding a single solution and more about knowing your options. When faced with a new project, ask yourself:

  • How much control do I need? (VMs vs. App Service vs. Functions)
  • What is the workload type? (Web app, batch job, microservice, or event-driven task)
  • What are the scalability & lifecycle requirements? (Is it a short-lived task like ACI or a long-running, scalable app like AKS?)
  • What is the balance between cost and operational overhead? (Serverless is often the most cost-effective, while VMs have the highest management cost.)

By starting with these questions, you can navigate the wide world of Azure compute and build a solution that is perfectly tailored to your needs.