Migrazione a Nomad
Questa sezione documenta la strategia di migrazione dell'infrastruttura Visla GPS verso HashiCorp Nomad come orchestratore di container.
Perché Nomad?
| Aspetto | Nomad | Kubernetes |
|---|---|---|
| Complessità | ✅ Semplice | ❌ Complesso |
| Risorse richieste | ✅ Leggero (~50MB) | ❌ Pesante (~300MB+) |
| Curva di apprendimento | ✅ Bassa | ❌ Alta |
| Configurazione | ✅ HCL semplice | ❌ YAML complesso |
| Ecosistema | ❌ Più piccolo | ✅ Enorme |
| Managed options | ❌ Poche | ✅ GKE, EKS, AKS |
Architettura Target
Documentazione
- Panoramica Architettura - Architettura dettagliata con Nomad
- Servizi Gestiti - Database e Redis come servizi cloud
- Connessioni Multi-Istanza - Come più istanze si connettono a DB e Redis
- Servizi Stateful - Decoder + VPN: architettura per connessioni TCP persistenti
- Scaling Decoder Senza VPN - Load Balancer TCP + Nomad per alta disponibilità
- Configurazione Nomad - Installazione e configurazione cluster
- Job Files - Definizione dei job per ogni microservizio
- Service Discovery - Consul integration
- Scalabilità - Auto-scaling e strategie di scaling
Quick Start
# Verifica stato cluster Nomad
nomad status
# Deploy di un servizio
nomad job run auth-service.nomad
# Scala un servizio
nomad job scale auth-service api 5
# Visualizza logs
nomad alloc logs <alloc-id>
Prerequisiti
- Nomad 1.6+
- Consul 1.16+
- Docker 24+
- Account Google Cloud (per servizi gestiti)