152 lines
6.8 KiB
Markdown
152 lines
6.8 KiB
Markdown
# Requirements: Laboratori Cloud - Corso Soluzioni Cloud
|
|
|
|
**Defined:** 2026-03-24
|
|
**Core Value:** Gli studenti imparano i concetti cloud praticamente in locale, senza costi o complessità di account cloud reali.
|
|
|
|
## v1 Requirements
|
|
|
|
Requirements per il rilascio iniziale. Ogni requisito mappa a una fase della roadmap.
|
|
|
|
### Laboratori Core
|
|
|
|
- [ ] **LAB-01**: Studente può configurare utenti Linux, gruppi e permessi per accesso Docker socket (IAM simulation)
|
|
- [ ] **LAB-02**: Studente può creare reti Docker bridge isolate per simulare VPC/Subnets
|
|
- [ ] **LAB-03**: Studente può deploy container con limiti CPU/memoria e healthchecks (Compute simulation)
|
|
- [ ] **LAB-04**: Studente può configurare Docker volumes e MinIO per storage S3-compatible
|
|
- [ ] **LAB-05**: Studente può deploy database PostgreSQL in rete privata con volume persistente (RDS simulation)
|
|
|
|
### Documentazione (Framework Diátaxis)
|
|
|
|
- [ ] **DOCT-01**: Ogni lab include Tutorial (guida passo-passo incrementale)
|
|
- [ ] **DOCT-02**: Ogni lab include How-to Guides (procedure specifiche slegate dal flusso)
|
|
- [ ] **DOCT-03**: Ogni lab include Reference (specifiche tecniche: docker-compose.yml, mappe IP, porte)
|
|
- [ ] **DOCT-04**: Ogni lab include Explanation (parallelismo Docker ↔ cloud service)
|
|
- [ ] **DOCT-05**: Tutorial seguono principio "little often" (piccoli step, frequente pratica)
|
|
|
|
### Testing & Qualità
|
|
|
|
- [ ] **TEST-01**: Ogni lab include script di test bash pre-implementazione (TDI approach RED→GREEN→REFACTOR)
|
|
- [ ] **TEST-02**: Script verificano criteri di sicurezza (no root, reti isolate, limiti risorse)
|
|
- [ ] **TEST-03**: Script verificano funzionalità (connettività, persistenza dati, accessibilità)
|
|
- [ ] **TEST-04**: Ogni lab include sezione troubleshooting con errori comuni e soluzioni
|
|
- [ ] **TEST-05**: Ogni lab include comando di verifica finale ("double check")
|
|
|
|
### Infrastruttura & Sicurezza
|
|
|
|
- [ ] **INF-01**: Nessun container gira come utente root (principio minimo privilegio)
|
|
- [ ] **INF-02**: Reti private non espongono porte sull'host (127.0.0.1 max, mai 0.0.0.0)
|
|
- [ ] **INF-03**: Tutti i container hanno limiti risorse obbligatori (cpus, mem_limit)
|
|
- [ ] **INF-04**: Dati persistenti sopravvivono a riavvio container (named volumes)
|
|
- [ ] **INF-05**: File docker-compose.yml validati con `docker-compose config` prima dell'uso
|
|
|
|
### Git & Workflow
|
|
|
|
- [ ] **GIT-01**: Ogni lab sviluppato su branch isolato (lab-01-iam, lab-02-network, etc.)
|
|
- [ ] **GIT-02**: Commit seguono Conventional Commits (`feat:`, `test:`, `docs:`)
|
|
- [ ] **GIT-03**: Commit sono atomici (una funzionalità per commit)
|
|
- [ ] **GIT-04**: README include istruzioni cloning e setup iniziale
|
|
- [ ] **GIT-05**: Struttura repo chiara con cartelle `labs/`, `how-to-guides/`, `reference/`
|
|
|
|
### Parallelismo Cloud ↔ Locale
|
|
|
|
- [ ] **PARA-01**: Ogni componente Docker è mappato al servizio cloud corrispondente nella Explanation
|
|
- [ ] **PARA-02**: Architettura locale usa nomenclatura cloud (VPC, subnet, security groups)
|
|
- [ ] **PARA-03**: Differenze tra locale e cloud sono documentate esplicitamente
|
|
- [ ] **PARA-04**: Comandi Docker equivalenti a comandi cloud sono mostrati a confronto
|
|
|
|
### Setup & Requisiti Utente
|
|
|
|
- [ ] **SETUP-01**: Documentato requisito Docker Engine >= 24.0 e Compose V2
|
|
- [ ] **SETUP-02**: Documentato requisito utility di rete (netcat, curl, iproute2)
|
|
- [ ] **SETUP-03**: Specificate risorse minime consigliate (RAM, CPU)
|
|
- [ ] **SETUP-04**: Fornito script di verifica ambiente (check Docker, check versioni)
|
|
- [ ] **SETUP-05**: Fornito comando di reset completo ambiente (cleanup volumi, reti)
|
|
|
|
## v2 Requirements
|
|
|
|
Differiti a rilascio futuro. Tracciati ma non nella roadmap corrente.
|
|
|
|
### Enhancement Post-Validation
|
|
|
|
- **SOLU-01**: Soluzioni ufficiali per ogni lab (trigger: richiesta ricorrente studenti)
|
|
- **SOLU-02**: Script di auto-correzione per validazione autonoma studente
|
|
- **CHAL-01**: Challenge labs opzionali per studenti avanzati
|
|
- **MULTI-01**: Versioni multi-cloud (paralleli Azure/GCP oltre ad AWS)
|
|
|
|
### Infrastructure
|
|
|
|
- **VM-01**: VM pre-configurata (OVA/Vagrant) per studenti con problemi setup locale
|
|
|
|
## Out of Scope
|
|
|
|
Esplicitamente esclusi. Documentati per prevenire scope creep.
|
|
|
|
| Feature | Reason |
|
|
|---------|--------|
|
|
| Account cloud reali (AWS/Azure/GCP) | Simulazione locale elimina costi e complessità onboarding |
|
|
| Video streaming integrato | Complessità tecnica, bandwidth, distoglie dal "doing" |
|
|
| Piattaforma web custom | Sviluppo frontend = distrazione dal valore educativo |
|
|
| Lab multi-user collaborativi | Complessità infrastrutturale enorme per v1 |
|
|
| Mobile apps | Comandi Docker su mobile = esperienza terribile |
|
|
| AI/Chatbot integrato | Costo, complessità manutenzione, risposte inaffidabili |
|
|
| Gamification eccessiva | Distrazione dal learning reale |
|
|
| Real-time collaboration | Laboratori individuali, condivisione via Git sufficiente |
|
|
| Video posts/storage | Storage/bandwidth costs, defer to v2+ |
|
|
| OAuth login | Email/password sufficient per v1 |
|
|
| Progress tracking integrato | Richiede backend/database, non essenziale per v1 |
|
|
| Certification exam prep | Richiede allineamento vendor-specific, lavoro enorme |
|
|
| Community features (forum, chat) | Moderation overhead, distrazione dal core |
|
|
| Instructor dashboard | Richiede multi-tenancy, mercato diverso |
|
|
|
|
## Traceability
|
|
|
|
Quali fasi coprono quali requisiti. Aggiornato dopo creazione roadmap.
|
|
|
|
| Requirement | Phase | Status |
|
|
|-------------|-------|--------|
|
|
| LAB-01 | Phase 2 | Pending |
|
|
| LAB-02 | Phase 3 | Pending |
|
|
| LAB-03 | Phase 4 | Pending |
|
|
| LAB-04 | Phase 5 | Pending |
|
|
| LAB-05 | Phase 6 | Pending |
|
|
| DOCT-01 | Phase 2,3,4,5,6 | Pending |
|
|
| DOCT-02 | Phase 2,3,4,5,6,9 | Pending |
|
|
| DOCT-03 | Phase 2,3,4,5,6 | Pending |
|
|
| DOCT-04 | Phase 2,3,4,5,6 | Pending |
|
|
| DOCT-05 | Phase 2,3,4,5,6 | Pending |
|
|
| TEST-01 | Phase 2,3,4,5,6 | Pending |
|
|
| TEST-02 | Phase 7,10 | Pending |
|
|
| TEST-03 | Phase 7,10 | Pending |
|
|
| TEST-04 | Phase 7,9 | Pending |
|
|
| TEST-05 | Phase 2,3,4,5,6,9 | Pending |
|
|
| INF-01 | Phase 2,7,10 | Pending |
|
|
| INF-02 | Phase 3,6,7,10 | Pending |
|
|
| INF-03 | Phase 4,6,7,10 | Pending |
|
|
| INF-04 | Phase 5,6,7,10 | Pending |
|
|
| INF-05 | Phase 1,10 | Pending |
|
|
| GIT-01 | Phase 8 | Pending |
|
|
| GIT-02 | Phase 8 | Pending |
|
|
| GIT-03 | Phase 8 | Pending |
|
|
| GIT-04 | Phase 1 | Pending |
|
|
| GIT-05 | Phase 1,8 | Pending |
|
|
| PARA-01 | Phase 2,3,4,5,6,10 | Pending |
|
|
| PARA-02 | Phase 3,6,10 | Pending |
|
|
| PARA-03 | Phase 2,3,4,5,6,10 | Pending |
|
|
| PARA-04 | Phase 2,3,4,5,6,10 | Pending |
|
|
| SETUP-01 | Phase 1 | Pending |
|
|
| SETUP-02 | Phase 1 | Pending |
|
|
| SETUP-03 | Phase 1 | Pending |
|
|
| SETUP-04 | Phase 1 | Pending |
|
|
| SETUP-05 | Phase 1 | Pending |
|
|
|
|
**Coverage:**
|
|
- v1 requirements: 40 total
|
|
- Mapped to phases: 40 ✓
|
|
- Unmapped: 0
|
|
- Orphaned requirements: 0
|
|
|
|
---
|
|
|
|
*Requirements defined: 2026-03-24*
|
|
*Last updated: 2026-03-24 after roadmap creation*
|