Projeto final
CloudShop Platform
Catálogo e pedidos de produtos de impressão 3D. Um produto pequeno o suficiente para você construir sozinho e completo o suficiente para exigir tudo o que uma vaga de DevOps pede.
cloudshop-app
Frontend Vue, API Node, testes, Dockerfiles e pipelines de CI.
cloudshop-infra
Terraform (rede, compute, banco) e playbooks Ansible.
cloudshop-gitops
Manifests Kubernetes por ambiente, sincronizados pelo ArgoCD.
Avaliação
Eixos de maturidade
- Código e testes0%
Lint, testes unitários e de integração, cobertura razoável e revisão obrigatória.
- Containers0%
Multi-stage, imagem enxuta, não-root, read-only e healthcheck.
- Automação0%
CI em PR, cache eficiente, publicação de artefato e rollback automatizado.
- Cloud0%
Rede em camadas, serviços gerenciados, backups e identidade sem chaves estáticas.
- IaC0%
Terraform com state remoto, módulos, ambientes e drift monitorado.
- Kubernetes0%
Manifests corretos, probes, limites, RBAC e chart Helm versionado.
- GitOps0%
Repositório de manifests como fonte da verdade, promoção por PR e rollback por revert.
- Observabilidade0%
Métricas, logs estruturados, traces, dashboards e alertas acionáveis.
- Segurança0%
Segredos em cofre, scans no pipeline, SBOM, assinatura e menor privilégio.
- Documentação0%
README completo, ADRs, diagrama e runbooks utilizáveis por terceiros.
- Custo0%
Tags, budget, custo medido por ambiente e otimizações justificadas.
Fundação
Repositórios e diário técnico
Criar os três repositórios, README inicial, .gitignore e docs/diario.md.
Entrega: Três repositórios com README e diário iniciado · repo todos
GitGitHubHost preparado com systemd
Usuário de serviço, diretórios, unit com restart automático e logs no journal.
Entrega: Serviço sobrevivendo a reboot e a falha · repo cloudshop-infra
LinuxsystemdAPI com /health e /ready
Endpoints de saúde: /health sem dependências e /ready verificando o banco.
Entrega: Endpoints usados por proxy, Compose e Kubernetes · repo cloudshop-app
NodeNginx reverse proxy com TLS
Proxy com cabeçalhos corretos, timeouts e HTTPS com renovação automática.
Entrega: api.cloudshop.dev respondendo por HTTPS · repo cloudshop-infra
NginxLet's EncryptAutomação de plantão em Bash
Health-check com retry e backup de logs com retenção, agendados por timer.
Entrega: Dois scripts com exit codes e restauração testada · repo cloudshop-infra
BashsystemdMain protegida e fluxo de PR
Branch protection com revisão e checks obrigatórios; commits convencionais.
Entrega: Nenhum push direto na main · repo cloudshop-app
GitHub
Containers
Dockerfile multi-stage da API
Cache otimizado, dependências de produção, usuário não-root e healthcheck.
Entrega: Imagem menor que 200 MB e sem root · repo cloudshop-app
DockerFrontend Vue containerizado
Build em estágio separado e Nginx servindo os estáticos.
Entrega: Imagem de frontend enxuta · repo cloudshop-app
VueDockerNginxStack completo em Compose
Web, API e PostgreSQL com healthchecks, rede interna e volume persistente.
Entrega: docker compose up sobe tudo em máquina limpa · repo cloudshop-app
Docker ComposeImagem endurecida e escaneada
read-only, cap-drop, limites e Trivy sem crítico corrigível.
Entrega: Checklist de segurança de container cumprido · repo cloudshop-app
DockerTrivy
Entrega
CI de qualidade em PR
Lint, testes unitários e de integração com service container, cache e concurrency.
Entrega: Pipeline abaixo de 5 minutos bloqueando merge ruim · repo cloudshop-app
GitHub ActionsPublicação no GHCR com tag imutável
metadata-action, build-push, digest registrado e labels OCI.
Entrega: Imagem rastreável até o commit · repo cloudshop-app
BuildxGHCRDeploy com rollback automático
Verificação de saúde pós-deploy e reversão em falha, com RTO medido.
Entrega: RTO documentado no README · repo cloudshop-app
GitHub ActionsBash
Nuvem
VPC com camadas e SGs referenciados
Subnets pública/privada em duas AZs, rotas e firewall por referência de SG.
Entrega: Banco inacessível da internet · repo cloudshop-infra
AWS VPCFrontend em S3 + CloudFront
Bucket privado com OAC, cache adequado e fallback de SPA.
Entrega: Site com HTTPS e bucket fechado · repo cloudshop-infra
S3CloudFrontRDS privado com backup testado
Senha gerenciada em cofre, criptografia, retenção e restauração comprovada.
Entrega: Restauração validada em instância separada · repo cloudshop-infra
RDSSecrets ManagerIAM sem chaves estáticas + FinOps
OIDC no pipeline, roles mínimas, tags obrigatórias e budget com alerta.
Entrega: Zero chaves de longa duração e custo monitorado · repo cloudshop-infra
IAMBudgets
IaC
Terraform com state remoto e dois ambientes
Backend S3 com lock, módulo de rede reutilizado por dev e staging.
Entrega: plan limpo nos dois ambientes · repo cloudshop-infra
TerraformAnsible idempotente e detecção de drift
Playbook do host com changed=0 na segunda execução e plan agendado em CI.
Entrega: Configuração reproduzível e drift monitorado · repo cloudshop-infra
AnsibleGitHub Actions
Kubernetes
CloudShop no cluster com Ingress
Deployments, Services, ConfigMap, Secret e Ingress com TLS.
Entrega: Aplicação acessível por HTTPS no cluster · repo cloudshop-gitops
KubernetesProbes, limites, HPA e RBAC
Probes corretas, recursos dimensionados por medição, autoscaling e menor privilégio.
Entrega: Sem OOMKilled e sem reinício por probe · repo cloudshop-gitops
KubernetesChart Helm com rollback comprovado
Chart próprio, values por ambiente, upgrade atômico e rollback medido.
Entrega: Rollback executado com tempo registrado · repo cloudshop-gitops
Helm
GitOps + SRE
ArgoCD com promoção por PR e segredos no cofre
Auto-sync em staging, promoção revisada para produção, External Secrets.
Entrega: Cluster reconciliado pelo Git, sem segredo no repositório · repo cloudshop-gitops
ArgoCDExternal SecretsObservabilidade, SLO e projeto final
Métricas, logs, traces, dashboard, alertas, SLO, postmortem, scans e documentação.
Entrega: Projeto pronto para portfólio e entrevista · repo todos
PrometheusGrafanaOpenTelemetry