A multi-tenant architecture, in its simplest definition, allows one instance of an application to be used for many distinct organizations or customers. The best example would be Salesforce.com. Many customers share an instance of the application, but each has its own data, unique business rules, users and distinct user interface securely separated from any other group. Each customer is able to operate independently and, in essence, no one is affected by the fact that they are sharing the application.
Why have a multi-tenant architecture? Consider the alternative. Instead of having one application instance and 250 customers on Salesforce.com, for example, you would need 250 separate instances of Salesforce.com to support the same customer base. This exponentially increases the cost of support and hardware resources to manage the environment, as well as IT time to manage it all, and it’s not necessary. Imagine having to perform an upgrade on all 250 customers. Would you rather upgrade one instance of an application immediately or upgrade each of the 250 customers one at a time?
In order for a multi-tenant architecture to work, security must be well-executed and of paramount concern. You don’t want data or users crossing between customers or customer workspaces. Each customer organization must be able to leverage all of the functionality available, yet be “fenced into its own yard” to prevent security breaches.
A multi-tenant architecture makes sense for applications in the cloud, so why wouldn’t it make sense for a single organization? Instead of having many customers running on an instance in the cloud, bring the cloud in-house and have many departments or divisions in a single organization running on an instance within your firewall. The same basic principles would apply. Each department or division should have its users, data and workflow segmented and the user interface for their application should be unique to their business area.
Why deploy a multi-tenant solution within a single organization? For the same reason Salesforce.com does - to increase efficiencies, deliver faster service and reduce the cost of IT in supporting your business. Most organizations today support multiple applications across their business: One application to manage their internal IT service desks, another for external customer service, another for human resources to manage the new hire process, yet another for accounting to manage procurement, and the list goes on.
What if you could have one application which models all of your business tracking and automation functions in a multi-tenant environment? Each part of the business would have its own user interface, users, data and workflow. Just like Salesforce.com customers, each group would feel as if it had its own application instance. Support and upgrades would be far less complex and costly and integration of cross-functional workflows would be inherent. You could even run cross-functional reports to get a total view of activity across the business.
BMC FootPrints does this through its use of Workspaces. Each Workspace can be considered to be a tenant with each department occupying a different (or mutliple) Workspaces. The user interface, workflow, users and administration can be seperated for each Workspace along with a super user having control over all Workspaces.
We know that many of our BMC FootPrints customers have taken this approach to managing multiple processes within and outside of IT to reduce their overall costs and increase productivity. They’ve essentially made their IT departments a central hub for a diverse set of workspaces for different needs, such as IT help desk, external customer support, facilities management, human resource tracking and more. They all operate from a standard set of configurable, best practice-based functionality with BMC FootPrints.