A short intro to Multi-tenancy and Multisite.
WordPress Multisite is an example of multi-tenant architecture. You might be unfamiliar with the term ‘multi-tenant’ but you’ve probably been using it for years.
If you’ve used WordPress.com, Slack, Google Apps for business, SalesForce, or BaseCamp you’ve already used a multi-tenant application.
To understand multi-tenancy let’s think about multi-user first. FaceBook, Twitter, and MySpace allow users to set up an account and customize what they personally see in their ‘Feed’. They also let them customize their profile page with banners and profile pictures. They let each user define these settings themselves, and keep one user from being able to access another user’s personal data or settings.
Additionally, to host each user’s personal profile, they don’t need to give them their own dedicated server resources. These Social Media sites use some resources to display profiles on request, then free the resources up again. Additionally, each user doesn’t have their own database. Every user’s data is stored in one database but they don’t see eachother’s data because the application hides it from them.
Multi-tenancy does the same thing for groups of users. A tenant is a group of users.
Multi-tenancy = Your Own Kingdom
For example, with Google Apps for business companies can create personalized versions of Google’s apps. In this case, the company and its employees are the ‘tenant’. Google Groups for Business gives the company its own kingdom where it can:
- have it’s own email domain instead of @gmail.com without having to run its own server, database, and application for emails.
- customize abilities of employee accounts based on its business needs.
- For example, if the company doesn’t want new hires to be able to access Google Drive can turn off that permission for them.
- Or, if the company only wants the social media team to access to Google+ or Google Photos, it can selectively turn on that permission for just the social media team.
- give users powers that they normally wouldn’t have in the application
- like the ability to add or remove other user accounts
- or read the emails of another user
Again, Google doesn’t have to dedicate a server to each business. They don’t need to dedicate each business it’s own database either. Google can share the database and the hosting between different businesses and make it seem like they are separate with application logic.
WordPress MultiSite makes it easy to give tenants their own kingdoms.
WordPress Multisite does the same thing, it allows site owners to create subsites specific to certain user groups or tenants without having to give each site it’s own WordPress install, database, or server. Specifically, with multisite multiple sites can…
- decrease operational costs by sharing plugins, themes, and WordPress core files with each other.
- the core, plugins, and themes can be updated at the same time for multiple sites within the network
- since you don’t have multiple installs, you don’t have to pay for another plugin or theme license (though a multisite compatible plugin could cost more)
- share users among each other
- users have one login for every site
- users can have different permissions in each site
- not every user needs to have access to every site
- customize their own appearance
- each site owner can set their own settings for a shared theme or use a completely different theme.
- use the same database for content, but only show site-specific content on the front end
- give a user power over other users on one site, but not in all of them
- a user could have an Editor level role in one site, but just an author level role in others
What is the business motivation of multisite and multi-tenant architecture?
“In a multitenancy environment, multiple customers share the same application, running on the same operating system, on the same hardware, with the same data-storage mechanism. The distinction between the customers is achieved during application design, thus customers do not share or see each other’s data.” –Wikipedia
Multi-tenancy allows customers the feeling of having a personalized version of an application without the cost of supporting a separate version of the application.
Multi-tenancy allows applications like Google Apps for Business or WordPress.com to flexibly address the needs of different target markets without having to multiply operational costs.
Multi-tenant apps are Created by Demand
“Popular consumer-oriented web applications (such as Hotmail) were functionally designed as a single application instance that serves all customers. Multitenant applications represent a natural evolution from this model, offering additional customization to a group of users within the same client organization.” –Wikipedia
Many applications started as multi-user applications and became multi-tenant ones when they wanted to give organizations customized options. For example, when Google Apps saw an opportunity in the business market, they added multi-tenant features to their application. This is the same with WordPress, what started as a single user application became a multi-tenant one in response to opportunity in the business market.
WordPress Multisite Use Case: BestBuy.com
Multi-tenancy has powerful abilities in companies with fragmented target markets and internal employee structure. For example, Best Buy uses WordPress Multisite to manage its 1050 local stores. Since Best Buy has a collection of many local markets, they needed to:
- give local associates the ability to blog about events, hours, and other location-specific information.
- ensure that associates at one store couldn’t change the data of another store.
- ensure that location specific reviews are restricted to their respective locations.
- manage the WordPress Core files, plugins, and themes for 1050 sites from one location.
With WordPress multisite, they were able to securely mobilize their vast network of associates to present tailored information to their fragmented markets. Multisite also enabled them to do this without having to multiply the operational costs to their IT department by 1050.
Additionally, Multi-tenancy comes with organizational uniformity baked in. Because the tenants share one database, a storage protocol doesn’t need to be disseminated and enforced. As a result, in fragmented markets, Multisite allows companies to keep the user, content, and other data organized. Because of this organization and structure, Best Buy is probably able to analyze the data and draw insights from all of its companies’ sites at once.
The single database and application structure also mean that multisite sites can be integrated with third-party applications, such as SalesForce or Hubspot, in just one place with just one license or API key required.
Any questions or comments? Did I miss anything? Please let me know below!