"Nosso banco de dados não vai escalar".
Base de dados:
- 40GB de dados totais
- 12 consultas por segundo
- 0 índices nas colunas de consulta
- N+1 consultas em toda parte
- Tempo médio de consulta de 200ms
Solução:
- Fragmento em 12 bancos de dados
- Adicionar réplicas de leitura
- Implementar a camada de cache
- Mudar para NoSQL "web scale"
Solução real:
- Adicionar 3 índices
- Corrigir as consultas N+1
- Tempo de consulta de 5ms
- Postgres de $40/mês
Você não tem problema de escalonamento.
Você tem um problema de competência.
Vaga de emprego: "Engenheiro DevOps"
Trabalho real:
- Implantar manualmente arquivos WAR no Tomcat
- SSH em servidores para verificar logs
- Reiniciar serviços quando eles travam
- Atualizar regras de firewall via tickets
- Sem infraestrutura como código
- Sem CI/CD
- Sem nuvem
Você não está contratando um Engenheiro DevOps.
Você está contratando um sysadmin que sabe que o Docker existe.
Apenas seja honesto sobre o cargo.
Administradores de sistemas são valiosos. Pare de fingir que está fazendo DevOps quando não está.
Seu arquivo Docker:
- FROM ubuntu:latest
- Instala 47 pacotes
- Executa como raiz
- Tamanho de imagem de 2,3GB
- Reconstrução leva 15 minutos
- Varredura de segurança mostra 89 vulnerabilidades
Seu aplicativo:
- Um script em Python
- 3 Dependências
- Poderia rodar no Alpine em uma imagem de 50MB
Você não está usando recipientes.
Você está construindo VMs com Dockerfiles.
É isso que acontece quando as pessoas aprendem Docker em artigos aleatórios do Medium.