Roadmap: Arquiteto de Software
Trilha de 12 semanas para quem vai atuar como arquiteto em um contexto de Python, Vue, microsserviços, Kubernetes, Google Cloud e DDD.
Premissa
A maior lacuna nessa transição raramente é técnica. O que muda no cargo é decidir sob incerteza, justificar trade-offs por escrito e influenciar times sem autoridade formal. O plano abaixo assume isso.
Formato: 12 semanas, ~8-10h/semana. Cada semana tem tópicos, referências, cursos da Alura e um entregável.
Legenda: ⭐ prioridade alta · 🔗 documentação/artigo · 🎓 curso Alura · 📘 livro
Semana 0 — Diagnóstico
Não estude no vácuo. Levante primeiro:
- Quantos serviços existem? Quem é dono de cada um?
- Qual o banco de cada serviço? Compartilham base? (se sim, já é um bom sinal)
- Como serviços conversam: HTTP síncrono, Pub/Sub, gRPC, fila?
- Deploy: Cloud Build? ArgoCD? Helm ou Kustomize?
- GKE Standard ou Autopilot? Quantos clusters e namespaces?
- Onde estão os incidentes recorrentes? (pergunte ao time de plantão)
Ferramentas
- 🔗 C4 Model
- 🔗 Structurizr — diagramas como código
- 🔗 Excalidraw · Mermaid
Entregável
Diagrama C4 níveis 1 e 2 (Contexto e Container) da arquitetura atual. O que você não conseguir desenhar é exatamente sua lacuna de conhecimento.
Mês 1 — Python e Google Cloud
Semana 1 — Python idiomático
Pule "Python básico". Vá direto ao que muda em relação a TypeScript.
Tópicos
- Type hints avançados:
Protocol(structural typing, o equivalente a interface do TS),TypedDict,Generic,TypeVar,Literal - Type checking estrito com mypy ou pyright
- Pydantic v2:
BaseModel, validators,BaseSettings - Async:
asyncio, event loop,TaskGroup,gather - GIL e free-threading (3.13+)
- Tooling moderno:
uveruff
Referências
- 🔗 typing (oficial) · Protocols · mypy cheat sheet
- 🔗 Pydantic v2
- 🔗 asyncio · Async IO no Real Python
- 🔗 uv · ruff
- 🎥 ArjanCodes — design patterns em Python
Alura
- ⭐ 🎓 Formação Boas práticas em Python — usa FastAPI + PyTest, cobre PEP 8, tipagem, SOLID e Design Patterns
- ⭐ 🎓 Python: design, SOLID e boas práticas — cobre ADRs, C4 Model, repositórios com interface e Pydantic. Faça cedo, mesmo fora de ordem.
Entregável
Reescreva um endpoint seu em Python com type hints estritos passando no mypy.
Semana 2 — Stack de aplicação Python
Tópicos
- FastAPI: dependency injection, routers,
lifespan,response_model - SQLAlchemy 2.0 (estilo
select()), sessions, unit of work, N+1 - Alembic — o equivalente ao
prisma migrate - pytest: fixtures, parametrize,
pytest-asyncio, testcontainers - Arquitetura hexagonal:
domain/,application/,infrastructure/
Referências
- 📘 ⭐ Architecture Patterns with Python — gratuito. DDD + repositório + unit of work + event-driven, tudo em Python.
- 🔗 FastAPI · FastAPI Best Practices
- 🔗 SQLAlchemy 2.0 ORM · Alembic
- 🔗 pytest · Testcontainers Python
- 🔗 Netflix Dispatch — projeto real, FastAPI em camadas
Alura
- 🎓 Design Patterns em Python
- 🎓 Python: SOLID e Design Patterns
- 🎓 Formação Django REST APIs — só se a empresa usar Django
Lacuna na Alura
Não há formação de FastAPI, SQLAlchemy 2.0 ou Alembic. Use a documentação oficial e o livro cosmicpython.
Entregável
CRUD com camadas separadas, repositório abstrato e testes de integração com testcontainers.
Semana 3 — GCP: fundação
Tópicos
- Hierarquia Organization → Folder → Project e herança de Org Policies
- IAM: roles, service accounts, Workload Identity Federation, least privilege
- VPC: subnets regionais, firewall, Cloud NAT, Private Google Access
- Conectividade privada: VPC Peering, Private Service Connect
- Compute: GKE Standard vs Autopilot, Cloud Run, Cloud Functions
- Cloud SQL: HA regional, read replicas, Auth Proxy, IP privado
- Memorystore, Cloud Storage
Referências
- 🔗 ⭐ Exam Guide do Professional Cloud Architect (PDF) — funciona como checklist completo
- 🔗 Cloud Architecture Center · Well-Architected Framework
- 🔗 IAM overview · Workload Identity Federation
- 🔗 VPC · Private Service Connect
- 🔗 GKE Autopilot vs Standard · Cloud SQL
- 🔗 Google Cloud Skills Boost — labs práticos
- 🔗 awesome-gcp-certifications
- 🎥 Google Cloud Tech
Alura
- ⭐ 🎓 Formação Associate Cloud Engineer — base sistemática de IAM, rede, compute e storage
- 🎓 Compute Engine: escalabilidade e alta disponibilidade
- 🎓 Cloud Run: funções serverless
- 🎓 Hub de cursos GCP
Infraestrutura como código
Entregável
Provisione via Terraform um projeto com VPC, Cloud SQL privado e um Cloud Run acessando o banco.
Semana 4 — GCP: mensageria, entrega e observabilidade
Tópicos
- Pub/Sub: push vs pull, ack deadline, dead letter topic, ordering keys, exactly-once, schemas
- Artifact Registry, Cloud Build, Cloud Deploy
- Secret Manager e Cloud KMS
- Operations Suite: Logging (sinks, log-based metrics), Monitoring, Trace
- Billing: labels, budgets, Committed Use Discounts, FinOps
Ponte com o que você já sabe
Pub/Sub e BullMQ resolvem o mesmo problema com garantias diferentes. Compare explicitamente: ack deadline vs lock duration, DLQ vs failed queue, ordering keys vs FIFO por chave.
Referências
- 🔗 Pub/Sub overview · Exactly-once · Ordering keys · Dead letter topics
- 🔗 Cloud Build · Artifact Registry · Secret Manager
- 🔗 Cloud Logging · Cloud Monitoring
- 🔗 O que é FinOps
Lacuna na Alura
Pub/Sub, Cloud Build, Secret Manager e Cloud Monitoring têm cobertura fraca ou nenhuma. Vá direto na documentação do Google.
Entregável
Produtor → Pub/Sub → consumidor, com DLQ configurada e alerta no Cloud Monitoring quando a DLQ receber mensagens.
Mês 2 — Kubernetes e Operação
Semana 5 — Kubernetes: núcleo
Tópicos
- Control plane: API server, etcd, scheduler, controller manager, kubelet
- Workloads: Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, CronJob
- Estratégias de deploy: RollingUpdate (
maxSurge/maxUnavailable), blue-green, canary - Services: ClusterIP, NodePort, LoadBalancer, headless; DNS interno
- Ingress vs Gateway API
- ConfigMap, Secret, volumes projetados, PVC/StorageClass
Referências
- 🔗 ⭐ Kubernetes Concepts — melhor que a maioria dos cursos pagos
- 🔗 Componentes do cluster · Deployments · Services
- 🔗 Gateway API · Argo Rollouts · kind
- 🎥 PT-BR: Fabricio Veronez · LinuxTips
- 🎥 EN: TechWorld with Nana · KodeKloud
Alura — ⭐ Formação Orquestração de containers com Kubernetes, nesta ordem:
- 🎓 Criando clusters com kind, Minikube e Cloud
- 🎓 Pods, Services e ConfigMaps
- 🎓 Deployments, Volumes e escalabilidade
- 🎓 Kubernetes: orquestrar aplicações (foundation)
- 🎓 Kubernetes com microsserviços
Semana 6 — Kubernetes: confiabilidade e escala
A semana mais importante do plano
É aqui que se separa dev sênior de arquiteto. Se o tempo apertar em algum mês, corte de outro lugar.
Tópicos
- Requests vs limits; QoS classes (Guaranteed, Burstable, BestEffort)
OOMKilled, CPU throttling (CFS quota), por que limit de CPU pode piorar latência- Probes: liveness, readiness, startup — e o erro clássico de liveness derrubando pod saudável sob carga
- Graceful shutdown: SIGTERM,
preStop,terminationGracePeriodSeconds - Autoscaling: HPA, VPA, Cluster Autoscaler, KEDA (escala por tamanho de fila)
- PodDisruptionBudget, affinity/anti-affinity, taints/tolerations, topology spread
- Spot/Preemptible nodes
Referências
- 🔗 Requests e limits · QoS classes
- 🔗 Probes · Pod lifecycle
- 🔗 HPA · KEDA
- 🔗 PodDisruptionBudget · Topology spread
- 🔗 Stop using CPU limits · Learnk8s blog
Alura
WARNING
QoS classes, CPU throttling, graceful shutdown e KEDA não têm curso na Alura. Essa parte é doc oficial.
Entregável
No kind, provoque de propósito um OOMKill, um CPU throttling e um rolling update com downtime. Depois conserte cada um. Aprender pelo sintoma é o que te dá autoridade em incidente.
Semana 7 — Segurança e entrega contínua
Tópicos
- RBAC: Role, ClusterRole, bindings, ServiceAccount
- Workload Identity no GKE — pod autentica no GCP sem chave em Secret
- NetworkPolicy (default deny + allowlist), Pod Security Standards
- Admission controllers: Kyverno ou OPA/Gatekeeper
- Supply chain: cosign/Sigstore, Binary Authorization, SBOM, Trivy
- Helm vs Kustomize
- GitOps com ArgoCD: app-of-apps, sync waves, drift detection
- Service mesh (Istio/Linkerd) — e quando não vale a complexidade
Referências
- 🔗 RBAC · NetworkPolicy · Pod Security Standards
- 🔗 GKE Workload Identity · GKE hardening guide
- 🔗 Kyverno · OPA Gatekeeper
- 🔗 Trivy · Sigstore · Binary Authorization
- 🔗 Helm · Kustomize · ArgoCD
- 🔗 Linkerd · Istio
Lacuna grande na Alura
ArgoCD/GitOps, Helm avançado, Gateway API, NetworkPolicy, Kyverno e supply chain security praticamente não existem lá. Essa semana é toda doc oficial + canal do Fabricio Veronez, que cobre bem Helm e GitOps.
Semana 8 — Observabilidade e confiabilidade
Tópicos
- Métricas, logs, traces (+ profiles)
- Prometheus: PromQL (
rate,histogram_quantile), ServiceMonitor, cardinalidade alta como armadilha - Grafana, Loki (logs), Tempo (traces)
- OpenTelemetry: SDK, auto-instrumentação, context propagation (W3C traceparent), Collector
- Métodos RED (serviços) e USE (recursos)
- SLI, SLO, error budget, alerta por burn rate
- Logs estruturados em JSON, correlation ID entre serviços
- Postmortem sem culpa
Referências
- 🔗 ⭐ SRE Workbook — Cap. 5, Alerting on SLOs — leitura obrigatória
- 🔗 SRE Book · SRE Workbook · Implementing SLOs · Postmortem culture
- 🔗 Prometheus · PromQL basics · Grafana
- 🔗 OpenTelemetry · OTel Collector · W3C Trace Context
- 🔗 RED method · USE method
- 🔗 Alerting on SLOs na prática (SoundCloud)
Alura — é a área mais forte da plataforma. Faça tudo.
- ⭐ 🎓 Observabilidade e métricas: instrumentação, dashboards e SLOs no Kubernetes
- ⭐ 🎓 Observabilidade com OpenTelemetry e Grafana — projeto em Node.js + Postgres
- 🎓 Monitoramento: Prometheus, Grafana e Alertmanager
- 🎓 Coletando métricas com Prometheus
- 🎓 Formação SRE (busque na escola de DevOps)
Entregável
3 serviços no kind com trace distribuído ponta a ponta, dashboard RED e um alerta de SLO por burn rate.
Mês 3 — Arquitetura como disciplina
Aviso sobre a Alura
Aqui ela é o elo mais fraco do plano: o conteúdo de arquitetura é quase todo amarrado a Java, .NET ou PHP, e o de DDD é raso comparado aos livros. Use como reforço, não como fonte principal.
Semana 9 — Fundamentos de arquitetura
Tópicos
- Architecture characteristics (as "-ilidades") e por que competem entre si
- Estilos: monolito modular, microsserviços, event-driven, layered, hexagonal, clean architecture
- Trade-off analysis — a habilidade central do cargo
- ADR: contexto, decisão, consequências, alternativas descartadas
- C4, arc42, fitness functions, evolutionary architecture
- Conway's Law, Inverse Conway Maneuver, Team Topologies
Referências
- 📘 ⭐ Fundamentals of Software Architecture — Richards & Ford
- 🔗 adr.github.io · Templates de ADR · Artigo original do Nygard
- 🔗 Martin Fowler — Architecture Guide · Microservices · Conway's Law
- 🔗 arc42 · Fitness functions · Team Topologies · 12-Factor App
- 🎥 Developer to Architect · GOTO Conferences
Alura
- 🎓 Formação Arquitetura Java: do design de código à infraestrutura — DDD + Clean Architecture. Se tolerar o Java, o conteúdo conceitual é bom.
- 🎓 Alura+: Clean Architecture — o que é? e Design de código vs Arquitetura de software
- 🔗 Artigo: Padrões arquiteturais
Entregável
Escreva 3 ADRs sobre decisões já tomadas na sua empresa (retroativos). Mostre a um arquiteto sênior e peça crítica.
Semana 10 — Sistemas distribuídos e dados
Tópicos
- Replicação, particionamento/sharding, rebalanceamento
- Isolamento: read committed, snapshot isolation, serializable; write skew
- CAP e por que PACELC é mais útil na prática
- Consistência eventual, read-your-writes, causal consistency
- Idempotência, at-least-once vs "exactly-once"
- Transactional Outbox e CDC (Debezium)
- Event sourcing, CQRS — e quando não compensa
- Por que evitamos 2PC
Referências
- 📘 ⭐ Designing Data-Intensive Applications — priorize os capítulos 5, 7, 8, 9 e 11
- 🔗 Martin Kleppmann
- 🔗 microservices.io — catálogo de padrões · Transactional Outbox · Transaction log tailing · CQRS · Event Sourcing
- 🔗 Debezium · Dual-write problem · Outbox/Inbox e garantias de entrega
- 🔗 Jepsen — níveis de consistência · PostgreSQL transaction isolation
Alura
- 🎓 Formação Mensageria com Apache Kafka (busque na plataforma) — vocês usam Pub/Sub, mas Kafka dá o vocabulário de log de eventos que aparece em toda discussão de arquitetura de dados
Semana 11 — DDD de verdade
Teste rápido
Vocês "usam DDD". Descubra se é DDD estratégico ou só pastas com nome de DDD — é a confusão mais comum do mercado.
Estratégico (o que mais importa para arquiteto)
- Ubiquitous language, subdomínios (core, supporting, generic)
- Bounded context — heurística: o mesmo termo com significados diferentes é fronteira
- Context map: partnership, shared kernel, customer-supplier, conformist, ACL, open host service, published language
- Event Storming
Tático
- Entity, Value Object, Aggregate (fronteira transacional), Repository, Domain Event, Domain Service vs Application Service
- Antipadrões: anemic domain model, aggregate grande demais, repositório por tabela
Referências
- 📘 ⭐ Learning Domain-Driven Design — Khononov. Mais direto que o livro azul do Evans.
- 🔗 DDD Reference (Evans, PDF gratuito)
- 🔗 Bounded Context · Ubiquitous Language · Anemic Domain Model
- 🔗 Effective Aggregate Design — Vernon (3 PDFs gratuitos)
- 🔗 Event Storming · DDD Crew · Bounded Context Canvas
- 🔗 Anticorruption Layer
- 🎥 DDD Europe
Alura
- ⭐ 🎓 Domain-Driven Design em Python — o curso mais importante desta lista para o Mês 3. A proposta é desenvolver visão estratégica e defender decisões arquiteturais junto à gestão, que é literalmente a competência que define o cargo.
Semana 12 — Microsserviços na prática
Tópicos
- Decompor por bounded context, não por camada nem por entidade
- Distributed monolith: deploy acoplado, banco compartilhado, cadeia síncrona, mudança que toca 5 repositórios
- Saga: orquestração vs coreografia, compensações
- Resiliência: circuit breaker, bulkhead, retry com backoff e jitter, timeout budget, backpressure, graceful degradation
- Contratos: OpenAPI, AsyncAPI, versionamento, contract testing (Pact), schema evolution
- Migração: Strangler Fig, branch by abstraction, expand-contract
- API Gateway e BFF — aqui sua origem de frontend é vantagem real
Referências
- 📘 Building Microservices 2ª ed. — Sam Newman · samnewman.io
- 🔗 ⭐ AWS Builders' Library — conceitos valem para qualquer nuvem
- 🔗 ⭐ Timeouts, retries e backoff com jitter · Exponential backoff and jitter
- 🔗 Saga pattern · Saga (Fowler) · Circuit Breaker
- 🔗 Strangler Fig · Branch by Abstraction · BFF pattern
- 🔗 Pact · OpenAPI · AsyncAPI
- 🔗 Azure Architecture Patterns — catálogo excelente e agnóstico na prática
Alura
- ⭐ 🎓 Microsserviços: padrões de projeto — agnóstico de linguagem, o melhor conceitual da plataforma
- 🎓 Microsserviços: explorando os conceitos (busque na plataforma — antecede o anterior)
- 🎓 Formações por linguagem, escolha no máximo uma — cobrem circuit breaker, fallback, service discovery, gateway e comunicação assíncrona; os conceitos transferem inteiros para Python:
Trilha paralela — a parte que promove de verdade
Rode em paralelo, ~2h/semana, desde a Semana 1.
Escrita técnica. Um design doc bem escrito vale mais que qualquer certificação.
Influência sem autoridade. Você vai propor mudanças a times que não se reportam a você.
- 📘 The Staff Engineer's Path — Tanya Reilly
- 🔗 StaffEng · lethain.com
Radar tecnológico. 🔗 ThoughtWorks Technology Radar
Entrevistas internas. Uma pessoa por semana — SRE, dev sênior de outro time, PM, segurança. Pergunte: "qual a pior dor arquitetural que você enfrenta hoje?". Ali está o backlog real do cargo.
Fila condensada da Alura
Se quiser atacar sem pensar em ordem:
- Formação Boas práticas em Python
- Python: design, SOLID e boas práticas (ADR + C4)
- Formação Associate Cloud Engineer (partes 1 a 4)
- Infraestrutura como código: Terraform e Kubernetes
- Formação Orquestração de containers com Kubernetes
- Observabilidade e métricas: SLOs no Kubernetes
- Observabilidade com OpenTelemetry e Grafana
- Monitoramento: Prometheus, Grafana e Alertmanager
- Domain-Driven Design em Python
- Microsserviços: padrões de projeto
- Formação Arquitetura Java (só a parte conceitual)
O que a Alura não cobre
Tenha isso claro para não achar que terminou a trilha e está pronto.
| Tema | Onde buscar |
|---|---|
| FastAPI, SQLAlchemy 2.0, Alembic | Docs oficiais + cosmicpython.com |
| Pub/Sub, Cloud Build, Secret Manager, Cloud Monitoring | Docs do Google + exam guide do PCA |
| GKE avançado, Workload Identity | Docs do GKE |
| QoS classes, CPU throttling, graceful shutdown, KEDA | kubernetes.io/docs + learnk8s.io |
| ArgoCD, GitOps, Helm avançado, Gateway API | Docs oficiais + Fabricio Veronez |
| NetworkPolicy, Kyverno, supply chain security | Docs oficiais |
| DDD estratégico (context map, event storming) | Khononov + ddd-crew |
| Dados distribuídos (outbox, CDC, consistência) | DDIA + microservices.io |
| Trade-off analysis, fitness functions, Team Topologies | Fundamentals of Software Architecture |
| Escrita técnica e influência sem autoridade | StaffEng, lethain.com |
Regra prática
A Alura te leva bem até o "como fazer". O "por que escolher isso e não aquilo" — que é o trabalho de arquiteto — vem dos livros.
Livros, na ordem
- 📘 Fundamentals of Software Architecture — Richards & Ford
- 📘 Architecture Patterns with Python — gratuito
- 📘 Learning Domain-Driven Design — Khononov
- 📘 Designing Data-Intensive Applications — Kleppmann
- 📘 Building Microservices 2ª ed. — Newman
- 📘 The Staff Engineer's Path — Reilly
Certificações como trilha de estudo
O syllabus vale mesmo sem prestar a prova.
- 🔗 GCP Professional Cloud Architect
- 🔗 CKA · CKAD
- 🔗 Killercoda — labs gratuitos · Killer.sh — simulador
Feeds e newsletters
Depois dos 3 meses
Meses 4-6: Terraform/IaC a sério, FinOps, capacity planning, threat modeling STRIDE, disaster recovery (RTO/RPO), multi-region.
Hábito permanente: um ADR por decisão relevante, um postmortem por incidente, uma revisão do C4 por trimestre.
TIP
Se você não consegue explicar o trade-off de uma decisão para um dev júnior em 3 minutos, você ainda não entendeu a decisão.