“Infra só escala quando ser previsível vira cultura.” — #30DiasJava Runbook

🎯 Objetivo do Day 6

Com o Notification Service online, o foco passou a ser infraestrutura. O Day 6 do #30DiasJava consolidou o stack Docker para que qualquer serviço — atual ou futuro — rode com a mesma segurança, performance e experiência de onboarding.

🛠️ Destaques da implementação

  • Naming convention: todas as imagens seguem adelmo/{servico}:{tag}. A padronização ajuda no cache de CI/CD e na leitura dos registries.
  • Compose profissional: arquivo docker-compose.professional.yml com limites de CPU/RAM, no-new-privileges, mounts read_only e health checks autenticados.
  • Workspace remoto: container dedicado com SSH (ssh -p 2222 challenge@localhost) e scripts de manutenção (scripts/maintenance.sh, cleanup-and-organize.sh).
  • Observabilidade embutida: Prometheus e Grafana sobem com dashboards base, logs rotacionados e alertas mínimos prontos.
  • Documentação viva: hardening, secrets e fluxo de backup documentados diretamente no repositório.

💡 Lições do dia

  • O custo de um padrão só aparece quando outra pessoa tenta executar o mesmo stack — por isso scripts e doc vêm antes de “rodar manualmente”.
  • Health checks sem autenticação são portas abertas; ajustar cada serviço para responder com tokens/headers foi decisivo.
  • Ter um workspace remoto evita “works on my machine” e ainda facilita pair programming com quem acompanha o desafio.

🔗 Recursos


Next episodeDay 7/30 — Intelligent Assistants Powered by Real-Time Events