SharePoint 2010 provides some new features to support Hosting Environment, in simple terms Multi-
tenant support. Multi-tenancy is all about of isolation of data , services, administration etc. It involves a
unique deployment for a customer/tenant on a shared set of resources. In multi-tenancy, we have
multiple customers/tenants who share the same infrastructure, some shared services with no data and
some shared services with patitioned data. In 2007, there were some inherent problems while doing Multi
-tenancy and true isolation was not possible but in 2010 the limitations were overcome and we have a
beautiful Multi-tenant feature available for us to be leveraged to our customers.
Now the most important thing is Why Multi-tenancy ?
As you have read , multi-tenancy involves sharing of resources that means we have less hardware cost.
Its like a pooling of a car where the same amount of petrol is being used to reach from source to
destination but shared among every person sitting in the car thereby being cost effective. So, we share
resources with other tenants. But the beauty here is that there is complete isolation of data. Consider a
scenario, there are 5 schools who have a SharePoint portal for their students. They have the same
features deployed and configured on their portal. The only difference is in the data, they all have
different students accesing the same. So, here we can set up a multi-tenant hosting enviroment for all
the 5 schools, where they will be using the same infrastructure but will have complete isolation of data
from each other. They all will have a single User Profile Service Application which will be available in
partitioned mode so that student from School 1 cannot access the portal of School 2. Also there is a
centralised control over hardware. Now to manage 5 customers, we don't have to manage 5 independent
infrastructures. We simply need to manage one. :)
Also there is an admin site available in multi-tenant environment for each tenant where he can
create new sites and perform administration stuff. If you remeber, i normal SharePoint environment, if
we were using User Profile Service Application, then in order to manage any user profile we simply used
to go to the Central Admin Manage Profiles, and there we had that beautiful option to Manage User
Profile. But this is not available in Multi-tenant because we don't want admin from one school sees the
users of the other school or to isolate one tenant data from the other tenant. Here comes the tenant
admin site in picture. For every tenant, in their admin site, they have the provision to manage user
profiles. So this feature is available in tenant admin site instead of the Central Admin to ensure isolation.
In the above screenshot, if you see there are 4 customers i.e. 4 independent web-applications in 4
different sharepoint farms. This is the scenario where we are provisioning one farm per customer.
However in this second screenshot, we have a single farm whoch host all the 4 customers for us. These
customers are called tenants, who share the same services but in partitioned mode.
Also there is a very important term in multi-tenancy and that is Site Subscription. Site subscription is the
logical grouping of site collections that can share resources. Now, each tenant has a subscription ID that
differentiates it from the other tenant. The subscription ID is used to map features, services, and sites to
tenants and also to partition service data according to tenant. Now, these site subscriptions can be
created using powershell or using object model.
There is also a new concept that is introduced with multi-tenancy and that is the Feature Pack. If you
create any feature in multi-tenant environment, then that feature is not available in the default list of your
features available in your web or site scoped features. To make your feature available there you need to
create a feature pack and include your feature in the feature pack and then associate that feature pack
with your tenant. This concept is very interesting in terms that you can provide different features to
different tenants in an ala-carte manner. I will write a new blog post solely on feature packs later.
So, these are the very basics of multi-tenancy in SharePoint 2010. I hope after reading this blog post you
will get some basic idea around this concept.