Gremlin and Azure Service Bus

Test how your application handles an Azure Service Bus outage. Run Gremlin network experiments and reliability tests to validate messaging resilience.

Why Service Bus reliability is important

Azure Service Bus offers features most queues don't: sessions, ordering guarantees, and dead-letter queues. Applications built on those guarantees have correctness assumptions baked in, which raises the stakes when the broker becomes unreachable.

Install the Gremlin Agent on the services on either side of the queue and you can test those assumptions directly. With Gremlin, you can:

  • Check whether ordering survives an interruption. If a session is interrupted and messages are redelivered, an application that assumed strict sequence may process them in an order it never anticipated. A blackhole experiment forces that redelivery.
  • Find out what producers do with nowhere to put work. Some block, some drop messages, some retry hard enough to slow recovery. Testing tells you which one you built.
  • Look at your dead-letter queue. Messages accumulate there successfully, from the system's point of view, while whatever they represented never happens. Trigger failures and check whether anyone is watching that queue at all.

Ordering guarantees and dead-letter queues both work as advertised. Whether your application uses them the way you think it does is a separate question.

Building resilience on Service Bus with Gremlin

Service Bus is a dependency: a managed service that your service connects to. You can run tests by deploying the Gremlin agent or Failure Flags sidecar to a service that consumes Service Bus*. Using the experiments shown to the right, you can prepare your service for Service Bus failure modes, including:

  • Network outages making Service Bus unavailable
  • Slow performance due to network latency
  • Expiring TLS certificates
You can also run these expert-built workflows designed to replicate real-world failure modes on Service Bus:

* Testing a dependency doesn't require installing anything on it. Gremlin runs the experiment from the service that calls it, so compatibility depends on that host rather than on the dependency itself. Check our compatibility documentation for supported operating systems and platforms, or get in touch if you don't see yours.

resources

Learn more about Gremlin and Service Bus

All product names, logos, and brands are property of their respective owners. AWS is a trademark of Amazon.com, Inc.; Azure is a trademark of Microsoft Corporation; Google Cloud is a trademark of Google LLC. Use of these names is for identification purposes only and does not imply endorsement or affiliation unless otherwise stated.

Avoid downtime. Use Gremlin to turn failure into resilience.

Gremlin empowers you to proactively root out failure before it causes downtime. See how you can harness chaos to build resilient systems by requesting a demo of Gremlin.

Product Hero ImageShape