Which architecture style fits your workload?

Anuradha
August 18, 2026 12 mins to read
Which Architecture Style Fits Your Workload? – Cloud Diary

CLOUD DIARY

AZURE Β· ARCHITECTURE Β· 2026

#Azure #LandingZone #Migration #AppService #CloudArchitecture

Which architecture style
fits your workload?

Assessment is done, the landing zone is ready, and someone asks the real question: what shape should this workload actually take in Azure?

There are six answers that cover almost everything we deploy. Each one comes with its own diagram, its own Azure services, and its own bill. Here's how to tell them apart, and how to pick without a three-meeting debate.

✍️ Anuradha · short on time? The picker near the bottom gets you to an answer in about 30 seconds.

πŸ“ What a "style" actually decides for you

A style is not a product and not a reference architecture. It's a small set of rules about which building blocks the workload gets, and how they're allowed to talk to each other.

That sounds abstract until you notice how much it drives downstream. The style decides your subnet layout, whether you need private endpoints or a message broker, how many pipelines you maintain, what your on-call looks like, and where the cost lands. Pick it early β€” changing it after go-live is expensive.

The useful part: there are only six shapes worth knowing, and most workloads announce which one they are within a few questions.

πŸ₯ž N-tier

the one you'll meet on almost every migration

complexity
release speed

Layers stacked on top of each other: web, business logic, data. Each layer only calls the layer below it. This is what most on-premises line-of-business apps already are, which is exactly why it dominates lift-and-shift work.

ClientWeb appfirewallApp Gateway WAFWeb tierApp ServiceMiddle tier 1App ServiceMessagingService BusMiddle tier 2FunctionsCacheRedisRemote serviceData tierAzure SQLeach tier only calls the tier below it β€” never upwards

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

A three-tier app on VMware moves to Azure. Web servers become App Service or VMs behind Application Gateway, the app tier keeps its own subnet, the database becomes Azure SQL. The shape doesn't change β€” only the hosting does.

What it means for the landing zone

Maps cleanly onto a spoke VNet with a subnet per tier and NSGs between them. Easiest style to explain to a security team, because the tiers are also network boundaries.

βœ“ existing layered apps moving to Azureβœ“ clear network segmentation per tierβœ“ teams new to cloud β€” familiar shape ! one change often touches every layer! slow release cycles! tiers scale together, so you overpay at the edges

🎫 Web-Queue-Worker

the PaaS default for a modernised app

complexity
release speed

A web front end answers users fast. Anything slow β€” reports, image processing, batch emails β€” goes onto a queue, and a worker picks it up in the background. Front end and worker scale independently.

ClientIdentityproviderEntra IDWebfront endApp ServiceRemote serviceDatabaseAzure SQLQueueService BusWorkerFunctionsCacheRedisStatic contentBlob StorageContent delivery networkFront Door / CDN

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

The classic 'modernise while you migrate' target. You move an app to App Service, then pull the heavy jobs out of the request path into Functions so the site stops timing out under load.

What it means for the landing zone

Mostly PaaS, so the landing zone work shifts from subnets to private endpoints, managed identity, and outbound control through Front Door or a firewall.

βœ“ a simple domain with a few heavy jobsβœ“ you want managed services, not VMsβœ“ unpredictable spikes in background work ! both halves can quietly grow into monoliths! queue depth needs its own alerting! duplicate messages must be handled

🧩 Microservices

powerful, and the easiest one to get wrong

complexity
release speed

The application is split by business capability into small services. Each one is deployed on its own and owns its own data. They talk through APIs and messaging β€” never by reaching into each other's database.

ObservabilityAzure Monitor Β· App InsightsClientsAPI gatewayAPI ManagementmicroservicesDomain serviceContainer AppsDomain serviceAKSCompositionserviceAKSServiceContainer Appsone database per serviceSQL databaseAzure SQLNoSQL databaseCosmos DBCacheRedisMessage-oriented middlewareService Bus Β· Event Gridpublish / subscribe

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

Usually a rebuild rather than a migration. It shows up when several teams need to release independently and the existing monolith has become the bottleneck.

What it means for the landing zone

This is where landing zone maturity gets tested: container platform, private DNS, service-to-service identity, centralised logging, and a real CI/CD pipeline per service.

βœ“ complex domain, several teamsβœ“ you need to release parts independentlyβœ“ failure of one capability must not stop the rest ! needs mature DevOps before it pays off! distributed data means eventual consistency! shared database = distributed monolith

πŸ“‘ Event-driven

when something happens, several things must react

complexity
release speed

Producers publish events. Consumers subscribe and react, in near real time, without knowing about each other. Adding a new consumer doesn't require touching the producer.

Event producersIoT Β· apps Β· devicesEvent ingestionEvent Hubs / GridEvent consumerAzure FunctionsEvent consumerStream AnalyticsEvent consumerLogic Apps / FabricServing layerCosmos DB Β· Power BIproducers never know who is listening

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

IoT platforms, telemetry pipelines, order and payment flows, anything where one action must trigger several downstream reactions.

What it means for the landing zone

Throughput and retention sizing matter more than subnets. Plan for private endpoints on Event Hubs, dead-letter handling, and who owns each consumer.

βœ“ IoT and device telemetryβœ“ real-time dashboards and alertingβœ“ you keep adding new reactions to the same event ! event order is not guaranteed! consumers must tolerate duplicates! harder to trace end to end without good instrumentation

πŸ—„οΈ Big data

two speeds, one place to report from

complexity
release speed

Data that is too large or too varied for one database. History is processed in batches, live data is processed as it arrives, and both land in a store that reporting and machine learning can query.

DatasourcesData storageData Lake StorageBatch processingDatabricks / FabricReal-timeingestionEvent HubsStream processingStream AnalyticsAnalyticaldata storeFabric / SynapseAnalytics andreportingPower BIOrchestrationAzure Data Factory / Fabric pipelinesslow lane β€” history in batchesfast lane β€” events as they land

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

Data platform projects, IoT analytics, and the very common 'our reports take nine hours and nobody trusts them' conversation.

What it means for the landing zone

Storage layout, network isolation for the analytics workspace, and identity for pipelines matter far more than compute here. Fabric now removes a lot of the plumbing.

βœ“ reporting on large or mixed datasetsβœ“ machine learning on historical dataβœ“ live and historical views needed together ! many moving parts β€” start with managed services! cost is driven by storage tier and refresh frequency! governance is a project, not a checkbox

βš™οΈ Big compute

rent a supercomputer for an afternoon

complexity
release speed

One very large calculation split into many smaller ones that run at the same time across hundreds or thousands of cores. Some tasks are fully independent; others need to talk to each other constantly.

Clientjob queueScheduler /coordinatorAzure Batchparallel tasks β€” independentinputcomputeoutputchunk 1task 1 Β· one coreresult 1chunk 2task 2 Β· one coreresult 2chunk 3task 3 Β· one coreresult 3chunk 4task 4 Β· one coreresult 4VM scale setsno task waitsfor anothertightly coupled β€” tasks talk to each othernode 1 Β· slice Anode 2 Β· slice Bnode 3 Β· slice Cnodes swap results at every stepHPC VM sizesInfiniBand / RDMA

↔ scroll the diagram on mobile Β· moving dots show the direction traffic flows

Where you'll meet it

Engineering simulation, financial risk runs, seismic processing, rendering. Often a burst workload from an on-premises HPC cluster that has run out of capacity.

What it means for the landing zone

Quota and capacity planning come first. Then dedicated subnets, low-latency networking for coupled jobs, and a hard budget guardrail so a runaway job doesn't run all weekend.

βœ“ simulation, modelling, renderingβœ“ on-premises HPC that needs to burstβœ“ work that splits into independent tasks ! cost climbs fast β€” set budgets and auto-shutdown! tightly coupled jobs need InfiniBand-capable VM sizes! quota requests can take days, plan ahead

🎯 Pick a style for one workload

Answer for the workload in front of you, not the platform you wish you had.

πŸ“‹ The six, side by side

How each one splits the work, and the Azure services you'd reach for first.

style how the parts are split typical Azure services
πŸ₯ž N-tierHorizontal tiers, usually one subnet eachApp Gateway Β· App Service / VMs Β· Azure SQL
🎫 Web-Queue-WorkerFront end and background jobs, split by a queueApp Service · Service Bus · Functions · Redis
🧩 MicroservicesBy business capability, one database eachAKS / Container Apps · APIM · Service Bus
πŸ“‘ Event-drivenProducers and consumers, fully independentEvent Hubs Β· Event Grid Β· Functions Β· Stream Analytics
πŸ—„οΈ Big dataLarge datasets in chunks, batch plus streamFabric Β· Data Lake Β· Databricks Β· Power BI
βš™οΈ Big computeOne calculation across many coresAzure Batch Β· HPC VM sizes Β· Blob Storage

🚦 The rules are the product

Every style is a trade: you accept some constraints, and in return you get properties you couldn't buy otherwise. Keep the label but drop the constraints, and you keep none of the benefits. Microservices is the clearest example.

WHAT YOU AGREE TO

  • πŸ“Œ One service covers one capability
  • πŸ“Œ Services don't depend on each other's internals
  • πŸ“Œ Each service keeps its own data private

WHAT YOU GET BACK

  • βœ… Deploy one service without a full regression cycle
  • βœ… Faults stay inside one capability
  • βœ… Release far more often
  • βœ… Try new tech in one small blast radius

Let two services share one database "just for now" and you've built a distributed monolith: the operational cost of microservices with the release speed of a monolith. It's the most common way this style fails.

Being practical beats being pure. Bending a rule on purpose is fine β€” bending it by accident is what hurts. Write down which constraint you relaxed and why.

βš–οΈ Four trade-offs to check before you commit

Every style sends a bill along with the benefits.

🎚️

Complexity has to match the domain

Too much structure for a simple workload burns months. Too little for a complex one and dependencies quietly turn into a big ball of mud.

⏳

Async buys resilience, costs certainty

Queues and events let you retry and scale, but data becomes eventually consistent and messages can arrive twice. Design for both from day one.

πŸ•ΈοΈ

Every split adds network calls

What looks clean on a diagram shows up later as latency, retries and chatty east-west traffic. Watch it in the first load test, not in production.

πŸ”§

Someone runs this at 2 AM

Monitoring, deployments, patching, on-call. If the operating model doesn't fit the team you actually have, the style is wrong regardless of how good it looks.

πŸ’¬ How I choose on a real project

🧭

Start with the workload, not the tech

What does it do, who uses it, how critical is it, and how often does it change? The style usually falls out of those four answers.

πŸ‘₯

Match it to the team you have

Microservices without pipelines and platform skills is a slow-motion outage. The right style is the one the team can still run in six months.

πŸ”„

Migrate first, then modernise

Rehost the N-tier app, get it stable, then pull the heavy jobs into a queue. Trying to do both at once is where timelines die.

πŸ“Œ Mixing is normal. One landing zone happily hosts an N-tier finance app, an event-driven telemetry pipeline and a Fabric workspace. Choose per workload, not per organisation.

πŸ“š Reference

Diagrams drawn for this post using the official Microsoft Azure architecture icon set.

#Azure #CloudArchitecture #Microservices #EventDriven #Fabric #HPC #LandingZone #AzureMigration

Leave a comment

Your email address will not be published. Required fields are marked *

Share