Arquitetura de um Saas
Venho pesquisando sobre desenvolvimento de Saas e como sempre são muitas as opções de arquiteturas e tecnologias.
Tem muita gente com experiência nessa área que poderiam nos ajudar.
Quais seriam as camadas da arquitetura de um Saas, levando em conta segurança, integrações com plataformas de pagamentos, controle de pagamentos, integração com apps de mensagens, opções de hospedagem (simples, VPS, ...), recursos estáticos...
Talvez algumas sugestões de frameworks e bibliotecas... Tecnologias já bem estabelecidas para cada parte.
Seria de grande ajuda. Desde já obrigado!
Meu conselho: monólito primeiro.
Se você vai desenvolver um SaaS, seu maior desafio provavelmente será encontrar alguém para pagar pelo seu produto; seu cliente estará mais preocupado com o valor gerado por ele do que com a arquitetura. Outro ponto é que o produto pode não dar certo e você não vai querer gastar tempo, esforço e dinheiro à toa.
Portanto, a ideia de fazer o mais simples possível primeiro é a melhor escolha.
te falar da minha experiência pessoal fazendo um SaaS por conta própria. única coisa que vc precisa se focar em seguir a risca é criar uma documentação do seu projeto. porque futuramente vai te ajudar a dar manutenção caso cresça e vire algo rentável.
meu projeto de SaaS é pra criação de bots pra WhatsApp. estou desenvolvendo a 2 anos e só nos últimos 6 meses que comecei a receber algo kkkk mas está longe de ser lucrativo. média de ganhos está na casa dos 200 reais mensal.
mas já fiz e refiz várias vezes algumas partes.
a minha dica é: se aproveite ao máximo de soluções gratuitas, vai evitar que você tenha um custo mensal fixo te incomodando enquanto não dá lucro. meu SaaS tem atualmente 1000 usuários criados, mas menos de 150 ativos kkkk desses <150, 25 são pagantes (tenho um plano free de teste).
mas estou desenvolvendo na calma, sem pressão.
escolhi usar next.js pro front end e node.js pro backend por ser mais simples de desenvolver.
Única coisa que estou tendo dor de cabeça ultimamente é com envio de email, estava usando uma conta free da Brevo mas o limite diário de e-mails impede que eu faça qualquer marketing sobre meu SaaS, pois teria um fluxo de cadastros intenso que ultrapassaria o envio de e-mails diário permitido.
mas faz parte do desenvolvimento sem custo.
felizmente meu projeto não tem custo nenhum pra eu manter (uso só serviços free que garimpo pela Internet kkkk) então o lucro consigo guardar pra possíveis gastos
(como a compra que fiz ontem de um domínio, estava usando um free que infelizmente caiu kkkk)
mas vai na tentativa e erro, uma hora da certo.
As camadas de arquitetura de um SaaS devem está alinhadas para lançar o mais rápido possível. De modo que, tenha feedback e melhorias. Um passo a passo e algumas sugestões para um MVP:
- Interface: telas e elementos cruciais.
- Banco de dados: tabelas e colunas necessárias.
- Key function: desenvolver a função principal do SaaS.
- Authentication: autentificação dos usuarios. Cadastre-se, logar e deslogar.
- Segurança de dados: adicionar camada de segurança no bando de dados.
- Ajuda e feedback: lugar onde os usuarios podem pedir ajuda e dar feedbacks.
- Publicar
Sugestões de tecnologias:
- Next 13
- React
- Stripe
- Prisma
- MySQL
- Tailwind
Tecnologias no code ou low code:
- Bubble io
- Flutter flow
- WeWeb
Para o sucesso de um SaaS sempre foque na dor do usuario. A pessoa que contrata um software quer apenas resolver o problema dela. Seu papel como desenvolvedor é criar o software que faz isso.
Espero ter ajudado.
Em breve pretendo construir um produt hunter brasileiro open souce com a comunidade...
Trabalho com Saas, já vi e já fiz muita coisa, eu começaria com a técnologia que você já conhece, se é java, vá com Java, se é NodeJS vá com NodeJS. Num primeiro momento o importante é saber se alguem vai usar esse produto. No começo use o máximo de recurso gerenciado que puder, utilizo mto AWS, login com AWS Cognito, armazenamento com AWS S3, envio de e-mail com AWS SNS, e outros, atualmente uso bastante o EC2, mas comecei com VPS mesmo, sem erro. Esses produtos te poupam muito tempo e esforço e não são absurdamente caros, o preço aumenta conforme o uso. Fuja de microserviços, comece com monólitos. Pode acreditar, você vai sentir a necessidade de começar a separar as coisas.
Use um serviço de autenticação externo, como o Keycloak. Existem outras opções.
Integração com gateway de pagamentos não são simples. O ambiente de produção é sempre diferente!! Não deixe isso para depois.
Sobre a arquiterura da aplicação em si, a solução com o melhor "track record" é o ror. Mas veja bem o rails não é exatamente o framework ruby on rails, mas a arquiterura e padrões que ele impõe! Não tenho dados agora, mas posso garantir muito dos sass mais bem sucedidos foram feitos usando rails. Conheço vários. Tambem conheco um framework rails like para as principais linguagens!
Um abraço e bons estudos!
Usa algum framework de PHP recomendo fortemente o LARAVEL, começa com o básico bom e velho monolito!
Quando for surgindo mais necessidade de crescer e melhorar isso vai acontecendo aos poucos, apenas execute e faça funcionar!!
Sucesso meu caro!
pega um next, nuxt e dale