É viável hospedar SaaS em servidor próprio em casa? Como testar a capacidade de tráfego?

Olá pessoal, atualmente tenho dois servidores que comprei usados por um preço acessível, cerca de R$ 600. Estou utilizando o que tem as melhores configurações:

  • Processador: Intel(R) Xeon(R) CPU X3430 @ 2.40GHz, 4 núcleos
  • Memória: 8 GB de RAM DDR3 1333MHz, com 3 slots disponíveis para expandir
  • Armazenamento: 2 HDs de 1TB em RAID 1 (com 3 slots para mais discos)
  • Internet: 400 Mbps com IP fixo fornecido pela minha operadora e porta gigabit

Esse servidor está sendo usado para hospedar meus sistemas SaaS (ainda em desenvolvimento). Para gerenciar o ambiente, optei pelo Virtualmin + Webmin em vez do cPanel, que considero ótimos gerenciadores de servidor. O Virtualmin e o Webmin estão configurados para rodar como servidor de DNS, email, Apache e FTP, além de já ter configurado o domínio principal com Child Nameservers apontando para meu IP, permitindo que eu utilize meu próprio nameserver para configurar outros sites.

Minha dúvida é sobre a viabilidade de manter essa infraestrutura em casa. Os únicos problemas que enxergo são eventuais quedas de energia ou falta de internet, mas essas ocorrências são bem raras. Para dar uma ideia, o servidor já ficou quase um mês sem nenhuma interrupção.

Além disso, gostaria de saber como posso testar o limite de tráfego que meu servidor pode suportar com múltiplos acessos simultâneos. Quais ferramentas ou métodos vocês recomendam para medir isso?

Agradeço desde já pela ajuda!

Tudo depende da necessidade e possibilidade do teu cliente. Hoje eu rodo uma infra na minha casa, mas tenho infraetrutura pra isso, nobreak, geradores, redundância de internet (fibra e satélite), backups em nuvem (automáticos) e offline (discos rígidos), meu uptime é de ~99.9%.

Qual era a necessidade do meu principal cliente? custo... e de quebra tenho uma receita recorrente bem boa pelo tempo que dedico, além do investimento inicial

Tenho energia solar aqui, então isso reduziu drásticamente o meu custo, só não considero zero pq paguei pelo sistema solar (sem isso acho que inviabiliza)

Sobre as quedas de energia, logo no inicio perdi dois discos numa queda de energia, backup era atualizado, restaurei em outros discos com espaço livre e vida que segue (nobreak adquirido no mesmo dia), mas queda de energia em um servidor acho que é a pior coisa que pode acontecer

E sabe o que é o mais massa nesse trampo todo? o aprendizado, desde a infra (ai falo de tudo, tudo mesmo, até elétrica, qual seria a necessidade real de automatizar um gerador de energia pra uso doméstico?), configurações de firewall, roteadores, não acertei de primeira, óbvio, mas hoje ta extremamente estável

Tenho infra para o dobro do que rodo hoje, posso expandir muito e subo servidores com recursos ótimos sem tirar um tostão a mais do bolso já que tudo fica ligado 24x7

Quando se investe e faz acontecer, os resultados compensam. No meu caso, também estou planejando adquirir um nobreak em breve para evitar problemas com quedas de energia. Quanto aos backups, estou no processo de automatizá-los — por enquanto, já configurei backups semanais, mas ainda estou fazendo o salvamento de forma manual, pois não implementei um sistema totalmente automatizado. Concordo plenamente sobre o aprendizado. Desde que comecei, aprendi muito sobre redes, e é fascinante o quanto você vai descobrindo e melhorando com o tempo. Essa curva de aprendizado, seja em redes, segurança, ou até questões elétricas, como você mencionou, é algo valioso demais. Ter sua própria infraestrutura realmente traz economia a longo prazo, mas claro, o investimento inicial pode ser alto. No entanto, uma vez que você supera essa fase, o sistema acaba se pagando e se torna autossustentável. Sem dúvida, isso é um dos grandes benefícios de rodar uma infraestrutura própria em casa.

Trabalho a mais de 25 anos com Ti e desde o setor público que foi onde comecei até o privado(principalmente) tudo se resume ao faturamento/valor da empresa, ou seja, Quanto custa 1 hora do seu cliente sem as soluções que você esta disposto a vender?.

Numa analise basica com a matriz SWOT voce descobre o que sua solução é para seu cliente, e tambem pode avaliar o seu negócio pra saber se é viável diante das soluções existentes no mercado.

Infraestrutura é algo tentador porque da uma sensação de "Poder". Por saber que sua empresa prove uma solução para diversas empresas/negócios.

Pra te animar lembre-se que grandes empresas do seguimento um dia tiveram seu início. Hoje a maior empresa do seguimento, no inicio vendia a infra que sobrava.

Pra finalizar minhas considerações, o PLANEJAMENTO, que por mais chato que seja(reuniões, papelada...) pode mitigar o numero de erros no início do seu negócio. Procure orientações com empresas como o Sebrae, para nortear a parte burocrática nesse planejamento e boa sorte.

Realmente, a infraestrutura traz uma sensação de poder, especialmente sabendo que estou gerenciando tudo diretamente, mas eu sei que o foco tem que ser sempre o cliente e o quanto a minha solução agrega para eles. A questão do valor da hora sem as soluções que estou propondo é algo que vou considerar com mais atenção ao definir o posicionamento do meu SaaS. Achei interessante a sugestão de usar a matriz SWOT para entender melhor as fraquezas e forças, tanto do meu negócio quanto das necessidades do cliente. Vou aprofundar essa análise para ver onde consigo agregar mais valor. Quanto ao planejamento, reconheço que é uma parte essencial. E na parte burocrática já estou correndo atrás pesquisando valores e tudo mais, pois quero fazer tudo certo para não ter dor de cabeça e erros. Obrigado pelas dicas e por compartilhar sua experiência!

É possível? Sim. Mas não é recomendado por aspectos de segurança. Uma hora vão invadir tua rede aí e você vai ver eles sequestrarem seus dados. Se você soubesse a quantidade de ataques que fazem aos servidores você não faria isso. Muito melhor contratar uma vps de 5 dólares por mês que tem inclusive uma configuração melhor.

Pior que estavam tentando realizar um ataque de força bruta no servidor. Embora o problema tenha sido mais por falta de atenção da minha parte, já tomei algumas medidas para reforçar a segurança. Atualmente, estou usando o Fail2Ban para bloquear tentativas de acesso indesejadas e reforcei a segurança das senhas. Além disso, desativei o acesso root via SSH, alterei a porta padrão do SSH e também modifiquei a porta do Virtualmin para uma personalizada. Ainda estão tentando acessar o FTP e o Dovecot, mas como não estou utilizando o FTP, removi a regra do firewall temporariamente. Em breve, vou reativá-la e aprimorar a segurança dessa parte. No entanto, reconheço que o servidor ainda está vulnerável em alguns aspectos e pretendo melhorar isso. Você tem alguma sugestão para fortalecer ainda mais a segurança?
Mude as portas padrão do banco de dados e trave o acesso por ips externos. Eles ficam buscando por portas abertas em PostgreSQL, por exemplo, e conseguem entrar. Já vi acontecer em cliente no dia seguinte que colocou o banco na vps. Segurança realmente é um aspecto muito importante. Nas vps que gerencio, eu uso o Aapanel, aí ele disponibiliza esse fail2ban também.
Valeu pela dica mano, vou fazer isso para evitar problemas! Esse Aapanel ai e bom?
Resolve o problema, óbvio que não tem como esperar um milhão de features incríveis por ser gratuito, mas faz o básico muito bem, hospedo meus projetos, não me dá dor de cabeça, faço até servidor de email.
Depois irie testar ela em um ambiente de testes, para ver como é.

É possivel, mas eu não recomendaria. Você pode pegar uma VPS com 30 reais na absam e você pode pagar por hora de uso. Eu pelo menos faço isso e tem sido uma mão na roda, principalmente para testar algumas coisas. https://absam.io

Pelo preço dessa VPS, realmente seria interessante usá-la como um segundo nameserver, já que atualmente ambos os meus nameservers estão apontados para o mesmo IP. Assim, se acontecer algum problema com meu servidor principal, teria pelo menos uma redundância básica, mesmo que a VPS seja mais simples. Ótima dica, obrigado!
Já usei a Absam em alguns serviços, chegando a ter mais de 3k/mês de fatura lá, quando tive um BO, foi uma luta para resolver e no final, bem, não resolveu. Durante praticamente 6 meses, não tive um contato bem sucedido, os chamados na plataforma simplesmente 'sumiam' e não sabiam explicar, depois de abrir processo tive uma resposta e um "ressarcimento" que chutam, não foi no cartão de crédito já usado na plataforma, mas sim, como crédito para eu usar lá de novo. No final das contas, migrei para servidor próprio na sede da empresa, alguns na Linode, Digital Ocean, Oracle e AWS, depende do uso, cliente, projeto e afins. Não é querendo desaminar, mas sim, apontar meu lado e de mais uns 2~3 pessoas que tive contato posterior ao meu!...

Respondo várias dúvidas nesse comentário

separo as seguintes perguntas principais:

  • Qual a necessidade seu servidor tem de estar sempre online?
  • Como você vai se proteger de ataques?
  • Porque não colocar numa VM Oracle grátis?

8 GB de RAM DDR3 1333MHz

Aqui acho que vai ser o maior gargalo. Essa memória é MUITO lenta. Só colocaria aqui projetos raramente acessados.

como posso testar o limite de tráfego que meu servidor pode suportar com múltiplos acessos simultâneos

faço testes com o K6. Você precisa criar um script (Javascript) que simula ao máximo um utilizador real e configurar quantos usuários vão bater na aplicação.

Respondendo suas perguntas: 1. **Necessidade de o servidor estar sempre online**: No momento, como ainda estou finalizando meus sistemas SaaS, não tenho um tráfego constante, mas a ideia é que, uma vez que os projetos estejam ativos, a disponibilidade seja alta. Tenho ciência de que quedas de energia e internet são possíveis gargalos, então já estou planejando adquirir um nobreak. E agorar tenho um segundo nameserver em uma VM. 2. **Proteção contra ataques**: Estou usando **firewalls** configurados via **Virtualmin/Webmin** e implementando regras de segurança, além de limitar acessos e monitorar tráfego suspeito. É algo que estou aprimorando com o tempo, mas sei que a segurança é um ponto crucial, especialmente quando começar a hospedar mais dados e sistemas. 3. **VM Oracle grátis**: É realmente uma boa opção, especialmente porque estou planejando investir em uma VM como solução de backup para imprevistos. Recentemente, um usuário aqui do TabNews me recomendou uma alternativa que parece ser eficiente e acessível. No momento, estou aproveitando os créditos do Google Cloud e configurei um segundo nameserver lá, o que garante que, caso o meu servidor principal tenha algum problema, meus usuários ainda terão acesso sem interrupções. 4. **Memória DDR3 1333MHz**: Concordo, essa memória é realmente um gargalo, especialmente para projetos que demandam maior performance. No entanto, para os meus projetos iniciais, que não terão acessos intensos logo de cara, acredito que ela aguente. Já estou avaliando a possibilidade de expandir a memória nos slots disponíveis para melhorar o desempenho. 5. **Testes de limite de tráfego**: A dica do **K6** é excelente, obrigado! Eu estava procurando exatamente uma ferramenta que simulasse usuários para testar o limite do servidor. Obrigado ai pelas sugestões!

Sei de algumas empresas que fazem isso, mas são saas que rodam ha 20 anos, numa epoca em que iaas eram raras. Para eles foi conveniente continuar assim.

Mas sinceramente, acredito que é muita responsabilidade para uma empresa pequena. São horas que poderiam ser gastas vendendo o seu produto

Realmente concordo as vezes gasto tempo em ter que gerenciar isso, mas vejo que acaba até sendo um aprendizado. O único maior problema nisso e a segurança que se não tomar cuidado tudo vai por por água abaixo. Mas nessa parte de vendas tenho uma sócia então ela vai me ajudar muito nisso.

eu ja pensei em fazer isso (so li o titulo, desculpe, kkkk)

mas na semana seguinte começou epoca de chuva aqui na regiao e a energia começou a cair quase toda semana, a ultima foi 26h sem energia, e desde então todo dia tem alguma variação na energia que desliga meu servidor (um mini pc onde eu rodo algumas api basicas que sao utilizadas pelo meu serviço)

então, no meu caso, seria furada fazer tudo rodar localmente. nao sei como seria ai pra vc. mas eu prefiro rodar em cloud mesmo, uma dor de cabeça a menos.

O meu e tranquilo rodar aqui, o unico ruim mesmo e só o fato que as vezes passa caminhão na rua ai puxa os fios de fibra ótica ai a operadorar tem que vim e arrumar ai as vezes demorar 48h, mas isso não ocorre com frequencia não. Meu maior problema e a segurança no servidor.
pesquisa por "cloudflare tunnel" é um serviço da cloudflare que fica dentro do menu zero thrust. ele solicita um cartão de crédito mas tem uma camada free pra usar. uso ele aqui pra fornecer publicamente as apis que hospedo em casa. no meu caso eu uso por conta de não possuir um ip público, então ele resolve isso pra mim, mas também fornece proteção da cloudflare pras aplicações que rodam por ele. e não pago nada por isso.
Funciona mesmo sem ter um ip fixo?
sim, vc roda um "client" no servidor local pra que seja feito o redirect das requisições da Internet pro seu servidor local, tudo passa pela rede da cloudflare. semelhante ao oq o ngrok faz.