L'evoluzione del testing in produzione
Nonostante i notevoli progressi tecnologici, il testing in produzione (TIP) rimane uno degli aspetti più impegnativi dello sviluppo software. Il dilemma centrale persiste:
Come si può testare in ambienti reali senza mettere a rischio la continuità operativa?
Ieri contro oggi:
- 2005 (Età del Bronzo): Opzioni limitate, rischi elevati, poche strategie attuabili
- Oggi: Strumenti e metodologie avanzate, ma ancora sfide complesse di implementazione
L’architettura cloud moderna, i microservizi e la containerizzazione hanno trasformato lo sviluppo delle applicazioni, ma non hanno eliminato le domande fondamentali sul testing in produzione:
- Quando è il momento giusto per condurre i test in produzione?
- Come è possibile ridurre i rischi al minimo ottenendo il massimo delle informazioni?
- Quale framework garantisce test in produzione coerenti e affidabili?
Questo articolo presenta un approccio strategico al TIP che bilancia una gestione dei rischi essenziale con le informazioni critiche che solo gli ambienti reali possono fornire.
Il paradosso del testing in produzione: rischio vs. necessità
Insight chiave: Il TIP crea un paradosso fondamentale: è necessario scoprire bug critici in ambienti reali, ma così facendo si rischia l’integrità di quegli ambienti.
Il dilemma centrale del testing in produzione
Il testing in produzione presenta un classico Catch-22:
- Serve il testing in produzione per trovare bug che emergono solo in condizioni reali
- Tuttavia, il testing pratico in produzione rischia di perturbare operazioni aziendali critiche
- Più efficace è il testing nell’individuare bug catastrofici, maggiore è il pericolo per la continuità aziendale
Impatto reale: I sistemi di elaborazione delle transazioni non possono permettersi nemmeno un minuto di inattività — eppure il testing in produzione è essenziale affinché ciò non avvenga mai.
Perché falliscono gli approcci tradizionali al testing in produzione
Approccio storico: Brevi periodi di test alla fine dei cicli di sviluppo
La lezione di Chernobyl: Proprio come il disastro nucleare causato da un “test di sicurezza” su un reattore attivo, il testing in produzione comporta rischi significativi se implementato male.
Due problemi critici con il testing in produzione nella fase finale
1. I problemi sistemici vengono scoperti troppo tardi
Quando il testing in produzione rivela problemi significativi:
- Per definizione si tratta di problemi sistemici (altrimenti emergerebbero negli ambienti di test)
- Tali problemi richiedono diagnosi estese e correzioni complesse
- Le soluzioni al primo tentativo raramente funzionano a causa della natura intricata dei problemi sistemici
- Il calendario di consegna inevitabilmente si prolunga di 1-2 mesi o più
2. I problemi critici di performance emergono quando è troppo tardi
Il testing in produzione evidenzia principalmente due categorie di problemi devastanti:
Problemi di carico e scalabilità
- Impatto sul business: Inutilizzabile nei periodi di picco
- Reazione del cliente: Insoddisfazione immediata
Guasti di stabilità e affidabilità
- Impatto sul business: Interruzioni imprevedibili
- Reazione del cliente: Perdita di fiducia
Dal punto di vista del cliente: I bug minori delle funzionalità si possono correggere e perdonare, ma i problemi di prestazioni e affidabilità che bloccano i processi aziendali sono errori imperdonabili.
Il nocciolo della questione sul tempismo del testing in produzione
Le strategie TIP pratiche devono bilanciare due realtà contrastanti:
- Il testing in produzione deve iniziare presto e proseguire per tutta la durata dello sviluppo
- Il testing in produzione comporta rischi intrinseci che vanno gestiti con cura
La soluzione non consiste nell’evitare il testing in produzione, ma nell’implementarlo strategicamente sin dall’inizio del processo di sviluppo.
Quindi, da un punto di vista puramente aziendale — sia per il cliente che per te — rimandare il TIP fino alla fase finale del ciclo di rilascio è uno schema di fallimento classico e devastante.
Il caso strategico per un Testing in Produzione anticipato
Principio chiave: Contrariamente alla prassi comune, il testing in produzione deve iniziare presto nel ciclo di sviluppo e continuare per tutta la sua durata, non solo alla fine.
Il dilemma della frequenza nel Testing in Produzione
Il testing in produzione pone agli sviluppatori obiettivi contrastanti:
- Test più frequenti = Migliore diagnostica e rilevazione precoce dei difetti
- Test più frequenti = Maggior rischio di interruzioni in produzione
- Meno test = Difetti non rilevati finché non è troppo tardi per risolverli in modo efficiente
Questa sfida riflette il motivo per cui il performance testing viene spesso posticipato a fine progetto, proprio quando è più dirompente e meno efficace.
Sfatare la "Feature Fallacy" nel Testing in Produzione
Cos’è la Feature Fallacy?
La Feature Fallacy è la convinzione errata che il testing in produzione debba attendere che un prodotto sia “completo nelle funzionalità”—una nozione che crea rischi inutili.
Perché questo approccio fallisce:
- I crash di sistema raramente dipendono da una singola funzionalità
- I problemi di performance e stabilità sono causati da difetti architetturali
- I problemi di base nella gestione della memoria e allocazione delle risorse esistono fin dall’inizio
- Questi problemi fondanti possono e devono essere testati presto anche in produzione
Architetture moderne: Nuovi strumenti, stessi problemi
Sebbene lo sviluppo sia passato da modelli centrati sulle funzionalità a modelli centrati sui servizi, le sfide nel testing permangono:
Il mito della completezza dei servizi:
- Vecchio pensiero: "Dobbiamo completare tutte le funzionalità prima del TIP."
- Nuovo pensiero: "Devono essere completi tutti i servizi prima del TIP."
- Realtà: Entrambi gli approcci rimandano pericolosamente i test critici
Containerizzazione: Promesse e realtà del Testing in Produzione
La promessa:
- I servizi isolati riducono i malfunzionamenti su scala di sistema
- Aggiornamenti più rapidi con minor rischio
- Risoluzione problemi semplificata
La realtà durante il testing in produzione:
- I servizi restano molto interdipendenti
- I guasti si propagano ancora lungo le catene di dipendenza
- Le interazioni tra componenti generano comportamenti emergenti
- I confini di servizio aggiungono complessità alla progettazione dei test
Un framework pratico per il Testing in Produzione
La sfida del gap tra ambienti
La distanza tra gli ambienti di test e di produzione crea sfide notevoli:
- La produzione è esponenzialmente più complessa
- I volumi di dati differiscono di ordini di grandezza
- Gli schemi di traffico sono impossibili da simulare completamente
- I vincoli di costo limitano la fedeltà degli ambienti di test
La soluzione del testing progressivo
Al posto di un unico ambiente di test, adotta un approccio progressivo al TIP:
1. Crea ambienti specializzati:
- Ambiente di test focalizzato sul sistema
- Ambiente di test focalizzato sulle funzionalità
- Ambiente di staging con caratteristiche simili alla produzione
2. Costruisci una scala, non affrontare un burrone:
- Inizia presto a testare l’architettura core in produzione
- Aumenta progressivamente la complessità dei test
- Individua i problemi sistemici prima che si radichino
- Riduci sorprese finali e rischi di programma
3. Implementa un’esposizione controllata:
- Utilizza i feature flag per limitare l'impatto sugli utenti
- Testa con transazioni sintetiche in produzione
- Monitora gli utenti reali che interagiscono con i nuovi componenti
- Espandi gradualmente l'ambito dei test negli ambienti live
Questo approccio trasforma il TIP da un'attività ad alto rischio e di fine ciclo in un processo continuo e controllato che fornisce feedback anticipati con rischi gestibili.
Un quadro concettuale per il testing efficace in produzione
Oltre alla pratica infrastrutturale, un TIP riuscito richiede un cambio fondamentale nell'approccio al rilevamento e alla risoluzione dei problemi.

Superare la "Fallacia Empirica" nel testing in produzione
Cos'è la Fallacia Empirica?
La Fallacia Empirica nel TIP è la convinzione che sia necessario:
- Assistere a un problema mentre si verifica in tempo reale
- Vedere lo svolgimento completo del problema con i propri occhi
- Vivere il guasto totale per diagnosticarlo
"Beh, se non lo vedo accadere davanti a me, non so come diagnosticarlo."
Questo approccio al TIP è:
- Irrazionale - Non pretendiamo che i detective assistano agli omicidi per risolverli
- Inefficiente - Aspettare che i problemi si manifestino completamente spreca tempo e risorse
- Non necessario - Gli ingegneri esperti possono prevedere i potenziali punti di fallimento
Approccio "Architecture-First" al Testing in produzione
Insight chiave: I problemi sistemici sono quasi sempre problemi architetturali.
Questa consapevolezza trasforma il nostro approccio al TIP:
- Dare priorità ai test architetturali già dall'inizio del progetto
- Iniziare il performance testing e il load testing sin dalle prime fasi di sviluppo
- Individuare i potenziali colli di bottiglia prima che si consolidino
- Testare i componenti fondamentali in produzione prima che le funzionalità siano complete
Le sfide ai metodi di sviluppo tradizionali
Questo approccio "architecture-first" al TIP richiede di ripensare:
- Metodologie Agile - Le proprietà sistemiche non possono sempre essere suddivise in sprint
- Prioritizzazione delle funzionalità - L'architettura di base deve avere la precedenza
- Pianificazione dei test - Il testing in produzione deve iniziare prima
- Allocazione delle risorse - È necessario un maggiore investimento iniziale negli ambienti di test
Lettura correlata: METODOLOGIA DI TESTING AGILE: PERCHÉ FUNZIONA E COME IMPLEMENTARLA
Predizione collaborativa: la miglior via al testing in produzione
La strategia TIP più efficace combina:
Competenza ingegneristica:
- Gli architetti individuano potenziali punti deboli
- Gli sviluppatori segnalano interazioni rischiose tra i componenti
- I system designer mappano i potenziali colli di bottiglia
Testing mirato da parte del QA:
- Realizzare scenari di test focalizzati sui problemi previsti
- Progettare stress test per specifici componenti architetturali
- Creare esperimenti controllati negli ambienti produttivi
Questo approccio collaborativo significa:
- I problemi falliscono in contesti isolati e diagnostici
- I problemi vengono scoperti prima che influiscano sui clienti
- Le correzioni possono essere implementate in modo metodico, non in modalità emergenza
Il percorso progressivo verso il testing in produzione
Il testing in produzione non dovrebbe essere un evento binario, tutto-o-niente, come:
- Accendere l'interruttore della luce in una stanza buia
- Passare da zero a piena esposizione all'istante
- Finestre di tempo brevi e ad alto rischio alla fine del progetto
Invece, implementare il testing in produzione come segue:
- Un approccio graduale e a fasi
- Approssimazione progressiva alle condizioni di produzione complete
- Riduzione continua del rischio tramite esposizione mirata
Feature Flag: la base per il testing sicuro in produzione
I feature flag sono al centro delle moderne strategie di testing in produzione. Sono un meccanismo fondamentale che trasforma il modo in cui i team validano il software negli ambienti live.
Cosa sono i Feature Flag?
I feature flag (detti anche feature toggle) sono una tecnica di sviluppo software che consente ai team di:
- Distribuire codice senza esposizione - Rilasciare nuove funzionalità in produzione mantenendole invisibili agli utenti
- Controllare le funzionalità da remoto - Abilitare o disabilitare funzionalità senza dover distribuire nuovo codice
- Targetizzare segmenti specifici - Esporre funzionalità solo a gruppi selezionati di utenti per test in produzione
Come definito dagli esperti del settore: "Un feature flag è un processo nello sviluppo software utilizzato per abilitare o disabilitare funzionalità senza distribuire codice. Si può avvolgere una funzionalità in un flag per distribuirla in produzione senza renderla visibile a tutti gli utenti."
Come i Feature Flag trasformano il testing in produzione
I feature flag cambiano radicalmente il profilo di rischio del TIP:
- Scorporare la distribuzione dal rilascio - Il codice arriva in produzione in stato dormiente
- Fornire rollback istantaneo - È possibile rimediare ai problemi senza ulteriori distribuzioni
- Creare ambienti di test controllati - Condizioni reali di produzione con esposizione limitata
Queste capacità risolvono il dilemma principale del TIP descritto precedentemente: offrono i vantaggi del testing in produzione riducendo notevolmente i rischi associati.
Implementazione di rollout graduali in produzione
Una delle applicazioni più potenti dei feature flag per il TIP è il rollout graduale:
Esempio di implementazione:
- Giorno 1: Abilita la nuova funzionalità per l'1% degli utenti
- Giorno 3: Se le metriche restano stabili, aumenta al 5%
- Giorno 7: Se le prestazioni sono positive, espandi al 25%
- Giorno 14: Rollout completo se non vengono rilevati problemi
"Un esempio pratico di testing in produzione è l'uso dei feature flag per un rollout graduale. Un'azienda ecommerce introduce un nuovo algoritmo di raccomandazione sulle pagine prodotto: invece di distribuirlo a tutti gli utenti subito, utilizza un feature flag per abilitarlo inizialmente solo al 5% del traffico."
Questo approccio permette ai team di rilevare problemi che colpiscono una piccola parte degli utenti prima che impattino su tutta la base utenti.
A/B testing negli ambienti di produzione
I feature flag consentono di effettuare esperimenti sofisticati direttamente in produzione:
- Confrontare implementazioni - Testare diverse versioni di una funzionalità su segmenti diversi di utenti
- Decisioni guidate dai dati - Prendere decisioni basate su metriche reali di prestazione
- Validare l'esperienza utente - Capire quale versione produce risultati migliori
Come riportato dalle fonti di settore, "Gli strumenti di feature flag offrono anche il vantaggio di permettere l'A/B testing, dove la nuova funzionalità viene confrontata con la versione precedente del software per vedere quale offre una migliore esperienza utente sulla base dei dati di produzione."
Integrazione dei feature flag con i sistemi di monitoraggio
Il pieno potenziale dei feature flag per il TIP si realizza grazie all'integrazione con sistemi di monitoraggio:
Vantaggi principali dell'integrazione:
- Rilevamento automatico dei problemi - Correlare l'attivazione delle funzionalità con le metriche di prestazione
- Risposta rapida agli incidenti - Identificare e disabilitare rapidamente le funzionalità problematiche
- Validazione continua - Monitorare l'impatto della funzionalità durante tutte le fasi del rollout
Quando i problemi di prestazione del sistema vengono rilevati dagli strumenti di monitoraggio, i team possono "trovare rapidamente e disattivare (cioè interrompere immediatamente) la funzionalità che causa l'incidente", fornendo una rete di sicurezza che rende il TIP significativamente più sicuro.
Feature Flags in una Strategia di Testing Architetturale
Per massimizzare il valore dei feature flag nel TIP:
- Contrassegna i componenti architetturali - Consente il test degli elementi fondamentali del sistema
- Crea gerarchie di feature - Stabilisci relazioni genitore-figlio tra i flag
- Definisci interruttori di sicurezza - Imposta soglie di disattivazione automatica
- Documenta le dipendenze - Mappa le interazioni tra i componenti sotto flag
- Pianifica la pulizia - Definisci i processi per la rimozione dei flag obsoleti
Questo approccio supporta la metodologia di test "architecture-first" descritta in precedenza, permettendo ai team di testare in sicurezza i componenti fondamentali del sistema in produzione già nelle prime fasi del ciclo di sviluppo.
Piattaforme di Feature Management: come stanno trasformando il Testing in Produzione
Le moderne strategie TIP richiedono strumenti che controllino il rischio e al tempo stesso consentano una validazione nel mondo reale. Le piattaforme di feature management sono diventate componenti essenziali di ambienti di test efficaci.
Come il Feature Management Migliora il Testing in Produzione

Le piattaforme di feature management forniscono l'infrastruttura necessaria per un TIP sicuro e continuo:
- Esposizione controllata - Testa con segmenti specifici di utenti invece di rilasci "tutto o niente"
- Risoluzione immediata - Disattiva le funzionalità problematiche senza rilasciare nuovo codice
- Validazione progressiva - Incrementa l'esposizione gradualmente sulla base dei dati di performance
Queste capacità trasformano il testing in produzione da un'attività ad alto rischio ad un processo controllato e metodico.
Feature Flag: la base del Testing in Produzione
Come accennato, al centro di queste piattaforme ci sono i feature flag (a volte chiamati "feature toggle"), che permettono ai team di:
- Distribuire codice in produzione mantenendolo invisibile alla maggior parte degli utenti
- Abilitare o disabilitare funzionalità senza nuovi deploy
- Testare in produzione con un rischio minimo per le attività aziendali
Vantaggio reale nell'implementazione: "La piattaforma di feature management di LaunchDarkly offre ai team un modo fluido e a basso rischio per testare i cambiamenti software in produzione ad alta frequenza e larga scala", abilitando l'approccio di test continuo.
Integrazione Critica: Osservabilità + Feature Management
Le implementazioni TIP più potenti collegano il feature management con gli strumenti di osservabilità:
- Correlazione in tempo reale - Collega l'attivazione delle feature ai parametri di performance
- Salvaguardie automatiche - Trigger di disattivazione delle feature quando le prestazioni degradano
- Analisi della causa principale - Identifica rapidamente quali feature compromettono la stabilità del sistema
Questa integrazione crea una rete di sicurezza che riduce notevolmente i rischi del TIP massimizzandone i benefici.
Successi Reali con le Piattaforme di Testing in Produzione
Le organizzazioni di diversi settori hanno trasformato il proprio approccio TIP grazie al feature management:
IBM, TrueCar e O'Reilly Media hanno implementato piattaforme di feature management per consentire il testing continuo in produzione con rischi minimi.
Come spiega Chris Guidry, VP of Engineering presso O'Reilly Media:
"[I nostri ingegneri] possono testare le funzionalità in produzione ben prima del lancio di marketing. E se una funzionalità causa problemi il giorno del lancio, possiamo semplicemente spegnerla con un interruttore di emergenza—niente rollback. LaunchDarkly rende i nostri rilasci noiosi. Ed è esattamente ciò che vogliamo."
Strategia di Implementazione
Per sfruttare efficacemente le piattaforme di feature management nel testing in produzione:
- Parti dall'architettura di base - Contrassegna prima i componenti fondamentali
- Crea piani di rilascio progressivo - Definisci percentuali di esposizione e trigger
- Stabilisci soglie di monitoraggio - Imposta metriche chiare per successo e fallimento
- Documenta le dipendenze - Mappa le relazioni tra le funzionalità contrassegnate
- Implementa interruttori di sicurezza (circuit breakers) - Configura la disattivazione automatica in caso di problemi critici
Questo approccio sistematico consente la strategia TIP architettura-first consigliata precedentemente, fornendo al contempo i meccanismi di sicurezza necessari per renderla pratica.
Combinare la Gestione delle Funzionalità con Ambienti di Test Progressivi
Per risultati TIP ottimali, integra le piattaforme di gestione delle funzionalità con l'approccio a livelli degli ambienti di test:
- Utilizza feature flag nei primi ambienti di test per validare i concetti di base
- Mantieni una configurazione consistente dei flag tra gli ambienti
- Aumenta progressivamente l'esposizione agli utenti reali in produzione
- Sfrutta il monitoraggio automatico per garantire sicurezza
Questo approccio combinato offre i benefici della TIP anticipata, garantendo al tempo stesso la riduzione progressiva e controllata dei rischi necessaria per una delivery di successo.
Strumenti per il Testing in Produzione: Sfide di Implementazione
Sebbene i feature flag e le piattaforme di gestione costituiscano la base per la TIP, la scelta e l'implementazione degli strumenti di supporto adeguati comporta delle considerazioni.
Comprendere queste sfide è fondamentale per creare una strategia di testing in produzione efficace.
Strumenti di Monitoraggio e Osservabilità
Una visibilità completa è fondamentale con la TIP, ma la scelta degli strumenti richiede un'attenta valutazione:
Application Performance Monitoring (APM):
- Vantaggi: Approfondite analisi delle prestazioni tra i servizi
- Sfide: Può generare volumi di dati eccessivi; richiede configurazione significativa
- Considerazioni per l'implementazione: "Strumento di monitoraggio potente con approfondimenti completi, ma richiede configurazione e un'ottimizzazione continua per evitare il sovraccarico di dati."
Soluzioni di Tracciamento Distribuito:
- Vantaggi: Tracciano le richieste tra microservizi; individuano colli di bottiglia
- Sfide: Richiedono strumentazione su tutti i servizi; possono impattare le prestazioni
- Considerazioni per l'implementazione: "Efficaci per tracciare problematiche di prestazioni, ma complessi da configurare per team ridotti."
Piattaforme di Analisi dei Log:
- Vantaggi: Forniscono informazioni diagnostiche dettagliate; supportano l'analisi forense
- Sfide: I costi di archiviazione possono aumentare rapidamente; necessitano di un approccio strutturato
- Considerazioni per l'implementazione: "Valide per il debug di problematiche complesse in produzione ma richiedono una strategia coerente per evitare il sovraccarico informativo."
Sistemi di Gestione degli Avvisi
Un corretto sistema di avvisi è essenziale durante il test di nuove funzionalità in produzione:
Piattaforme di Gestione degli Incidenti:
- Vantaggi: Snelliscono la comunicazione durante gli incidenti; automatizzano le risposte iniziali
- Sfide: Richiedono un'attenta configurazione delle soglie; integrazione con sistemi multipli
- Considerazioni per l'implementazione: "Ottimi per la gestione degli incidenti, ma possono diventare invasivi se non configurati adeguatamente per evitare l'affaticamento da alert."
Strumenti di Monitoraggio Sintetico:
- Vantaggi: Validano costantemente i percorsi critici; rilevano problemi prima degli utenti
- Sfide: Limitati agli scenari predefiniti; possono sfuggire problemi dell'esperienza reale degli utenti
- Considerazioni per l'implementazione: "Forniscono una validazione di base costante ma devono essere integrati con il monitoraggio degli utenti reali per una TIP completa."
Bilanciare la Complessità degli Strumenti con le Capacità del Team
Quando si implementano strumenti per la TIP, considera:
- Competenze del team – Avete le competenze necessarie per massimizzare il valore dello strumento?
- Requisiti di integrazione – Quanto bene si connette con i vostri sistemi esistenti?
- Sovraccarico operativo – Quale manutenzione continua richiede lo strumento?
- Scalabilità – Gestirà i vostri volumi di produzione e la crescita?
- Rapporto segnale-rumore – Riuscite a estrarre informazioni significative senza essere sommersi dai dati?
Errori comuni nell’implementazione degli strumenti durante i test in produzione
I team si trovano spesso ad affrontare queste sfide quando implementano strumenti di test in produzione:
- Lacune nel monitoraggio – Componenti critici lasciati senza monitoraggio
- Affaticamento da segnalazioni – Troppe notifiche portano i team a ignorare gli avvisi
- Contesto insufficiente – Avvisi senza informazioni utili su cui agire
- Silos di dati – Strumenti che non condividono informazioni tra diverse piattaforme
- Impatto sulle prestazioni – Strumenti di monitoraggio che degradano il sistema che analizzano
Best practice di implementazione per strumenti di test in produzione

Per massimizzare l’efficacia riducendo al minimo le difficoltà:
- Partite in piccolo – Iniziate con le user journey principali e i servizi critici
- Definite responsabilità chiare – Stabilite chi risponde ai diversi tipi di avviso
- Implementate avvisi graduali – Create soglie di allerta prima dei livelli critici
- Unificate le dashboard – Create viste unificate che correlino i dati tra gli strumenti
- Revisionate e adattate regolarmente – Modificate le soglie basandovi sui reali schemi di produzione
Il giusto equilibrio tra strumenti permette un TIP efficace e garantisce la rete di sicurezza necessaria per minimizzare i rischi. Selezionate strumenti adatti alle capacità del vostro team e integrateli consapevolmente nella vostra strategia di test.
Considerazioni finali sui test in produzione
Le strategie TIP di maggior successo seguono questi principi:
- Partite presto – Non aspettate la fine dello sviluppo
- Testate in modo progressivo – Utilizzate una sequenza di ambienti sempre più complessi
- Pensate in modo predittivo – Non limitatevi a reagire ai problemi, anticipateli
- Collaborate tra funzioni – Ingegneria e QA devono lavorare insieme
- Riducete i rischi in modo sistematico – Ogni fase di test deve rafforzare la fiducia
TIP è essenziale, ma non deve essere pericoloso. Combinando miglioramenti pratici degli ambienti a cambi di mentalità nell’approccio ai test, il testing in produzione può diventare una pratica continua e di valore, invece che un male necessario.
Ricordate: Il rilascio di software è una consegna di prodotto, non un lancio nello spazio. La riduzione progressiva del rischio con test intelligenti in produzione porta a risultati molto più positivi che lanciarsi nell’ignoto nelle ultime ore.
Trovi utile questo approccio al testing in produzione? Per altri approfondimenti da esperti di QA e testing, iscriviti alla newsletter del CTO Club.
