Closed b1tzer0 closed 2 years ago
Hey @b1tzer0, while we don't have short term plans on improving this project, scale out and multi-tenant solutions are still very interesting areas for us, and it would be great if we could follow up offline on your specific requirements and use cases. If you're interested, please drop me an email (scoriani at microsoft.com) and I'll set up a quick call.
Hi @scoriani - one item that immediately comes to mind is #220 with the related PR #217 (full .NET 6.0 target + Ms.D.SqlClient for modern authN methods)
Thanks @christophwille, those are quite straightforward. I was more interested in the intersections between scaling out a database backend while implementing a multi-tenant solution. There are multiple angles to consider, from developer productivity to performance to security/isolation that play a critical role and wanted to double check if we're not missing anything important in addition to what has already been covered in guides like https://docs.microsoft.com/en-us/azure/azure-sql/database/saas-tenancy-app-design-patterns
just noticing an multitenancy pattern on microsoft impedence mismatch between
for anyone observing microsoft employees observing this situation one can't help but point out a speculative outflow of implementers building multitenant solutions
Hi @vigouredelaruse, would you mind clarifying a bit your comment above as I'm not sure I understand your point? On the technologies you mentioned, there are Microsoft 1st party and 3rd party ISVs that have built multitenant solutions with millions of tenants and databases but, if there's any valuable feedback you can provide that will be very appreciated.
howdy @scoriani; not to have a spinal tap moment with the napkin here but take a look at some objects that would be nice to have in context in an asp.net family instance
it's incontrovertible that one can build a multitenant implementation using the technologies in scope of this discussion. the question that started this thread though implies a question: can one plan for robust support to further such efforts using the technologies in scope of this discussion
this https://docs.microsoft.com/nb-no/ef/core/miscellaneous/multitenancy tells you how to do it
what's missing is some handholding from a suite of boilerplate components that you can install as project starter templates in visual studio
note that the digram doesn't show other things in play, like ephemeral instances deployed in containers, or cloud environments
hopefully my spinal tap diagram gives an idea of what i'm having to cobble together right now to fulfill a research grant from the canadian federal govt - i need a cms where i can deploy a gis system that can easily interoperate with the tools used in the gis community and the official visual studio template to start such a thing just isn't there
Thanks @vigouredelaruse, much clearer now. This s bit outside of just the database layer (which is where I work) but I'll bring the feedback back to Visual Studio and .NET team to see if we can make it better.
well yes there are some serious cross cutting concerns that prescribe the current situation. if anyone is interested i'm sure enough people are interested in database sharding and the surrounding issue to get a real nice diagram going :)
however never a hijacker of the thread be and so we will not do here. the original poster in several comments in this vein are looking for a statement regarding maintaining currency of the code in the repository linked to this issue list.
as am i
Hi @vigouredelaruse,
I saw your comment and I though you might be interested in an article I just released called How to take an ASP.NET Core web site “Down for maintenance” where I describe a way to divert tenant users while the tenant is being split / merged by an admin user.
This describes how to create this feature in an ASP.NET Core app, with a emphasis on not allowing the feature from effecting the application's performance. I needed this feature for my AuthPermissions.AspNetCore library as to support multi-tenant sharding.
PS. You might also like to look at the previous article which talks about how to form the correct connection string in a multi-tenant application using sharding. Again this is very fast (and secure).
Is this project still being maintained? It is still referenced in the Microsoft Docs.
I want to use this in a new project, but if it is not being maintained then I might look elsewhere for a multi-tenant solution. Any recommendations?