A maioria das explicações sobre a tecnologia SaaS para no mesmo ponto: roda na nuvem, acessa pelo navegador, atualiza sozinho. Isso descreve o que o usuário vê, não como a coisa funciona.
Este texto é o contrário. Ele percorre o que acontece por dentro de um SaaS, do momento em que alguém digita o endereço até a conta de disponibilidade que aparece no contrato. Serve tanto para quem vai construir um quanto para quem precisa avaliar o de outra empresa com alguma profundidade.
O caminho de uma requisição
Quando alguém abre um SaaS no navegador, acontece uma sequência que se repete em praticamente todo produto do mercado:
- DNS e CDN. O endereço é resolvido e os arquivos estáticos (imagens, scripts, folhas de estilo) chegam de um servidor de borda próximo ao usuário, não do servidor principal.
- Balanceador de carga. A requisição cai em um distribuidor que escolhe qual servidor de aplicação vai atendê-la, entre vários idênticos.
- Autenticação. O sistema verifica quem é o usuário e, principalmente, a qual cliente ele pertence. Essa segunda parte é o que torna o produto multi-tenant.
- Aplicação. A regra de negócio é executada, já filtrada pelo cliente identificado no passo anterior.
- Banco de dados. A consulta é feita com o identificador do cliente aplicado, e frequentemente atendida por um cache antes de chegar ao banco.
- Resposta. O resultado volta pelo mesmo caminho.
O passo 3 é o que separa um SaaS de um sistema instalado. Em software tradicional, cada empresa tem a própria instalação e não existe pergunta sobre “de quem é este dado”. Em SaaS, essa pergunta é feita em toda requisição, e errar a resposta significa mostrar dados de um cliente para outro.
Multi-tenancy: os três modelos de isolamento
Multi-tenancy é uma instância da aplicação atendendo muitos clientes. Como os dados ficam separados varia, e a escolha define custo, segurança e limite de crescimento do produto.
| Modelo | Como funciona | Troca |
|---|---|---|
| Banco por cliente | Cada cliente tem seu próprio banco de dados | Isolamento máximo e restauração individual, mas custo alto e migração de esquema lenta |
| Esquema por cliente | Um banco, com um conjunto de tabelas por cliente | Meio-termo; trava quando o número de clientes cresce muito |
| Coluna identificadora | Todos na mesma tabela, separados por uma coluna de cliente | Mais barato e escalável; exige disciplina absoluta no código |
O terceiro modelo é o mais comum em produtos que crescem, e também o mais arriscado: uma única consulta escrita sem o filtro de cliente vaza dados entre contas. Por isso equipes maduras não deixam esse filtro a cargo de quem escreve cada consulta, e sim de uma camada que o aplica automaticamente.
Quando o requisito é isolamento comprovável, por exigência regulatória ou contratual, a saída é o modelo single-tenant, com instância dedicada por cliente. Custa mais e escala pior, e é por isso que aparece em contratos enterprise e não no plano de entrada.
Como a mesma versão serve todo mundo
Em SaaS não existe “versão 7.2 do cliente X”. Existe uma versão em produção, e ela muda com frequência. Três mecanismos tornam isso possível sem derrubar o serviço:
- Implantação sem interrupção. Servidores novos sobem com o código novo antes que os antigos saiam, e o balanceador vai transferindo o tráfego. O usuário não percebe a troca.
- Chaves de funcionalidade. Código novo vai para produção desligado, e é ativado depois por cliente ou por percentual da base. É o que permite lançar para 5% dos usuários e desfazer sem republicar nada.
- Migração de banco em duas etapas. Primeiro a estrutura aceita o formato antigo e o novo ao mesmo tempo, depois o antigo é removido. Sem isso, toda mudança de esquema exigiria parada.
É daqui que vem a característica mais sentida pelo cliente: a atualização não se recusa. A contrapartida da manutenção zero é não escolher quando a interface muda.
Como um SaaS escala
Há duas formas de aguentar mais carga, e elas não são intercambiáveis:
- Vertical. Uma máquina maior. Simples, imediato e limitado, porque existe um teto de tamanho e o custo cresce mais rápido que a capacidade.
- Horizontal. Mais máquinas iguais atrás do balanceador. É o que sustenta um SaaS de verdade, e exige que a aplicação não guarde estado local, já que a próxima requisição do mesmo usuário pode cair em outro servidor.
Na prática, o que trava primeiro quase nunca é a camada de aplicação, que é fácil de multiplicar. É o banco de dados, que é único. Por isso as primeiras medidas de escala costumam ser cache, réplicas de leitura e filas para tirar do caminho da requisição tudo que pode ser processado depois, como envio de e-mail, geração de relatório e integração com terceiros.
Toda essa camada roda sobre infraestrutura alugada, seja em IaaS, com máquinas virtuais gerenciadas pelo próprio time, seja em PaaS, com o ambiente já pronto.
Autenticação, permissão e API
Três mecanismos definem quem entra e o que consegue fazer:
- Autenticação. Confirma quem é a pessoa. Em produtos corporativos, isso frequentemente é delegado ao provedor de identidade da empresa cliente, o que permite entrar com a conta corporativa e, mais importante, remover o acesso de quem sai em um lugar só.
- Autorização. Define o que aquela pessoa pode fazer dentro do cliente ao qual pertence. São duas perguntas encadeadas: de qual cliente é o dado, e qual o papel deste usuário nele.
- API. A porta pela qual outros sistemas conversam com o produto, com chaves próprias, permissões próprias e limite de chamadas. É recurso de integração e, ao mesmo tempo, o que torna a troca de fornecedor mais cara depois.
O que 99,9% significa em minutos
Disponibilidade em contrato é sempre apresentada em percentual, que esconde a ordem de grandeza. Convertido para tempo fora do ar, considerando um mês de 30 dias:
| Disponibilidade | Indisponibilidade por mês | Por ano |
|---|---|---|
| 99% | 7 horas e 12 minutos | 3 dias e 15 horas |
| 99,5% | 3 horas e 36 minutos | 1 dia e 19 horas |
| 99,9% | 43 minutos | 8 horas e 46 minutos |
| 99,95% | 21 minutos | 4 horas e 23 minutos |
| 99,99% | 4 minutos | 52 minutos |
A diferença entre 99% e 99,9% parece decimal e são quase sete horas por mês. Vale checar duas letras miúdas: se a janela de manutenção programada está excluída da conta, o que é comum, e se o descumprimento tem consequência contratual ou é apenas uma promessa.
O que isso muda para quem contrata
Entender a tecnologia não é curiosidade técnica, muda perguntas concretas na avaliação de um fornecedor:
- Como os dados são isolados entre clientes? A resposta indica a maturidade do produto, e um fornecedor sério responde sem rodeio.
- Existe ambiente de teste separado? Sem ele, validar mudanças significa validar em produção.
- Como as atualizações são comunicadas? Já que recusá-las não é opção, o mínimo é saber quando vêm.
- Qual o limite de chamadas de API? É o teto real de qualquer integração que você planeje.
- O SLA exclui manutenção programada? Se excluir, o número anunciado vale menos do que parece.
Para o modelo de negócio por trás dessa arquitetura, veja o guia do sistema SaaS e o que muda de responsabilidade. Para a conta de contratação, quanto custa uma solução SaaS. E se a intenção for construir um produto assim, o corte de escopo vem antes da arquitetura: como definir o escopo do primeiro produto digital.
Perguntas frequentes
Como funciona a tecnologia SaaS por dentro?
Uma requisição percorre seis etapas: o endereço é resolvido no DNS e os arquivos estáticos chegam de uma CDN próxima ao usuário; um balanceador escolhe qual servidor de aplicação atende; a autenticação verifica quem é o usuário e a qual cliente ele pertence; a aplicação executa a regra de negócio já filtrada por esse cliente; o banco é consultado com o identificador aplicado, muitas vezes servido por cache antes; e a resposta volta pelo mesmo caminho.
O que é multi-tenancy?
É uma única instância da aplicação atendendo muitos clientes ao mesmo tempo, com os dados de cada um separados. É a característica que diferencia um SaaS de um software instalado: em software tradicional cada empresa tem a própria instalação e não existe a pergunta de quem é o dado; em SaaS essa pergunta é feita em toda requisição, e errar a resposta significa mostrar dados de um cliente para outro.
Quais são os modelos de isolamento de dados em SaaS?
Três. Banco por cliente, com um banco de dados separado para cada um, que dá isolamento máximo e restauração individual, mas custa caro e torna a migração de esquema lenta. Esquema por cliente, com um banco e um conjunto de tabelas por cliente, um meio-termo que trava quando o número de clientes cresce muito. E coluna identificadora, com todos na mesma tabela separados por uma coluna, o mais barato e escalável, mas que exige disciplina absoluta no código.
Qual o risco do modelo de coluna identificadora?
Uma única consulta escrita sem o filtro de cliente vaza dados entre contas. Por isso equipes maduras não deixam esse filtro a cargo de quem escreve cada consulta, e sim de uma camada que o aplica automaticamente. Quando o requisito é isolamento comprovável, por exigência regulatória ou contratual, a saída é o modelo single-tenant, com instância dedicada por cliente, que custa mais e escala pior.
Como um SaaS atualiza sem sair do ar?
Por três mecanismos. Implantação sem interrupção, em que servidores novos sobem com o código novo antes de os antigos saírem e o balanceador transfere o tráfego. Chaves de funcionalidade, que colocam código novo em produção desligado para ativação posterior por cliente ou por percentual da base. E migração de banco em duas etapas, com a estrutura aceitando o formato antigo e o novo ao mesmo tempo antes de remover o antigo.
Como um SaaS escala?
De duas formas. Vertical, com uma máquina maior, que é simples e imediato mas limitado, porque há um teto de tamanho e o custo cresce mais rápido que a capacidade. E horizontal, com mais máquinas iguais atrás do balanceador, que é o que sustenta um SaaS de verdade e exige que a aplicação não guarde estado local. O que trava primeiro raramente é a aplicação, e sim o banco de dados, atacado com cache, réplicas de leitura e filas.
O que 99,9% de disponibilidade significa em minutos?
Em um mês de 30 dias: 99% equivale a 7 horas e 12 minutos fora do ar, 99,5% a 3 horas e 36 minutos, 99,9% a cerca de 43 minutos, 99,95% a 21 minutos e 99,99% a 4 minutos. Ao ano, 99,9% são 8 horas e 46 minutos. A diferença entre 99% e 99,9% parece decimal e são quase sete horas por mês.
O que verificar no SLA de um SaaS?
Duas letras miúdas mudam o valor do número anunciado: se a janela de manutenção programada está excluída do cálculo, o que é comum, e se o descumprimento tem consequência contratual ou é apenas uma promessa. Sem consequência, o SLA é uma frase de marketing.
Como a autenticação funciona em um SaaS corporativo?
São duas perguntas encadeadas. A autenticação confirma quem é a pessoa, e em produtos corporativos costuma ser delegada ao provedor de identidade da empresa cliente, o que permite entrar com a conta corporativa e remover o acesso de quem sai em um lugar só. A autorização define o que aquela pessoa pode fazer dentro do cliente ao qual pertence: de qual cliente é o dado, e qual o papel deste usuário nele.
Que perguntas técnicas fazer a um fornecedor de SaaS?
Cinco. Como os dados são isolados entre clientes, já que a resposta indica a maturidade do produto. Se existe ambiente de teste separado, porque sem ele validar mudanças significa validar em produção. Como as atualizações são comunicadas, já que recusá-las não é opção. Qual o limite de chamadas de API, que é o teto real de qualquer integração planejada. E se o SLA exclui manutenção programada.