O segredo das empresas SaaS: por que a multitenância é importante
(shomik.substack.com)"Multitenancy é a base oculta que torna a escalabilidade do SaaS tão impressionante"
- As altas margens e a escalabilidade aparentemente infinita do modelo SaaS são o motivo pelo qual mercado acionário/investidores/fundadores entram com tudo nesse setor
- O que torna isso possível é justamente a infraestrutura, especialmente o conceito de "multitenância"
- Hoje, quase todas as empresas usam cloud e SaaS, e o ponto central da implementação de soluções em nuvem é justamente a multitenância
- Marc Benioff, fundador da Salesforce, disse que "multitenancy é um requisito essencial para que fornecedores de SaaS tenham sucesso"
- O que exatamente é multitenância e por que ela é importante?
Multitenância: construindo um sistema de metrô
- Vamos primeiro entender single tenancy
- Cada cliente usa uma aplicação e um banco de dados próprios e exclusivos
- Ou seja, se houver 100 clientes, existem 100 servidores, 100 aplicações e 100 bancos de dados
- Single tenancy exige muito tempo, dinheiro e esforço para ser mantida em larga escala
- Pensando pela ótica do transporte, para ir ao trabalho você pode dirigir ou pegar o metrô
- Dirigir é confortável, mas você precisa pagar o custo do carro, combustível, estacionamento e ainda arcar com congestionamento e poluição
- Pegar o metrô é relativamente barato, ajuda a manter as ruas limpas e agride menos a camada de ozônio
- Se todos os 50 mil trabalhadores do World Trade Center (WTC) fossem de carro, haveria um sistema extremamente complexo
- Por isso surgiu a multitenância, como o metrô, para reduzir custos, overhead e diminuir bastante o "caos" do ambiente
Por que agora?
- Por que mudar para o metrô? Se isso é tão bom, por que essa opção não foi adotada até agora?
- A resposta está na "cloud". A popularidade da computação em nuvem e dos negócios SaaS está explodindo
- No mercado público, empresas que antes ofereciam produtos self-hosted estão rapidamente voltando sua atenção para a nuvem
- Empresas como Atlassian, Autodesk, Elastic e Microsoft estão oferecendo soluções hospedadas na nuvem e registrando crescimento explosivo de receita
- Só no último trimestre, a Atlassian adicionou mais de 10 mil clientes. Se mantivesse 10 mil clientes em single tenancy, a empresa enfrentaria dificuldades por causa do trabalho de engenharia individual, gestão de recursos, complexidade e esgotamento de talentos para resolver problemas que deveriam estar no núcleo do negócio
- Por isso, startups em estágio inicial podem optar por começar em um ambiente single tenancy "Quick-and-Dirty" (rápido e simples), mas, à medida que escalam e começam a crescer, inevitavelmente enfrentam dívida técnica que só pode ser resolvida em um ambiente multitenant
- Com o crescimento da computação em nuvem e dos negócios SaaS, o overhead das soluções single tenant também aumenta, assim como a demanda por multitenância
Vantagens da multitenância
- A multitenância entrega muita mágica para os fornecedores de SaaS
- A capacidade de compartilhar infraestrutura por toda a base de clientes é um divisor de águas
- Além de escala, há alguns outros segredos nas vantagens que a multitenância oferece
Margens de venda (Margins)
- Aproveitar infraestrutura compartilhada afeta diretamente a lucratividade do fornecedor à medida que essa infraestrutura é mais utilizada
- Multitenancy exige menos recursos tanto de forma direta — em pessoas e custos de software/hardware (custo do produto vendido) — quanto indireta — ao permitir que profissionais-chave concentrem sua energia em outras áreas
- Como resultado, a margem total aumenta e, no fim, isso gera Free Cash Flow suficiente para receber valuations mais altos no mercado
Visibilidade (Visibility)
- O uso de multitenância é muito vantajoso para entender o desempenho da infraestrutura e saber como os custos estão sendo refletidos em determinados grupos de clientes
- Os dados precisam poder ser consultados de forma consolidada ou por cliente
- Em infraestrutura single tenant, é muito difícil analisar métricas cross-customer, porque os dados dos clientes ficam dispersos
- Já em uma infraestrutura multitenant, é possível observar toda a base de clientes e identificar tendências macro
- Isso pode ser visto no nível de logging, da unidade do DB ou do monitoramento de desempenho da aplicação, trazendo grande vantagem para equipes cross-functional
A complexidade da multitenância
- Toda "mágica" tem problemas, e a multitenância não é exceção
Problema 1: disponibilidade e noisy neighbors
- Se um e-commerce armazenar os dados de todos os clientes em um único DB, e a maioria dos usuários comprar apenas um ou dois itens por mês, mas um usuário comprar 5 mil itens por dia, então
- se o DB não for forte o suficiente para lidar com o pico de carga desse cliente, o banco inteiro pode cair e impedir compras dos demais clientes
- Esse é um grande desafio e leva à decisão sobre particionamento de dados
- Particionamento Silo (um DB separado por tenant) vs. particionamento Pooled (DB compartilhado entre tenants)
- O particionamento Silo pode resolver problemas de alguns clientes, mas aí voltamos ao problema original de ter que gerenciar inúmeras instâncias
- O particionamento Pooled funciona bem, mas, se um único cliente gerar carga demais, isso pode causar lentidão ou até derrubar o sistema
Problema 2: recursos compartilhados e segurança dos dados
- Como todos os clientes usam os mesmos recursos e não existe uma implementação padrão de multitenant, podem surgir bugs técnicos que misturem dados entre tenants diferentes
- Isso pode ser um problema extremamente perigoso se você estiver atendendo ao mesmo tempo clientes que competem entre si
- A equipe técnica precisa avaliar leis de soberania de dados (Data Sovereignty Laws) e regulações que afetem o isolamento entre tenants
Resolvendo a complexidade
- Multitenant se tornou um dos principais pilares das aplicações SaaS, mas ainda há muita complexidade a considerar na fase de implementação.
- O CEO da Cloudinary enfatizou que "multitenancy é a chave para alcançar excelência operacional (Operational Excellence), mas fazê-la corretamente exige muito conhecimento e investimento".
- A Boldstart e a F2, que escreveram este texto, investiram em uma startup (atualmente em stealth mode) que resolve esses problemas de multitenância
- Há muita complexidade em sistemas multitenant, mas, considerando a dívida técnica que surge ao escalar sistemas single tenant, não há mais motivo para hesitar
- Isso porque, para resolver essa dívida técnica, acaba sendo necessário mobilizar as melhores equipes de engenharia e gastar recursos em algo que não é o core business
- Startups inteligentes escolhem planejar, construir e manter um ambiente multitenant desde o começo
Ainda não há comentários.