Multi-tenancy

Multi-tenancy é uma arquitetura na qual uma única instância de uma aplicação de software serve a múltiplos clientes. Cada cliente é chamado de inquilino. Os locatários podem ter a capacidade de customizar algumas partes da aplicação, como a cor da interface do usuário (UI) ou regras de negócios, mas não podem customizar o aplicativo code.

Em uma arquitetura multi-tenant, múltiplas instâncias de uma aplicação operam em um ambiente compartilhado. Esta arquitetura é capaz de funcionar porque cada inquilino é integrado fisicamente, mas logicamente separado; o que significa que uma única instância do software será executada em um servidor e, em seguida, atenderá a vários inquilinos. Desta forma, uma aplicação de software numa arquitectura multi-tenant pode partilhar uma instância dedicada de configurações, dados, gestão de utilizadores e outras propriedades.

As aplicações multi-tenant podem compartilhar os mesmos usuários, exibições, regras -- embora os usuários possam personalizá-las até certo ponto -- e esquemas de banco de dados, que os locatários também podem personalizar.

Importância de multi-tenancy

Multi-tenancy tem visto muita adoção e é mais usado com computação em nuvem. Arquiteturas multi-tenant são encontradas tanto em ambientes de nuvem pública quanto privada, permitindo que os dados de cada inquilino sejam separados uns dos outros. Por exemplo, em uma nuvem pública multitenant, os mesmos servidores serão utilizados em um ambiente hospedado para hospedar vários usuários. A cada usuário é dado um espaço separado e idealmente seguro dentro desses servidores para armazenar dados.

Este artigo faz parte de

>>i>>/i> O que é nuvem pública? Tudo o que você precisa saber

  • que também inclui:
  • 5 types of cloud skills that IT professionals should know
  • 8 key characteristics of cloud computing
  • 10 FAQs about cloud computing

Download1

Download this entire guide for FREE now!

Multi-tenancy is also important for the scalability of public and private clouds, and has helped make multi-tenancy a standard. The multi-tenant architecture can also aid in providing a better ROI for organizations, as well as quickening the pace of maintenance and updates for tenants.

Types of multi-tenant architecture

There are three main multi-tenancy model types, all with varying levels of complexity and costs. A single, shared database schema is a multi-tenancy model with a multi-tenant database. This is the simplest form out of the three and is a relatively low cost for tenants because of the use of shared resources. Este formulário utiliza uma única aplicação e uma única instância de banco de dados para hospedar inquilinos e armazenar dados. O uso de um único esquema de banco de dados compartilhado permite um escalonamento mais fácil; entretanto, os custos operacionais podem ser mais altos.

Outra arquitetura multi-tenant inclui o uso de um único banco de dados com múltiplos esquemas. Este sistema de inquilinos utiliza uma única instância de aplicação com bases de dados individuais para cada inquilino. Além disso, esta arquitetura tem um custo mais alto com mais custos indiretos com cada banco de dados. É uma arquitetura valiosa quando dados de diferentes locatários precisam ser tratados de forma diferente -- como se eles tivessem que passar por regulamentos geográficos diferentes.

O terceiro tipo de arquitetura multi-tenant hospeda dados em múltiplos bancos de dados. Este modelo é relativamente complexo em termos de gerenciamento e manutenção, mas os locatários podem ser separados por um critério escolhido.

Vantagens e desvantagens da multi-tenancy

Existem várias vantagens e desvantagens em se tornar um provedor de hospedagem e um locatário com multi-tenancy. Algumas vantagens incluem:

  • É menos caro quando comparado com outras arquiteturas de hospedagem de inquilinos.
  • Uma oferta de modelos de preços pagos pelo que você precisa.
  • Os inquilinos não precisam se preocupar com atualizações, já que são empurrados para fora pelo provedor de hospedagem.
  • Os inquilinos não precisam se preocupar com o hardware em que seus dados estão sendo hospedados.
  • Os provedores só têm que monitorar e administrar um único sistema.
  • A arquitetura é facilmente escalável.

Algumas desvantagens, no entanto, que vêm com multi-tenancy incluem:

  • Aplicações multi-tenant tendem a ser menos flexíveis que as aplicações em outras arquiteturas de inquilinos, como single-tenancy.
  • Multi-tenancy é, em geral, mais complexo que single-tenancy.
  • Aplicações multi-tenant precisam de autenticação mais rigorosa e controles de acesso para segurança.
  • Tenants têm que se preocupar com vizinhos barulhentos, ou seja, alguém na mesma CPU que consome muitos ciclos, o que pode retardar o tempo de resposta.
  • Downtime também pode ser um problema, dependendo do provedor.

Exemplos

In cloud computing, o significado da arquitetura multi-tenant ampliou-se por causa dos novos modelos de serviço que aproveitam virtualização e acesso remoto. Um provedor de software como serviço (SaaS), por exemplo, pode executar uma instância de seu aplicativo em uma instância de um banco de dados e fornecer acesso web a vários clientes. Em tal cenário, os dados de cada inquilino são isolados e permanecem invisíveis para outros inquilinos. O multi-tenant pode também ser implementado em sistemas multi-tenant como um sistema SAP.

multi-tenant vs. single-tenant Uma comparação de arquitecturas multi-tenant e single-tenant por cliente.

<Multi-tenant vs. single-tenant

Multi-tenant pode ser contrastado com single-tenant, uma arquitetura na qual cada cliente tem sua própria instância de software e pode ser dado acesso ao código fonte. Em arquiteturas single-tenant, um locatário terá uma instância singular de uma aplicação SaaS dedicada a eles, ao contrário de multi-tenancy onde há serviços compartilhados. Como cada inquilino está em um ambiente separado, eles não estão vinculados da mesma forma que os usuários de infraestrutura compartilhada; o que significa que as arquiteturas single-tenant são muito mais personalizáveis.

Multi-tenancy é a opção mais usada das duas, já que a maioria dos serviços SaaS operam em multi-tenancy. Em comparação com o single-tenancy, o multi-tenancy é mais barato, tem uma utilização de recursos mais eficiente, menos custos de manutenção, bem como um potencial para uma maior capacidade computacional. Com uma arquitectura multi-tenant, o fornecedor só tem de fazer actualizações uma vez. Com uma arquitetura de usuário único, o provedor deve tocar em várias instâncias do software para fazer atualizações.

Um cliente potencial provavelmente escolheria uma infra-estrutura de usuário único em vez de usuário múltiplo para ter mais controle e flexibilidade em seu ambiente -- normalmente para atender a requisitos específicos.