Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as color of the user interface (UI) or business rules, but they cannot customize the application's code. Multi-tenancy can be economical because software development and maintenance costs are shared. It can be contrasted with single-tenancy, an architecture in which each customer has their own software instance and may be given access to code. With a multi-tenancy architecture, the provider only needs to make updates once. With a single-tenancy architecture, the provider must touch multiple instances of the software in order to make updates. Multi-tenancy in the cloud In cloud computing, the meaning of multi-tenancy architecture has broadened because of new service models that take advantage of virtualization, containerization and remote access. Public cloud providers rely on multi-tenant architectures to accommodate more users at the same time. Customers' workloads are abstracted from the hardware and underlying software, allowing multiple users to reside on the same host. In a single-tenant cloud, each customer has thir own dedicated instance of a software application. In contrast, a software-as-a-service (SaaS) provider can run one instance of its application on one instance of a database and provide web access to multiple customers. In such a scenario, each tenant's data is isolated and remains invisible to other tenants. Challenges of multi-tenancy Multi-tenancy poses architectural challenges for cloud providers because compute resources must be fairly allocated among tenants and every tenant must be logically isolated to minimize the damage from a compromised or malicious tenant. Cloud providers typically rely on custom hardware and abstraction layers to improve security for multi-tenant architectures and prevent cloud customers from monopolizing compute resources. If one cloud customer's use of resources negatively affects another customer's performance, the offending customer is referred to as a "noisy neighbor." To make a single system logically appear as if it is a set of individual systems, a multi-tenant architecture can be set up to be hard or soft. In a hard multi-tenant scenario, there is zero trust and each tenant is logically isolated from its neighbors. In a soft multi-tenant architecture, there's more trust established between the tenants. |
No comments:
Post a Comment