Building multi-tenant systems using NServiceBus and Cosmos DB
Azure Cosmos DB provides highly reliable, scalable, and performant data storage in the Microsoft Azure cloud. However, designing your NServiceBus system with Cosmos DB to create performant, reliable, and transactionally consistent business processes in a multi-tenant environment requires careful design.
It is a simple matter to configure a Cosmos DB collection to use a tenant ID as the logical partition key. This is only the start of your design for multi-tenancy. You need to take this partitioning into account for your entire system. Understanding how the different parts of an NServiceBus system built on top of Cosmos DB interact will help you design each of these elements in a partition friendly way and ultimately to success.
Join this webinar where Ivan Lazarov will provide tips from the trenches on how to design your message-based multi-tenant system with Cosmos DB. In this webinar he will show you how to design your messages, sagas, and business data to ensure you can achieve the highest reliability possible while leveraging the power of Cosmos DB. You will learn how to avoid common pitfalls and how to ensure the many design elements work in harmony.
In this webinar you’ll learn:
- How Cosmos DB partitioning works
- Different approaches to tenant partitioning using Cosmos DB
- How to use the Cosmos DB change feed to perform live migrations
- How to integrate NServiceBus with Cosmos DB
- The way to leverage Cosmos DB transactionality in your handlers
- Techniques for extracting partition keys from your messages
About Ivan Lazarov
Ivan Lazarov is principal architect at OUTsurance in South Africa. He is passionate about building elegant, well-performing, distributed solutions at scale and sleeps well at night knowing things will be consistent...eventually.