Ponto de partida da Competência 6 — Arquitetura de Soluções em Nuvem.
Este repositório é um template. Use-o como base para criar o seu próprio repositório e trabalhar na competência.
Parte do curso Move Tech — Magalu × Prósper Digital Skills
Formação em Cloud Computing para iniciantes
move-tech-cloud-application-comp-3 · move-tech-cloud-application-comp-4 · move-tech-cloud-application-comp-5
Ao final da Competência 6, você terá documentado e analisado a arquitetura da solução que construiu.
- Desenhar o diagrama de arquitetura da solução na Magalu Cloud
- Documentar as decisões técnicas tomadas ao longo do curso (ADR)
- Analisar os trade-offs das escolhas: custo, escalabilidade, disponibilidade
- Identificar pontos de melhoria e próximos passos
Pré-requisito: Docker Desktop instalado (Mac e Windows) ou Docker Engine (Linux).
docker compose up --buildAcesse a documentação interativa em: http://localhost:8000/docs
| Secret | Descrição |
|---|---|
MGC_REGISTRY_USER |
Usuário do Container Registry da MGC |
MGC_REGISTRY_PASSWORD |
Senha do Container Registry da MGC |
MGC_REGISTRY_NAME |
Nome do seu registry na MGC |
MGC_KUBECONFIG |
Conteúdo do arquivo kubeconfig.yaml (cole o conteúdo diretamente) |
DATABASE_URL |
String de conexão do PostgreSQL (postgresql://user:pass@host/orders) |
O workflow Deploy publica a imagem no Container Registry e aplica os manifestos em k8s/:
app.yaml: Deployment com duas réplicas, probes de saúde (/health), recursos de CPU/memória e Service do tipoLoadBalancer;hpa.yaml: HPA baseado em utilização de CPU, mantendo entre 2 e 6 réplicas;servicemonitor.yaml: ServiceMonitor que coleta as métricas da aplicação em/metricsa cada 15 segundos.
O HPA requer que o cluster tenha o Metrics Server instalado. O ServiceMonitor requer o Prometheus Operator e utiliza o label release: monitoring; ajuste esse valor caso o nome da instalação do Prometheus no cluster seja diferente.
O endpoint /metrics é disponibilizado pelo prometheus-fastapi-instrumentator. O Service possui o label app: cloud-application, usado pelo ServiceMonitor para localizar os pods da aplicação.
O workflow manual Teste de carga (k6) executa load/k6/load-test.js contra a aplicação implantada. Para executá-lo:
- Acesse Actions > Teste de carga (k6) > Run workflow.
- Informe a URL pública do Service (
base_url), a quantidade de usuários virtuais (vus), a duração do patamar (duration), o tempo de rampa (ramp) e o SLO de P95 (p95_alvo_ms). - Consulte o resumo gerado no GitHub Actions e os artefatos
resumo.mderesultado.json.
O teste valida o health check, criação e consulta de pedidos, inclusão de itens, listagem de pedidos, taxa de erros e latência P95. Os valores padrão são 20 VUs, 2 minutos de carga, rampa de 30 segundos e P95 máximo de 500 ms.
Ao concluir esta competência, a solução final de referência estará disponível em:
move-tech-cloud-application-final