Identify workloads, tenants or dependencies that should not share the same failure boundary.
Bulkhead
Partition resources and workloads into isolated pools so one overloaded tenant, connector or dependency cannot consume all available capacity or spread failure across the entire solution.
How can a failure or capacity shortage in one part of a system be prevented from exhausting every other part?GateSift summary based on Microsoft Azure Architecture Center guidance. The wording, visualization, Azure mapping and analyzer context are original GateSift material.
How Bulkhead works
Workloads use isolated capacity pools so exhaustion or failure in one pool does not consume every resource.
Allocate separate queues, workers, connection pools or runtime instances.
Monitor each pool independently and preserve capacity for critical flows when another pool is saturated.
What this pattern helps you decide
Partition resources and workloads into isolated pools so one overloaded tenant, connector or dependency cannot consume all available capacity or spread failure across the entire solution.
Where you may see it
- Separate Service Bus queues and worker pools per workload class
- Dedicated Function Apps or Container Apps for critical flows
- Per-backend connection pools and concurrency limits
How the analyzers can surface it
- Many unrelated flows sharing one endpoint or worker boundary
- No separation between critical and best-effort processing
- Single BizTalk host or handler carrying unrelated adapter workloads
Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.
This page links to Microsoft Azure Architecture Center for the source architecture guidance. GateSift summaries, diagrams, Azure examples and analyzer signals are original. No endorsement by Microsoft is implied.