@maestro-ai/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Guia de Otimização de Custos Cloud
|
|
2
|
+
|
|
3
|
+
> **Prioridade**: 🟢 BAIXA
|
|
4
|
+
> **Aplicável a**: Projetos em produção com custos significativos de cloud
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Por que Otimizar?
|
|
9
|
+
|
|
10
|
+
Cloud custa caro se não for gerenciada. Otimização pode reduzir 20-50% dos custos sem impacto em performance.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Pilares de Otimização
|
|
15
|
+
|
|
16
|
+
### 1. Right-Sizing
|
|
17
|
+
|
|
18
|
+
Usar instâncias do tamanho certo para a carga.
|
|
19
|
+
|
|
20
|
+
| Sinal | Problema | Ação |
|
|
21
|
+
|-------|----------|------|
|
|
22
|
+
| CPU < 20% constante | Superdimensionado | Diminuir tier |
|
|
23
|
+
| CPU > 80% frequente | Subdimensionado | Aumentar ou escalar |
|
|
24
|
+
| Memória < 30% usada | Superdimensionado | Diminuir tier |
|
|
25
|
+
| Picos curtos, idle longo | Má distribuição | Considerar serverless |
|
|
26
|
+
|
|
27
|
+
### 2. Reserved Instances / Savings Plans
|
|
28
|
+
|
|
29
|
+
| Tipo | Desconto | Trade-off |
|
|
30
|
+
|------|----------|-----------|
|
|
31
|
+
| On-Demand | 0% | Flexibilidade total |
|
|
32
|
+
| Reserved 1 ano | 30-40% | Compromisso |
|
|
33
|
+
| Reserved 3 anos | 50-60% | Compromisso maior |
|
|
34
|
+
| Spot/Preemptible | 60-90% | Pode ser terminado |
|
|
35
|
+
|
|
36
|
+
**Regra**: Reserve workloads estáveis, on-demand para variáveis.
|
|
37
|
+
|
|
38
|
+
### 3. Auto-Scaling
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
# Exemplo AWS Auto Scaling
|
|
42
|
+
ScalingPolicy:
|
|
43
|
+
- Name: scale-on-cpu
|
|
44
|
+
MetricType: CPUUtilization
|
|
45
|
+
TargetValue: 70
|
|
46
|
+
ScaleInCooldown: 300
|
|
47
|
+
ScaleOutCooldown: 60
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 4. Storage Optimization
|
|
51
|
+
|
|
52
|
+
| Classe | Custo | Uso |
|
|
53
|
+
|--------|-------|-----|
|
|
54
|
+
| Standard | $$$ | Acesso frequente |
|
|
55
|
+
| Infrequent Access | $$ | Acesso mensal |
|
|
56
|
+
| Glacier/Archive | $ | Backups, compliance |
|
|
57
|
+
|
|
58
|
+
**Política de Lifecycle**:
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"Rules": [{
|
|
62
|
+
"ID": "ArchiveOldData",
|
|
63
|
+
"Filter": { "Prefix": "logs/" },
|
|
64
|
+
"Transitions": [
|
|
65
|
+
{ "Days": 30, "StorageClass": "STANDARD_IA" },
|
|
66
|
+
{ "Days": 90, "StorageClass": "GLACIER" }
|
|
67
|
+
],
|
|
68
|
+
"Expiration": { "Days": 365 }
|
|
69
|
+
}]
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 5. Database Optimization
|
|
74
|
+
|
|
75
|
+
| Estratégia | Economia |
|
|
76
|
+
|------------|----------|
|
|
77
|
+
| Read replicas para leitura | Menos carga no primário |
|
|
78
|
+
| Serverless DB (Aurora, PlanetScale) | Paga por uso |
|
|
79
|
+
| Indices eficientes | Menos CPU |
|
|
80
|
+
| Query optimization | Menos tempo de CPU |
|
|
81
|
+
| Connection pooling | Menos instâncias |
|
|
82
|
+
|
|
83
|
+
### 6. Containerização e Serverless
|
|
84
|
+
|
|
85
|
+
| Workload | Melhor Opção |
|
|
86
|
+
|----------|--------------|
|
|
87
|
+
| Carga constante 24/7 | Containers (ECS, GKE) |
|
|
88
|
+
| Picos esporádicos | Serverless (Lambda, Cloud Run) |
|
|
89
|
+
| Batch jobs | Spot instances + containers |
|
|
90
|
+
| APIs leves | Serverless |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Checklist de Auditoria de Custos
|
|
95
|
+
|
|
96
|
+
### Compute
|
|
97
|
+
- [ ] Instâncias idle identificadas e terminadas
|
|
98
|
+
- [ ] Right-sizing aplicado baseado em métricas
|
|
99
|
+
- [ ] Reserved instances para workloads estáveis
|
|
100
|
+
- [ ] Spot instances para workloads tolerantes
|
|
101
|
+
- [ ] Auto-scaling configurado corretamente
|
|
102
|
+
|
|
103
|
+
### Storage
|
|
104
|
+
- [ ] Buckets/volumes não utilizados deletados
|
|
105
|
+
- [ ] Lifecycle policies configuradas
|
|
106
|
+
- [ ] Snapshots antigos removidos
|
|
107
|
+
- [ ] EBS volumes orfãos identificados
|
|
108
|
+
- [ ] Classe de storage correta por tipo de dado
|
|
109
|
+
|
|
110
|
+
### Network
|
|
111
|
+
- [ ] Data transfer entre regiões minimizado
|
|
112
|
+
- [ ] NAT Gateway otimizado (VPC endpoints)
|
|
113
|
+
- [ ] CDN para conteúdo estático
|
|
114
|
+
- [ ] Endpoints privados quando possível
|
|
115
|
+
|
|
116
|
+
### Database
|
|
117
|
+
- [ ] Instâncias provisionadas corretamente
|
|
118
|
+
- [ ] Read replicas só onde necessário
|
|
119
|
+
- [ ] Backups retidos pelo tempo correto
|
|
120
|
+
- [ ] Queries otimizadas (índices)
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Ferramentas de Análise
|
|
125
|
+
|
|
126
|
+
| Provedor | Ferramenta |
|
|
127
|
+
|----------|-----------|
|
|
128
|
+
| **AWS** | Cost Explorer, Trusted Advisor, Compute Optimizer |
|
|
129
|
+
| **GCP** | Cost Management, Recommender |
|
|
130
|
+
| **Azure** | Cost Management, Advisor |
|
|
131
|
+
| **Multi-cloud** | Kubecost, CloudHealth, Infracost |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Budget e Alertas
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
# AWS Budget example
|
|
139
|
+
Budget:
|
|
140
|
+
Name: MonthlyBudget
|
|
141
|
+
Amount: 5000
|
|
142
|
+
TimeUnit: MONTHLY
|
|
143
|
+
Notifications:
|
|
144
|
+
- ThresholdPercentage: 50
|
|
145
|
+
NotificationType: ACTUAL
|
|
146
|
+
Recipients: [team@company.com]
|
|
147
|
+
- ThresholdPercentage: 80
|
|
148
|
+
NotificationType: ACTUAL
|
|
149
|
+
Recipients: [finance@company.com, team@company.com]
|
|
150
|
+
- ThresholdPercentage: 100
|
|
151
|
+
NotificationType: FORECASTED
|
|
152
|
+
Recipients: [all-hands@company.com]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Métricas para Monitorar
|
|
158
|
+
|
|
159
|
+
| Métrica | Meta |
|
|
160
|
+
|---------|------|
|
|
161
|
+
| Custo por request | Tendência de queda |
|
|
162
|
+
| Custo por usuário | Estável ou queda |
|
|
163
|
+
| % de Reserved usage | > 80% |
|
|
164
|
+
| Recursos idle | 0 |
|
|
165
|
+
| Custo vs Budget | < 100% |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Quick Wins
|
|
170
|
+
|
|
171
|
+
1. **Desligar ambientes dev/staging fora do horário**
|
|
172
|
+
```bash
|
|
173
|
+
# Lambda para desligar EC2 à noite
|
|
174
|
+
aws ec2 stop-instances --instance-ids $(filter-dev-instances)
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
2. **Tagging para identificar ownership**
|
|
178
|
+
```yaml
|
|
179
|
+
Tags:
|
|
180
|
+
Environment: production
|
|
181
|
+
Team: backend
|
|
182
|
+
CostCenter: engineering
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
3. **Alertas de custo diário**
|
|
186
|
+
|
|
187
|
+
4. **Revisão mensal de custos** (cerimônia do time)
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Referências
|
|
192
|
+
|
|
193
|
+
- [AWS Well-Architected - Cost Optimization](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/)
|
|
194
|
+
- [GCP Cost Optimization](https://cloud.google.com/architecture/framework/cost-optimization)
|
|
195
|
+
- [FinOps Foundation](https://www.finops.org/)
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Guia de Refatoração de Código Legado com IA
|
|
2
|
+
|
|
3
|
+
Fluxo estruturado para modernizar código existente com apoio de IA.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quando Refatorar
|
|
8
|
+
|
|
9
|
+
- Código difícil de entender ou modificar
|
|
10
|
+
- Testes inexistentes ou frágeis
|
|
11
|
+
- Padrões desatualizados
|
|
12
|
+
- Performance inadequada
|
|
13
|
+
- Dívida técnica acumulada
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Fluxo de Refatoração
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
1. Análise → 2. Testes → 3. Refatoração → 4. Validação → 5. Documentação
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. Análise do Código
|
|
26
|
+
|
|
27
|
+
### Identificar code smells
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Atue como revisor de código sênior.
|
|
31
|
+
|
|
32
|
+
Aqui está um módulo/classe legado:
|
|
33
|
+
[COLE CÓDIGO]
|
|
34
|
+
|
|
35
|
+
Identifique:
|
|
36
|
+
- Code smells presentes (God Class, Long Method, etc.)
|
|
37
|
+
- Violações de SOLID
|
|
38
|
+
- Oportunidades de simplificação
|
|
39
|
+
- Dependências problemáticas
|
|
40
|
+
|
|
41
|
+
Priorize por impacto e facilidade de correção.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Entender lógica existente
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
Este código foi escrito há anos e preciso entendê-lo:
|
|
48
|
+
[COLE CÓDIGO]
|
|
49
|
+
|
|
50
|
+
Explique:
|
|
51
|
+
- O que este código faz
|
|
52
|
+
- Fluxo principal de execução
|
|
53
|
+
- Dependências externas
|
|
54
|
+
- Casos de borda tratados
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 2. Adicionar Testes (antes de refatorar)
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
Aqui está uma função/classe que vou refatorar:
|
|
63
|
+
[COLE CÓDIGO]
|
|
64
|
+
|
|
65
|
+
Gere testes de caracterização que capturem o comportamento atual:
|
|
66
|
+
- Casos de uso principais
|
|
67
|
+
- Casos de borda
|
|
68
|
+
- Comportamento com inputs inválidos
|
|
69
|
+
|
|
70
|
+
Use [FRAMEWORK DE TESTES].
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 3. Refatoração Incremental
|
|
76
|
+
|
|
77
|
+
### Extrair método
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
Este método está muito longo:
|
|
81
|
+
[COLE CÓDIGO]
|
|
82
|
+
|
|
83
|
+
Sugira extrações de métodos que:
|
|
84
|
+
- Melhorem legibilidade
|
|
85
|
+
- Sigam SRP (Single Responsibility)
|
|
86
|
+
- Mantenham comportamento idêntico
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Simplificar condicionais
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
Estas condicionais estão complexas:
|
|
93
|
+
[COLE CÓDIGO]
|
|
94
|
+
|
|
95
|
+
Refatore usando:
|
|
96
|
+
- Early returns
|
|
97
|
+
- Guard clauses
|
|
98
|
+
- Polimorfismo (se apropriado)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Modernizar sintaxe
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
Este código usa padrões antigos de [LINGUAGEM]:
|
|
105
|
+
[COLE CÓDIGO]
|
|
106
|
+
|
|
107
|
+
Modernize para usar:
|
|
108
|
+
- Sintaxe atual da linguagem
|
|
109
|
+
- Padrões idiomáticos
|
|
110
|
+
- Recursos modernos (async/await, destructuring, etc.)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. Validação
|
|
116
|
+
|
|
117
|
+
- [ ] Todos os testes passando
|
|
118
|
+
- [ ] Cobertura mantida ou melhorada
|
|
119
|
+
- [ ] Performance não degradou
|
|
120
|
+
- [ ] Comportamento idêntico ao original
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 5. Documentação
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
Acabei de refatorar o seguinte código:
|
|
128
|
+
|
|
129
|
+
Antes:
|
|
130
|
+
[COLE CÓDIGO ANTIGO]
|
|
131
|
+
|
|
132
|
+
Depois:
|
|
133
|
+
[COLE CÓDIGO NOVO]
|
|
134
|
+
|
|
135
|
+
Gere um resumo das mudanças para o PR, explicando:
|
|
136
|
+
- Por que a refatoração foi feita
|
|
137
|
+
- Principais alterações
|
|
138
|
+
- Impacto no comportamento (nenhum, se correto)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Estratégias de Refatoração
|
|
144
|
+
|
|
145
|
+
| Técnica | Quando Usar | Risco |
|
|
146
|
+
|---|---|---|
|
|
147
|
+
| **Renomear** | Nomes confusos | Baixo |
|
|
148
|
+
| **Extrair método** | Métodos longos | Baixo |
|
|
149
|
+
| **Extrair classe** | Classe com muitas responsabilidades | Médio |
|
|
150
|
+
| **Mover método** | Método na classe errada | Médio |
|
|
151
|
+
| **Substituir condicional por polimorfismo** | Switch/if complexos | Alto |
|
|
152
|
+
| **Introduzir padrão de design** | Código duplicado, acoplamento | Alto |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Boas Práticas
|
|
157
|
+
|
|
158
|
+
1. **Sempre tenha testes antes de refatorar**
|
|
159
|
+
2. **Mudanças pequenas e frequentes** - commits atômicos
|
|
160
|
+
3. **Uma refatoração por vez** - não misture com features
|
|
161
|
+
4. **Valide após cada passo** - rode testes frequentemente
|
|
162
|
+
5. **Use IA como assistente** - revise sempre as sugestões
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# Guia de SLOs e Error Budgets
|
|
2
|
+
|
|
3
|
+
> **Aplicável a**: Projetos Nível 2 (Médio) e Nível 3 (Complexo)
|
|
4
|
+
> **Pré-requisitos**: Observabilidade básica configurada (logs, métricas)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## O que são SLOs?
|
|
9
|
+
|
|
10
|
+
**SLO (Service Level Objective)** é uma meta interna de confiabilidade que define "bom o suficiente" para seu serviço.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
SLI → SLO → SLA → Error Budget
|
|
14
|
+
|
|
15
|
+
SLI: A métrica que você mede
|
|
16
|
+
SLO: A meta que você quer atingir
|
|
17
|
+
SLA: O contrato com seu cliente
|
|
18
|
+
Error Budget: Quanto você pode errar sem violar o SLO
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Por que SLOs são Importantes?
|
|
24
|
+
|
|
25
|
+
### Sem SLOs
|
|
26
|
+
- ❌ "O sistema está lento?" - "Depende..."
|
|
27
|
+
- ❌ "Podemos fazer deploy?" - "Acho que sim..."
|
|
28
|
+
- ❌ "Devemos priorizar feature ou bug?" - "Não sei..."
|
|
29
|
+
|
|
30
|
+
### Com SLOs
|
|
31
|
+
- ✅ "Latência p95 está em 180ms, dentro do SLO de 200ms"
|
|
32
|
+
- ✅ "Error budget em 60%, deploys liberados"
|
|
33
|
+
- ✅ "Error budget em 85%, priorizar estabilidade"
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Como Definir SLOs
|
|
38
|
+
|
|
39
|
+
### Passo 1: Identificar Jornadas Críticas
|
|
40
|
+
|
|
41
|
+
Liste as ações mais importantes do usuário:
|
|
42
|
+
|
|
43
|
+
| Jornada | Criticidade | Frequência |
|
|
44
|
+
|---------|-------------|------------|
|
|
45
|
+
| Login | Alta | 1000x/dia |
|
|
46
|
+
| Checkout | Crítica | 500x/dia |
|
|
47
|
+
| Busca de produtos | Média | 5000x/dia |
|
|
48
|
+
|
|
49
|
+
### Passo 2: Escolher SLIs
|
|
50
|
+
|
|
51
|
+
Para cada jornada, defina indicadores mensuráveis:
|
|
52
|
+
|
|
53
|
+
| Jornada | SLI de Disponibilidade | SLI de Latência |
|
|
54
|
+
|---------|------------------------|-----------------|
|
|
55
|
+
| Login | Logins bem-sucedidos / tentativas | Tempo até token retornado |
|
|
56
|
+
| Checkout | Pedidos confirmados / tentativas | Tempo até confirmação |
|
|
57
|
+
|
|
58
|
+
### Passo 3: Definir Targets
|
|
59
|
+
|
|
60
|
+
Baseie-se em:
|
|
61
|
+
- **Dados históricos**: O que você está entregando hoje?
|
|
62
|
+
- **Expectativas do usuário**: O que é aceitável?
|
|
63
|
+
- **Custo de melhoria**: Vale o investimento para ir de 99.9% para 99.99%?
|
|
64
|
+
|
|
65
|
+
| SLO | Custo Aproximado | Justifica para... |
|
|
66
|
+
|-----|------------------|-------------------|
|
|
67
|
+
| 99% | Baixo | MVPs, ferramentas internas |
|
|
68
|
+
| 99.9% | Médio | SaaS, apps consumer |
|
|
69
|
+
| 99.99% | Alto | Fintech, healthcare |
|
|
70
|
+
| 99.999% | Muito Alto | Infraestrutura crítica |
|
|
71
|
+
|
|
72
|
+
### Passo 4: Calcular Error Budget
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Error Budget = 100% - SLO Target
|
|
76
|
+
|
|
77
|
+
SLO 99.9% → Error Budget = 0.1%
|
|
78
|
+
- Por mês (30 dias): 43.2 minutos de downtime permitido
|
|
79
|
+
- Por semana: ~10 minutos
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Tabela de Referência:**
|
|
83
|
+
|
|
84
|
+
| SLO | Downtime/mês | Downtime/ano |
|
|
85
|
+
|-----|--------------|--------------|
|
|
86
|
+
| 99% | 7.2 horas | 3.65 dias |
|
|
87
|
+
| 99.5% | 3.6 horas | 1.83 dias |
|
|
88
|
+
| 99.9% | 43.2 min | 8.76 horas |
|
|
89
|
+
| 99.95% | 21.6 min | 4.38 horas |
|
|
90
|
+
| 99.99% | 4.32 min | 52.6 min |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Error Budget Policy
|
|
95
|
+
|
|
96
|
+
### Níveis de Consumo
|
|
97
|
+
|
|
98
|
+
```mermaid
|
|
99
|
+
graph LR
|
|
100
|
+
A[0-50%] -->|Normal| B[Deploys OK]
|
|
101
|
+
B --> C[50-75%]
|
|
102
|
+
C -->|Atenção| D[Revisar deploys]
|
|
103
|
+
D --> E[75-90%]
|
|
104
|
+
E -->|Alerta| F[Freeze parcial]
|
|
105
|
+
F --> G[90-100%]
|
|
106
|
+
G -->|Crítico| H[Freeze total]
|
|
107
|
+
H --> I[>100%]
|
|
108
|
+
I -->|Violação| J[Post-mortem]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Template de Policy
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
## Error Budget Policy - [SISTEMA]
|
|
115
|
+
|
|
116
|
+
### 0-50% Consumido (🟢 Normal)
|
|
117
|
+
- Deploys normais
|
|
118
|
+
- Features priorizadas
|
|
119
|
+
- Experimentos permitidos
|
|
120
|
+
|
|
121
|
+
### 50-75% Consumido (🟡 Atenção)
|
|
122
|
+
- Deploys com revisão extra
|
|
123
|
+
- Priorizar bugs críticos
|
|
124
|
+
- Reduzir experimentos arriscados
|
|
125
|
+
|
|
126
|
+
### 75-90% Consumido (🟠 Alerta)
|
|
127
|
+
- Apenas bug fixes e melhorias de confiabilidade
|
|
128
|
+
- Cancelar deploys não-críticos
|
|
129
|
+
- Investigar causa do consumo
|
|
130
|
+
|
|
131
|
+
### 90-100% Consumido (🔴 Crítico)
|
|
132
|
+
- Freeze total de features
|
|
133
|
+
- Todas as mãos em estabilidade
|
|
134
|
+
- Escalar para liderança
|
|
135
|
+
|
|
136
|
+
### >100% Violação (⚫ Emergência)
|
|
137
|
+
- Post-mortem obrigatório em 48h
|
|
138
|
+
- Plano de ação documentado
|
|
139
|
+
- Revisão de SLOs se necessário
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Implementação Prática
|
|
145
|
+
|
|
146
|
+
### Ferramentas de Observabilidade
|
|
147
|
+
|
|
148
|
+
| Ferramenta | SLI/SLO Features |
|
|
149
|
+
|------------|------------------|
|
|
150
|
+
| **Prometheus + Grafana** | Recording rules para SLIs, alertas, dashboards |
|
|
151
|
+
| **Datadog** | SLO tracking nativo, error budget dashboards |
|
|
152
|
+
| **New Relic** | SLI wizard, burn rate alerts |
|
|
153
|
+
| **Google Cloud SLO** | Nativo para GCP, integrado com alertas |
|
|
154
|
+
|
|
155
|
+
### Exemplo: Prometheus Recording Rules
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
# prometheus-rules.yaml
|
|
159
|
+
groups:
|
|
160
|
+
- name: slo_slis
|
|
161
|
+
rules:
|
|
162
|
+
# SLI: Disponibilidade
|
|
163
|
+
- record: sli:availability:ratio
|
|
164
|
+
expr: |
|
|
165
|
+
sum(rate(http_requests_total{status!~"5.."}[5m]))
|
|
166
|
+
/
|
|
167
|
+
sum(rate(http_requests_total[5m]))
|
|
168
|
+
|
|
169
|
+
# SLI: Latência p99
|
|
170
|
+
- record: sli:latency:p99
|
|
171
|
+
expr: |
|
|
172
|
+
histogram_quantile(0.99,
|
|
173
|
+
sum(rate(http_request_duration_seconds_bucket[5m])) by (le)
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
# Error Budget Restante
|
|
177
|
+
- record: slo:error_budget:remaining
|
|
178
|
+
expr: |
|
|
179
|
+
1 - (
|
|
180
|
+
(1 - sli:availability:ratio)
|
|
181
|
+
/
|
|
182
|
+
(1 - 0.999) # SLO target 99.9%
|
|
183
|
+
)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Exemplo: Alertas de Burn Rate
|
|
187
|
+
|
|
188
|
+
```yaml
|
|
189
|
+
# Alerta quando error budget está sendo consumido rapidamente
|
|
190
|
+
groups:
|
|
191
|
+
- name: slo_alerts
|
|
192
|
+
rules:
|
|
193
|
+
- alert: HighErrorBudgetBurn
|
|
194
|
+
expr: |
|
|
195
|
+
(
|
|
196
|
+
1 - sli:availability:ratio
|
|
197
|
+
) > 14.4 * (1 - 0.999)
|
|
198
|
+
for: 1h
|
|
199
|
+
labels:
|
|
200
|
+
severity: critical
|
|
201
|
+
annotations:
|
|
202
|
+
summary: "Error budget sendo consumido 14x mais rápido que o normal"
|
|
203
|
+
|
|
204
|
+
- alert: ErrorBudgetLow
|
|
205
|
+
expr: slo:error_budget:remaining < 0.25
|
|
206
|
+
for: 5m
|
|
207
|
+
labels:
|
|
208
|
+
severity: warning
|
|
209
|
+
annotations:
|
|
210
|
+
summary: "Menos de 25% do error budget restante"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Dashboard Essencial
|
|
216
|
+
|
|
217
|
+
### Elementos Obrigatórios
|
|
218
|
+
|
|
219
|
+
1. **Gauge de Error Budget**
|
|
220
|
+
- Cor por nível (verde/amarelo/vermelho)
|
|
221
|
+
- Tendência (subindo/descendo)
|
|
222
|
+
|
|
223
|
+
2. **SLIs em Tempo Real**
|
|
224
|
+
- Disponibilidade atual
|
|
225
|
+
- Latência p95/p99
|
|
226
|
+
- Taxa de erros
|
|
227
|
+
|
|
228
|
+
3. **Histórico de 30 dias**
|
|
229
|
+
- Linha do SLO target
|
|
230
|
+
- Área de SLI real
|
|
231
|
+
- Marcadores de incidentes
|
|
232
|
+
|
|
233
|
+
4. **Projeção**
|
|
234
|
+
- Se mantiver a taxa atual, violaremos em X dias?
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Post-Mortem de Violação
|
|
239
|
+
|
|
240
|
+
### Template
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
# Post-Mortem: Violação de SLO [DATA]
|
|
244
|
+
|
|
245
|
+
## Resumo
|
|
246
|
+
- **SLO Violado**: Disponibilidade < 99.9%
|
|
247
|
+
- **Duração**: 2h 15min
|
|
248
|
+
- **Error Budget Consumido**: 150% do mensal
|
|
249
|
+
|
|
250
|
+
## Linha do Tempo
|
|
251
|
+
- 14:00 - Primeiro alerta
|
|
252
|
+
- 14:15 - Time acionado
|
|
253
|
+
- 14:30 - Causa identificada
|
|
254
|
+
- 15:45 - Mitigação aplicada
|
|
255
|
+
- 16:15 - Sistema estável
|
|
256
|
+
|
|
257
|
+
## Causa Raiz
|
|
258
|
+
[Descrição técnica]
|
|
259
|
+
|
|
260
|
+
## Impacto
|
|
261
|
+
- Usuários afetados: 5000
|
|
262
|
+
- Transações perdidas: 120
|
|
263
|
+
|
|
264
|
+
## Ações Corretivas
|
|
265
|
+
1. [Ação imediata - responsável - prazo]
|
|
266
|
+
2. [Ação preventiva - responsável - prazo]
|
|
267
|
+
|
|
268
|
+
## Lições Aprendidas
|
|
269
|
+
- O que funcionou bem
|
|
270
|
+
- O que pode melhorar
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Checklist de Adoção
|
|
276
|
+
|
|
277
|
+
### Semana 1
|
|
278
|
+
- [ ] Identificar 3-5 jornadas críticas
|
|
279
|
+
- [ ] Definir SLIs mensuráveis
|
|
280
|
+
- [ ] Configurar coleta de métricas
|
|
281
|
+
|
|
282
|
+
### Semana 2
|
|
283
|
+
- [ ] Analisar dados históricos
|
|
284
|
+
- [ ] Definir SLO targets iniciais
|
|
285
|
+
- [ ] Calcular error budgets
|
|
286
|
+
|
|
287
|
+
### Semana 3
|
|
288
|
+
- [ ] Criar dashboard de SLOs
|
|
289
|
+
- [ ] Configurar alertas
|
|
290
|
+
- [ ] Documentar Error Budget Policy
|
|
291
|
+
|
|
292
|
+
### Semana 4
|
|
293
|
+
- [ ] Treinar time
|
|
294
|
+
- [ ] Primeiro ciclo de review
|
|
295
|
+
- [ ] Ajustar targets se necessário
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Armadilhas Comuns
|
|
300
|
+
|
|
301
|
+
| Armadilha | Solução |
|
|
302
|
+
|-----------|---------|
|
|
303
|
+
| SLOs muito ambiciosos | Comece com targets conservadores |
|
|
304
|
+
| SLIs difíceis de medir | Simplifique, use métricas disponíveis |
|
|
305
|
+
| Ignorar error budget | Automatize alertas e policies |
|
|
306
|
+
| Nunca revisar SLOs | Agende revisão trimestral |
|
|
307
|
+
| SLOs por componente | Foque em jornadas do usuário |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Referências
|
|
312
|
+
|
|
313
|
+
- [Google SRE Book - SLOs](https://sre.google/sre-book/service-level-objectives/)
|
|
314
|
+
- [Implementing SLOs (Google SRE Workbook)](https://sre.google/workbook/implementing-slos/)
|
|
315
|
+
- [The Art of SLOs (Coursera)](https://www.coursera.org/learn/site-reliability-engineering-slos)
|