Between single-tenancy and multitenancy, the challenges
are different and somewhat more complex. A few are listed below and called out
for their specificity. The architectural choices in terms of application and
databases are:
AD- a dedicated
application server is running for each tenant, and therefore, each tenant
receives a dedicated application instance.
AS – a single
application server is running for multiple tenants and each tenant receives a dedicated
application instance.
AI – a single
application server is running for multiple tenants and a single application
instance is running for multiple tenants.
DD – a dedicated
database server is running for each tenant and therefore the database is also
isolated.
DS – a single
database server is running for multiple tenants and each tenant gets an
isolated database.
DB – a single
database server and a single database is being used for multiple tenants
DC – a single
database server is running for multiple tenants and data from multiple tenants
is stored in a single database and in a single set of tables with same database
schema, but separation based on records.
1.
Sharing of resources and higher than average
hardware utilization, performance may be compromised. It must be ensured that
all tenants get to consume resources. If one tenant clogs up resources, the
performance of all other tenants may be compromised. This is specific to
multitenancy and not single tenancy. In
a virtualized instances situation, this problem is solved by assigning an equal
amount of resources to each instance. The solution may lead to very inefficient
utilization of resources and may not suit all multitenant systems.
2.
Scalability: When tenants share the same
application and database, scalability suffers. An assumption with
single-tenancy is that tenants do not need more than one application or
database but there are no such limitations that exist when placing multiple
tenants on one server. Tenants from various geographies can use the same
application which affects its scalability. In addition, geographies pose
constraints, legislations and regulations. For example, EU mandates that
invoices sent from within the EU must be stored within the EU. Additional
constraints can be brought by tenant to place all the data on the same server
to speed up queries.
3.
Security: When security is compromised, the risk
for data stealing is high. In a multitenant environment, a security breach can
result in the exposure of data to other, possibly competitive tenants. Data
protection becomes an important challenge to tackle.
4. Zero-downtime: Introducing new tenants or adapting to changing business requirements of existing tenants brings along the need for constant growth and evolution of a multi-tenant system.
No comments:
Post a Comment