Primeiro vamos começar entendendo o que é SaaS
Hoje em dia é muito comum trabalharmos com SaaS – Software as a Service que são plataformas que oferecem Software Como Serviço. Ou seja, uma empresa utiliza serviços de outra empresa, numa relação B2B (business to business). Então ao invés da empresa desenvolver um software ela pode “alugar” ou contratar um serviço, tendo uma série de vantagens neste modelo.
Como um serviço. Com esse modelo, sua empresa não precisa desenvolver, instalar, manter e atualizar hardwares ou softwares. O acesso é fácil e simples: apenas é necessária a conexão com a internet.
- Seria uma evolução dos antigos programas que precisavam ser instalados a partir de CDs. Você era nascido nessa época?
- A principal revolução causada pelo SaaS é que ele transforma produtos em serviços.
- E torna muito mais fácil, interessante e prático o uso de softwares.
- Não precisam mais ser instalados a partir de CDs, já que são acessados remotamente, baseados em nuvem e muito menos criar softwares do zero.
E para atender ao SaaS temos dois modelos de arquitetura, o single-tenancy e o multi-tenancy que vamos explorar neste artigo 😉
Exemplo de empresas populares SAAS
- Salesforce.
- Microsoft 365.
- Netflix
- HubSpot.
- Trello.
- Zoom.
- Zendesk.
Escalando SaaS com arquitetura single-tenant (ST)
O Single Tenant é um sistema que consiste no isolamento da base de dados de uma plataforma. Ou seja, essa é uma arquitetura de informações que consiste em criar aplicações que atendem unicamente a um cliente, evitando bugs ou falhas coletivas.
Vamos pegar como exemplo a empresa Zendesk, ela tem diversos clientes e obviamente estes clientes pagam uma alocação mensal para a Zendesk liberar a utilização de seus serviços.
Em uma arquitetura single-tenant, a Zendesk precisaria ter sistemas individualizados para cada cliente, então ela precisaria separar um servidor, um app, um banco de dados, seria como se ela duplicasse todo software para cada cliente, desta forma este custo seria muito caro. Esse modelo de arquitetura se chama single-tenant.
Vantagens do single-tenant
- Base de dados do cliente isolada dos demais facilitando o acordo de termos de segurança de dados;
- A performance de um cliente jamais será afetada por algum processo executado por usuários de outro time;
- Possibilidade de ter versões diferentes ou testar updates incrementalmente
- Oferece maior controle à empresa,
Desvantagens do single-tenant
- Com o modelo de hospedagem single-tenant, o usuário deve arcar sozinho com os custos de todo o sistema.
- Em geral, é mais caro do que uma solução de hospedagem multi-tenancy.
- Exige maior esforço da equipe da equipe de t.i
Escalando SaaS com arquitetura multi-tenant (MT)
Vamos seguir com o mesmo exemplo anterior da empresa Zendesk, uma nova empresa “aloca” ou contrata os serviços da Zendesk, só que agora começamos a trabalhar com arquitetura multi-tenant, onde você tem uma aplicação centralizada que atende a vários clientes, ou seja ao invés de sair duplicando vários sistemas como no cenário anterior, a empresa usa somente um sistema e neste sistema ela pode compartilhar o mesmo banco de dados, o mesmo software, fazendo uma espécie de separação/ isolamento virtual. Esse modelo se chama multi-tenant.
Esse tipo de arquitetura permite que as empresas economizem dinheiro em custos de infraestrutura usando os mesmos recursos de hardware para diversas instâncias do mesmo aplicativo para vários “locatários”. É especialmente benéfico para empresas de SaaS porque permite que elas dimensionem seus aplicativos e permaneçam econômicas.
De forma simplista é como se criássemos uma coluna no banco de dados para identificar qual cliente que estou trabalhando, então quando esse cliente usar o serviço verá somente seus dados.
Tenant em inglês é inquilino, é muito parecido com um prédio de apartamentos, onde vários inquilinos têm seus próprios apartamentos. Todos os apartamentos são privados e seguros, mas partilham a mesma infra-estrutura. Então você não precisaria comprar um novo terreno e uma nova casa isolada.
Vantagens para o multi-tenant
- Atualizar uma aplicação ou fazer uma manutenção é muito mais rápido e prático.
- A solução é mais popular entre empresas em crescimento, pois os custos são geralmente mais baixos do que as soluções para um single-tenancy já que os recursos são compartilhados entre os clientes;
- Com o pooling de recursos, há economias consideráveis em hardware e energia.
- A multilocação oferece atualizações forçadas contínuas, pois as atualizações não exigem nenhum nível de intervenção por usuário quando outros usuários são atualizados simultaneamente.
- Facilidade para realização de deploy e distribuição de novas versões do código;
- Fácil fornecer uma versão gratuita ou de testes já que não é necessário alocar uma nova estrutura por cliente;
Desvantagens do multi-tenant
- Muitas vezes seu banco de dados vai crescer muito
- Os multi-tenancy podem oferecer personalizações limitadas
- Segurança pode ser mais vulnerável neste modelo
Conclusão
O método selecionado é muito importante. É ele que vai estabelecer os parâmetros para o upgrade e a capacidade de transformação digital da empresa. Fazer a escolha errada pode desperdiçar recursos, tempo e esforço.
Agora, cabe a você decidir o modelo/ arquitetura mais interessante para a sua empresa e como a solução pode contribuir para a organização e administração do seu negócio 😉
COMPARTILHE: