Multi-tenancy and ASP.NET MVC

Published on 2010-1-31

I spoke about this chestnut briefly at DDD8, and I want to start expanding on the subject.

My plan is over the next few weeks to start talking more about multi-tenancy in our web-apps, and to get everybody else doing the same - speaking to other developers after my talk I realised that we're not alone, people are working on solutions but they're just not talking about it.

By getting some dialogue going, I hope we can generate a public description of what is good and what is bad about attempting to build multi-tenant applications on top of ASP.NET MVC, and what our possible avenues of achieving this can be.

The suggested topics I aim to cover in this series of blog entries will (to begin with) be somewhere along these lines: (As I've already written most of the material!)

  • What is multi-tenancy and why do we want it?
  • The building blocks of a multi-tenant application in ASP.NET MVC
  • How I integrated MvcEx into NerdDinner to give it some multi-tenant capabilities

If there is anything else you think I should cover as part of this series, then let me know by either Twitter or the comments field below.

I am loathe to go into detail on what I consider to be the other 90% of the multi-tenancy story - your domain, the rest of your codebase, managing your databases/configurations etc, as you can get all of that information from people who are far more versed in the subject than I.

But, if pushed on a particular subject I guess I will describe how I deal with those issues in the codebases I have control over, and you'll have to take it (as you should take anything written on these pages) with a pinch of salt.