SHIFT >_CODE
← Journal

Bases da arquitetura SaaS: inquilinos, perfis e faturação

Um produto SaaS serve muitas empresas a partir de um só sistema. Três decisões iniciais - como separar os dados dos clientes, como gerir o acesso e como funcionam os pagamentos - determinam tudo o resto.

Software como serviço significa que muitos clientes usam o mesmo produto, cada um com os seus próprios dados, utilizadores e definições. Algumas decisões tomadas nas primeiras semanas são difíceis de mudar mais tarde, por isso vale a pena compreendê-las mesmo sem ser programador.

Separar os dados dos clientes

Cada empresa que usa o produto - um «inquilino» - deve ver apenas os seus dados. Há várias formas de o conseguir: uma base de dados partilhada em que cada registo pertence a um inquilino, esquemas separados ou mesmo uma base de dados ou um servidor por cliente. O armazenamento partilhado é mais simples e barato de operar; um isolamento mais forte é mais fácil de explicar a clientes com requisitos de segurança exigentes. Seja qual for a escolha, a separação tem de ser garantida ao nível dos dados, não apenas na interface.

Perfis e permissões

Dentro de cada cliente há pessoas diferentes: proprietários, gestores, colaboradores e por vezes parceiros externos. Defina desde o início um pequeno conjunto de perfis e verifique as permissões no servidor para cada ação. Acrescentar um perfil mais tarde é fácil; corrigir um sistema em que qualquer pessoa podia fazer tudo é penoso.

Subscrições e faturação

Decida cedo como os clientes pagam: planos mensais ou anuais, preço por utilizador, limites de utilização, período de teste gratuito. Os planos determinam que funcionalidades estão disponíveis, por isso o produto tem de saber o que cada cliente pagou. Use um fornecedor de pagamentos estabelecido, guarde apenas referências aos pagamentos e não dados de cartões, e trate com cuidado pagamentos falhados, mudanças de plano e cancelamentos.

Adesão e definições

Um novo cliente deve conseguir começar sem a sua ajuda: criar uma conta, convidar colegas, fazer as definições básicas. Cada passo manual que faz por um cliente é um custo que cresce a cada novo cliente.

Preparar o crescimento

Não precisa de construir para milhões de utilizadores no primeiro dia, mas deve conseguir crescer sem reescrever tudo. Mantenha o código organizado em módulos claros, registe os eventos importantes, automatize implementações e cópias de segurança e acompanhe o desempenho. Estes hábitos tornam o crescimento um processo gradual e não uma emergência.

Em resumo

Separe de forma fiável os dados dos clientes, defina perfis e verifique permissões no servidor, desenhe cedo planos e faturação, torne a adesão autónoma e mantenha o sistema pronto para crescer. Estas bases decidem com que facilidade o produto poderá evoluir.