0 XP

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.

Vue 3Node.jsPostgreSQLDockerDocker ComposeGitHub ActionsGHCRAWSTerraformAnsibleKubernetesHelmArgoCDPrometheusGrafanaOpenTelemetry
Maturidade da plataforma0%

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

    GitGitHub
  • Host 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

    Linuxsystemd
  • API 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

    Node
  • Nginx 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 Encrypt
  • Automaçã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

    Bashsystemd
  • Main 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

    Docker
  • Frontend Vue containerizado

    Build em estágio separado e Nginx servindo os estáticos.

    Entrega: Imagem de frontend enxuta · repo cloudshop-app

    VueDockerNginx
  • Stack 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 Compose
  • Imagem 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 Actions
  • Publicaçã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

    BuildxGHCR
  • Deploy 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 VPC
  • Frontend em S3 + CloudFront

    Bucket privado com OAC, cache adequado e fallback de SPA.

    Entrega: Site com HTTPS e bucket fechado · repo cloudshop-infra

    S3CloudFront
  • RDS 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 Manager
  • IAM 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

    Terraform
  • Ansible 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

    Kubernetes
  • Probes, 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

    Kubernetes
  • Chart 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 Secrets
  • Observabilidade, 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