Nem todos os projetos precisam da mesma infraestrutura

Após quase 2 anos atuando como DevOps, uma das coisas que fez eu enxergar a infraestrutura de outra maneira foi perceber que não existe uma única solução certa para todos os projetos.
Em alguns casos, faz mais sentido adotar serviços mais simples e com menor esforço operacional. Já em outros, a demanda exige mais controle, segurança e escalabilidade. Digo isso com base na experiência que possuo atualmente, onde a empresa que atuo desenvolve software para terceiros, e cada um dos nossos clientes é um caso à parte.
Uma aplicação CRM e uma fintech de equity crowdfunding (dois exemplos de projetos nos quais já atuei) possuem requisitos e necessidades de infraestrutura muito diferentes. Tentar usar uma mesma ‘forma de bolo’ para a infraestrutura desses dois projetos sem considerar alguns pontos (que vou citar em breve) é uma má ideia.
Hoje, antes de definir uma infraestrutura, ou até mesmo qual CSP(Cloud Service Provider) utilizar, alguns pontos que eu costumo analisar são:
- Quanto o cliente está disposto a pagar de mensalidade na nuvem? (Um dos pontos mais importantes, pois pode se tratar de um projeto já em andamento, ou um simples MVP)
- Parte da aplicação pode ser configurada no exterior, ou deve se manter em nosso território? (LGPD e latência são cruciais)
- O cliente vai aceitar criar conta em mais de uma plataforma na nuvem? Ou devemos centralizar os serviços alugando-os de somente um lugar? Cliente mais leigos normalmente preferem pagar uma única fatura (mesmo que isso fique mais caro em alguns cenários) ao invés de configurar seu cartão de crédito em mais de uma plataforma
- Os famosos trade-offs entre esforço operacional x custo mensal. Configurar banco de dados + servidor web dentro de uma mesma VPS quase sempre sai mais barato, mas será que vale a pena? Quem irá atualizar esse banco quando for necessário ou quem cuidará dos backups?
- Quantos usuários usarão o sistema em momentos de pico? É importante prever possíveis gargalos futuros
- O provedor possui alguma limitação específica? Alguns CSPs bloqueiam portas de e-mail, por exemplo (Já sofri com isso, foi um saco para corrigir)
Já atuei em cenários onde o cliente possuía uma VPS em um serviço não tão conhecido, e tivemos que ajustar toda a infraestrutura no mesmo servidor por questões de orçamento. Em outros casos, também foi necessário configurar vários serviços da AWS para atender requisitos de um projeto mais robusto e complexo.
Muitas vezes, a melhor decisão técnica não é a mais complexa ou a mais famosa. Infraestrutura depende de contexto do projeto, sua sustentabilidade operacional e manutenção ao longo do tempo. Nessa minha jornada na área de DevOps / Servidores, vejo que cada um dos cenários trás aprendizados diferentes.