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.