Executando verificação de segurança...
9

Como você se declara programador se nunca soldou os componentes de uma placa mãe?

Esse foi o tom que vi na sua pergunta. Você está cobrando de programadores algo que não é da responsabilidade deles. Configurar firewall, configurar equipamentos de rede e crimpar cabos são responsabilidades da infra.

Sim, são conhecimentos excelentes pra se ter, mas não são obrigatórios.

Eu tenho um Home Server simplesmente porque sou entusiasta e posso afirmar com propriedade que ficar HORAS conversando com a operadora pra resolver problemas de rede não mudou em nada minhas habilidades de programação.

Saber criar várias VMs em uma mesma máquina, configurar redirecionamentos de porta, configurar prioridade de conexões, configurar firewall X ou Y, alterar XML do KVM na mão para distribuir recursos escassos do meu servidor da melhor forma possível também não mudou em nada minhas habilidades de programação.

Programadores precisam conhecer, não dominar

A única coisa que eu preciso saber é que na VM X eu tenho a porta 80 e 443 abertas, o resto é resto. Isso qualquer interface web de cloud faz.

Cloud é muito cara, um notebook na garagem é muito mais barato

Quero que você coloque no papel:

1 - Internet da operadora A com SLA profissional -> aqui na minha cidade o último orçamento que tenho era questão de R$ 4000 / mês pra uma internet de 500 mbps

2 - Internet da operadora B com uma infraestrutura totalmente diferente da operadora A -> exatamente! As duas operadores não podem usar a mesma rota, tem que ser totalmente distintas, e você precisa de 2 porque se uma cair sua infra não pode ficar sem conexão

3 - Gerador de energia principal e backup -> se sua energia car não pode ficar indiponível
4 - Ar condicionado principal e backup

Aqui acredito que já passou dos R$ 50 / mês da AWS

Encerrando deixo minhas perguntas desta publicação:

  • Seu servidor precisa estar sempre disponível?
  • Você possui redundância de links de internet?
  • Se sim elas passam pelo mesmo backbone (quando uma cai a outra cai também)?
  • A fibra delas passa pelos mesmos postes nas ruas?
  • O que acontece se um caminhão muito alto passar e arrebentar todos os fios de uma rua?
  • O que você vai fazer se sua internet cair?
  • Você tem mais de um local pra hospedar e replicar seus servidores? (mínimo: bairro diferente, recomendado: estados diferentes)
  • Qual o SLA das suas operadoras? Ela satisfaz o que você precisa?
  • Como você vai se proteger de indisponibilidade de energia elétrica?
  • Qual a latência do seu link a todos os clientes? Isso vai interferir na qualidade do seu serviço?

Essas perguntas precisam ter respostas apenas caso você queria criar algo comercial.

Para o caso de um projeto comercial ou um projeto de estudos:

  • Você tem alguma proteção para ataques DDOS? O que acontece se alguem mandar um ataque de 1Tb/s pra sua rede?
  • Como você vai proteger sua rede contra ataques de força bruta ssh, portas abertas, exploits de equipamentos, elevação de permissao ...?
  • Qual firewall você vai usar?
  • Quem vai ter acesso físico ao seu servidor?
  • Como você vai controlar a temperatura do servidor (para o caso de ter mais do que uma única máquina)
  • Sua infraestrutura suporta um pico de acessos inesperado?
    Você tem IP Fixo?
  • Se você nao souber como se proteger desses ataques NÃO CRIE UM SERVIDOR EM CASA. Você cria o risco de deixar a internet da sua casa indisponível até sua operadora querer resolver seu problema, seja trocando seu ip, seja aplicando regras de firewall.

Assuma que todos vão querer te atacar, roubar seus dados, te deixar indisponível, derrubar sua conexão.

Você precisa se preparar para todos os problemas, eles só precisam achar um

Cada um tem seu caminho

Se todos os programadores aprendessem as mesmas tecnologias, usassem a mesma stack e resolvessem os mesmos problemas só teríamos especilistas em uma única função.

É uma arrogância absurda querer que todos sigam o mesmo caminho, você está cobrando que todos os programadores sejam arquitetos de sistemas, muitos estão nessa área só pra fazer o seu arros com feijão, ganhar seu salário e no fim do dia aproveitar com sua família.

Poucos são os que vão se destacar, poucos querem chegar pra jogar na série A.

Se você quer, faça você! Não cobre que os outros sigam o seu caminho

Carregando publicação patrocinada...
4

2 - Internet da operadora B com uma infraestrutura totalmente diferente da operadora A -> exatamente! As duas operadores não podem usar a mesma rota, tem que ser totalmente distintas, e você precisa de 2 porque se uma cair sua infra não pode ficar sem conexão

Lembrando que não se fala apenas de rota no sentido de rede, mas fisicamente também.

Datacenters profissionais recebem energia, internet, agua, de forma redundante e geralmente chegando por lados diferentes do prédio, de postes diferentes, de fibras que percorrem caminhos diferentes. É algo impensável para fazer localmente em pequena escala

2

Concordo muito no que você falou e gostei muito do seu encerramento com as perguntas. Não quis passar de arrogante e muito menos falar que a pessoa deixa de ser programador por não saber subir uma infraestrutura no famoso faça você mesmo (Do It Yourself).

Eu mesmo estou estudando e cansei de ser acomodado com subir na nuvem ou deixar que subam a aplicação por mim, sem eu entender como fazer isso. Não gosto de ficar passivo sem entender como alguem faz um serviço de deploy e infrasestrutura e ninguém quer aprender porque uma pessoa faz por todas. Por isso, disse essa questão do trabalho a pessoa se especializou naquilo e eu quero também por saber que é meu lado fraco.

Mais uma vez desculpa se o meu tom ficou muito arrogante.

2

Brabo. Se antes que não queria implementar minha própria rede, agora já não quero mais ainda. Eu ja conhecia alguns desses problemas que você citou, e fazem muito sentido. E bom conhecer, é muito bom mesmo, mas não é algo obrigatório. Boas observações.