CH20-09: Service Selection Comparison Prompts
Goal
This chapter has grouped services by responsibility. This section gives you compact prompts for comparing Azure services that are commonly confused or often selected together.
The durable idea is:
Similar services become easier to compare when you name the responsibility and failure mode first.
The Short Version
When two services look similar, ask:
What responsibility is required?
What happens when the dependency is slow, unavailable, duplicated, or misconfigured?
Who owns the service after it is deployed?
The answer becomes clearer when you name responsibility, ownership, failure behavior, scale, and operations.
Comparison Prompts
| Comparison | Decision Question | Short Answer |
|---|---|---|
| Azure RBAC vs Azure Policy | Are you controlling who can act, or what resource states are allowed? | RBAC grants actions at scope; Policy enforces or audits resource configuration. |
| Microsoft Entra ID vs Azure RBAC | Are you proving identity, or granting Azure permissions? | Entra ID authenticates identities; RBAC authorizes actions on Azure resources. |
| Key Vault vs managed identities | Are you protecting secrets, or avoiding stored credentials? | Key Vault protects secrets, keys, and certificates; managed identities let workloads authenticate without stored credentials. |
| Event Grid vs Service Bus | Is this notification, or durable work that must be processed? | Event Grid routes events; Service Bus stores messages. |
| Service Bus vs Event Hubs | Is this business messaging, or high-volume streaming ingestion? | Service Bus handles durable commands and messages; Event Hubs ingests streams. |
| Event Grid vs Event Hubs | Are subscribers reacting to events, or is the platform collecting a stream? | Event Grid routes discrete events; Event Hubs collects high-throughput event streams. |
| Logic Apps vs Functions | Is the integration a visible workflow or code-based handler? | Logic Apps orchestrates connector workflows; Functions runs event-triggered code. |
| App Service vs Functions | Is this a web app/API or event-triggered unit of work? | App Service hosts managed web workloads; Functions handles event-driven execution. |
| Container Apps vs AKS | Do containers need Kubernetes platform ownership? | Container Apps runs containers with less overhead; AKS fits when Kubernetes itself is required. |
| AKS vs VMs | Do you need Kubernetes orchestration or server-level control? | AKS manages container orchestration; VMs provide OS control. |
| Front Door vs Application Gateway | Is the ingress global edge or regional Layer 7? | Front Door is global HTTP edge; Application Gateway is regional web ingress and WAF. |
| Application Gateway vs Load Balancer | Do you need HTTP routing or Layer 4 distribution? | Application Gateway works at Layer 7; Load Balancer works at Layer 4. |
| Traffic Manager vs Front Door | Is DNS steering enough, or do you need an HTTP proxy edge? | Traffic Manager returns DNS answers; Front Door proxies HTTP traffic globally. |
| Azure SQL vs Cosmos DB | Is the model relational or distributed NoSQL? | Azure SQL fits relational transactions; Cosmos DB fits distributed NoSQL access patterns. |
| Cosmos DB vs Storage | Do you need queryable operational records or durable objects? | Cosmos DB stores low-latency NoSQL data; Storage stores objects, files, and blobs. |
| Redis vs database | Is the data a cache or source of record? | Redis accelerates access; a database owns durable truth. |
| Databricks vs Synapse vs Fabric | Is the priority data engineering, SQL analytics, or integrated SaaS analytics? | Compare by workload, team skill, governance, integration, and operating model. |
| Purview vs Power BI | Are you governing data or presenting insight? | Purview catalogs and governs data; Power BI serves reports and dashboards. |
| Azure Monitor vs Application Insights | Are you observing resources broadly or application behavior specifically? | Azure Monitor is broad observability; Application Insights focuses on application telemetry. |
| Application Insights vs Log Analytics | Are you collecting app telemetry or querying logs? | Application Insights emits application telemetry; Log Analytics stores and queries logs. |
| Backup vs Site Recovery | Do you need restore points or failover orchestration? | Backup restores data; Site Recovery supports disaster recovery failover. |
| Cost Management vs Advisor | Are you analyzing spend or reviewing recommendations? | Cost Management shows cost and budgets; Advisor suggests optimizations. |
Worked Example: Event Grid Versus Service Bus
Decision question:
Is this a notification that something happened, or durable work that must be processed?
Event Grid routes event notifications to subscribers. Service Bus stores messages for reliable processing. They may appear together when an event notifies the platform that something happened and a durable message protects work that must complete.
Common mistake:
Using event routing as if it were a durable work queue.
Short answer:
Event Grid routes; Service Bus stores.
Worked Example: Container Apps Versus AKS
Decision question:
Do you need to run containers, or do you need to own a Kubernetes platform?
Container Apps can run containerized applications with managed scaling and less platform overhead. AKS fits when the organization needs Kubernetes APIs, ecosystem tools, custom platform capabilities, or standardization around Kubernetes.
Common mistake:
Choosing AKS because the application uses containers.
Short answer:
Container Apps runs containers; AKS is a Kubernetes platform decision.
Worked Example: RBAC Versus Policy
Decision question:
Are you controlling who can act, or what resource states are allowed?
Azure RBAC assigns permissions to principals at scopes. Azure Policy evaluates resource configurations and can audit, deny, require, or remediate resource states.
Common mistake:
Trying to use RBAC to enforce configuration standards, or using Policy as if it grants user permissions.
Short answer:
RBAC controls actions; Policy controls resource rules.
Common Mistakes
Asking for an equivalent before asking for the responsibility.
Choosing based on popularity rather than operating model.
Treating services that can connect systems as interchangeable.
Forgetting that services are often combined when responsibilities differ.
Ignoring failure behavior, such as retry, duplicate delivery, failover, or stale data.
Naming only the chosen service without explaining the rejected alternative.
If Someone Asks You
How do I compare similar Azure services quickly?
A good answer is:
Compare services by the responsibility they own, the failure behavior they provide, the scale shape they support, and the operating model they create. Similar services often coexist when they solve different parts of the design. A strong answer says what each service does, why one fits this requirement, when both may appear together, and what mistake to avoid.
What You Should Remember
Compare services by responsibility, ownership, failure behavior, scale, and operations.
Questions to Check Understanding
What question separates Event Grid from Service Bus?
What question separates Container Apps from AKS?
Why might two compared services both appear in the same architecture?