DevOps & Plataforma

Infraestrutura como código, orquestração de container, observabilidade — do terraform plan até o scrape do prometheus.

devops.mdsim ao vivo abaixo ↓

Trato infraestrutura como software. Terraform pra tudo que dá pra provisionar — clusters, DNS, object storage, IAM, regras de CDN, backend de segredos — versionado, revisado e reconciliado via CI. Nada de ClickOps, nada de drift sem rastro, nada de "espera, quem mexeu em prod semana passada?". Cada ambiente — laptop local, staging, prod — sobe dos mesmos módulos com vars diferentes.

Orquestração em Kubernetes quando o workload pede, k3s quando não pede. k3s é o ponto doce pra frotas pequenas: binário único, etcd embarcado ou sqlite, ingress incluso, roda feliz em VPS barato no Hetzner ou DigitalOcean. Helm pra entregar apps internos como charts decentes, com values por ambiente. ArgoCD reconcilia git → cluster, então o manifest no repo é a fonte da verdade — não o que um humano fez kubectl-apply às 3 da manhã.

Edge e shaping de tráfego com Nginx ou Traefik — terminação TLS, gzip/brotli, coalescing de requests, rate limit, mTLS pros upstreams, reescrita de header pra roteamento por tenant. Cloudflare na frente quando proteção DDoS ou cache agressivo no edge importa. Healthcheck remove pod morto do pool em segundos; HPAs escalam deployments em rps/pod ou pressão de memória com cooldowns sensatos pra nada ficar piscando.

Peças com estado eu rodo eu mesmo quando controle importa: Redis pra cache em hot-path e pub/sub (primary + replica com failover via sentinel, snapshots RDB + AOF, política de eviction afinada por workload), PostgreSQL pra tudo que precisa sobreviver (replicação por streaming, PITR via WAL archive, pgBouncer na frente), Minio pra blob storage S3-compatível em hardware próprio.

Observabilidade é inegociável: Prometheus coleta o /metrics de cada pod num intervalo fixo, Grafana em cima pros dashboards e alerting, Loki pra agregação de log, e traces OpenTelemetry costurados pela stack inteira — um único trace ID acompanha o request do browser, passando pelo nginx, entrando no pod, atravessando uma chamada redis, descendo até uma query postgres. Alertas disparam em queima de SLO budget, não em threshold absoluto.

GitHub Actions e GitLab CI pro pipeline build/test/deploy — builds Docker multi-stage com cache de layer, scan de vulnerabilidade (Trivy + Grype) bloqueando prod, publicação de SBOM, artefatos assinados com cosign, rollback automático em readiness probe falhando. Segredos no Vault ou em env injection via KMS — nunca no repo, nunca num YAML commitado por acidente.

O widget abaixo é uma simulação ao vivo de cluster. terraform provisiona nodes em sequência, o scheduler do kube faz bin-pack dos pods no node ready menos carregado, nginx faz round-robin nos upstreams e remove backend morto, redis promove a replica quando o primary morre, prometheus coleta de todo mundo no intervalo, o HPA escala frontend e backend em rps/pod observado. Click em qualquer pod pra matar, arrasta pra outro node pra migrar, click no header do node pra cordon + drain, ativa chaos pra armar o macaco. Dá spike no tráfego e vê o HPA reagir. Destrua tudo e re-applique. Cada componente se comporta do jeito que o real se comporta, só compactado o suficiente pra caber na tela e reagir em tempo humano.

ESC