Multitenancy Part 3
This is a continuation of a series of articles on
Microsoft Azure from an operational point of view that surveys the different
services from the service portfolio of the Azure public cloud. The most recent article discussed architecting multitenant applications on
Azure. This continues to discuss tenant model and lifecycle.
The choice of tenancy models is very
important to designing the multi-tenant architecture. There are primarily two
models - the business-to-business model and the business-to-consumer model. The
former requires tenant isolation for organizations, divisions, teams, and
departments while the latter is about individual consumers. The
business-to-consumer model must respect privacy and security for the data and
the business-to-business model must respect regulatory compliance.
Tenants can be distinguished between
logical and physical tenants. When the scale of tenants increases, one of the
relieving measures taken is to replicate the solution or some of its components
to meet the increased demand. The load from one single instance may then be
spilled over to another or the traffic can be mapped to infrastructure based on
certain criteria. In a B2C model, each
user can be a separate logical tenant. They can be mapped to different physical
tenants using different deployed instances. This results in a one-many mapping
between logical and physical tenants. When compared to the B2B model, the
definition of the logical tenant becomes clearer. In a B2B model, the resources
for a firm are isolated from the start. In this case, the logical and the
physical tenants mean the same.
One of the key differences between
logical and physical tenant is how the isolation is enforced. When multiple
logical tenants share a single set of infrastructure, it relies on application
code and a tenant identifier in the database to keep each tenant’s data
separate. Physical tenants have their own infrastructure so code running on
them find it less important to be aware that this is a multi-tenant
environment. Physical tenants are also referred to as deployments,
supertenants, or stamps.
Tenant isolation can run deep. For
example, having a single set of shared infrastructure, with separate instances
of the application and separate databases for each tenant or sharing some
common resources while keeping other resources separate for each tenant or keeping
data on a separate physical infrastructure. Separate resources for each tenant
is a practice for public cloud as well and often translates to separate
physical infrastructure using dedicated hosts.
The tenant lifecycle depends on the tenant. Solutions that are
software-as-a-service may want to honor customer requests for trials with a
trial tenant. Questions about rigor for trial data, infrastructure for trial
tenants, purchase option after trials and limits imposed on trial tenants must
be answered. Regular tenants can be onboarded as the first step of their
lifecycle which involves routines for allocation and initialization that could
also be automated, setting up protection of data, meeting compliance standards,
preparing for disaster recovery and setting up pricing options and billing
models. If the customers require a pre-production environment, onboarding might
be different since expectations around availability might be relaxed.
Reference to multitenancy: https://1drv.ms/w/s!Ashlm-Nw-wnWhLMfc6pdJbQZ6XiPWA?e=aWj2Z0
No comments:
Post a Comment