Il processo di rilascio dei prodotti per endpoint di WatchGuard
La notizia della scorsa settimana sull'interruzione informatica globale causata dall'aggiornamento dei contenuti di un fornitore di sicurezza ha dato il via a importanti conversazioni sui processi mirati a garantire la qualità per i prodotti endpoint e i relativi aggiornamenti dei contenuti. WatchGuard, grazie ad oltre 30 anni di esperienza nel settore, conosce bene la sensibilità del processo di aggiornamento e ha voluto cogliere l'occasione per mettere in evidenza i suoi processi, tutti volti a proteggere la sua preziosa community di partner e clienti dagli impatti di un aggiornamento difettoso.
I prodotti di sicurezza degli endpoint sono strettamente legati al sistema operativo (OS) e quindi richiedono processi di qualità più solidi. L'unicità di questi prodotti e i requisiti di accesso privilegiato al sistema operativo rendono il processo di sviluppo e garanzia della qualità (QA) più difficile rispetto ad altri tipi di sviluppo software. Dato che questo tipo di software può essere in esecuzione su decine o centinaia di milioni di endpoint, e in impostazioni estremamente diverse fra loro, non ci è possibile testare tutti gli esatti ambienti in cui il prodotto verrà implementato. Per risolvere questo problema, i team tecnici di WatchGuard applicano un processo che, pur mantenendo il ritmo dei rilasci, limita la possibilità di interrompere le normali operazioni.
Il processo di aggiornamento dei prodotti per endpoint di WatchGuard
Fase 1 - Anteprima “Friends and Family”:
Il processo, spiegato in questo articolo tecnico, ha inizio dopo che il team addetto alla qualità completa tutte le procedure interne di test alfa e beta su una nuova versione. Una volta che il software è certificato, avviamo una fase che internamente chiamiamo “Test Friends and Family", sostanzialmente perché è proprio così che è iniziato, con amici e parenti che testavano la nuova soluzione in produzione.
All’inizio, quasi 10 anni fa, aggiornavamo prima i nostri sistemi personali, sia i sistemi aziendali sia i dispositivi personali a casa. I nostri sistemi WatchGuard interni erano tra i primi a essere inclusi nel Friends and Family: non solo i personal computer, ma anche i server di produzione.
Nel corso del tempo, questo ambiente è diventato molto più diversificato, con centinaia di account e migliaia di endpoint. Alcuni dei nostri partner più strategici insieme ad altri amministratori di clienti decisero di aderire all'adozione anticipata delle nostre nuove versioni, il che aggiunse gli ambienti dei loro clienti ai nostri test Friends & Family.
Tutti i sistemi inclusi in questa fase sono oggetto di un attento monitoraggio. Abbiamo quindi aggiunto la telemetria estesa per verificare che la nuova versione non si comportasse diversamente da quella in fase di aggiornamento. Tra i dati estesi, carichiamo e monitoriamo potenziali arresti anomali ed errori, ma anche dati sull'integrità, come la memoria consumata o l'utilizzo medio della CPU.
A seconda delle modifiche, manteniamo questa fase per un tempo sufficiente a verificare che l'implementazione iniziale abbia avuto successo ed anche che funzioni correttamente per un periodo di tempo sufficiente.
Il nostro team di supporto è molto attivo anche in questa fase per identificare eventuali nuovi problemi. Nello specifico, fornisce l'input principale per decidere se possiamo passare alla fase successiva del processo di rilascio dell'aggiornamento. Quando il nostro team di supporto è soddisfatto della versione e tutte le metriche sono sotto i parametri definiti, procediamo.
Fase 2 – Anteprima controllata:
Il passaggio successivo è inviare una notifica alla console cloud sulla disponibilità di una nuova versione. Lo scopo è informare i nostri partner e clienti del fatto che possono iniziare a implementare la nuova versione. È possibile, come descritto in questo articolo tecnico, eseguire l'aggiornamento dei sistemi in modo controllato.
Questa fase dura diverse settimane, nelle quali monitoriamo il numero di nuovi dispositivi in fase di aggiornamento. Come nella fase Friends and Family, i nostri team di supporto sono molto attivi nell'identificazione di comportamenti anomali che potrebbero essere correlati alla nuova versione.
Fase 3 – Processo di aggiornamento automatico:
Quando la nuova versione ci soddisfa a sufficienza, avviamo le fasi di aggiornamento automatico. Anche in questo caso, il numero di fasi dipende dalle modifiche, ma in genere sono suddivise in tre o quattro momenti, durante i quali iniziamo a proporre l'aggiornamento ai clienti.
Processo di aggiornamento dei contenuti di WatchGuard:
Il processo di distribuzione degli aggiornamenti dei contenuti è simile. In questo caso, abbiamo un ambiente di gestione temporanea simile a Friends and Family, con centinaia di account e migliaia di dispositivi. Una volta che il contenuto è certificato, per prima cosa pubblichiamo l'aggiornamento in questo ambiente. Analogamente alla fase Friends and Family, l’ambiente è oggetto di un profondo monitoraggio per i dati sull'integrità. Qualsiasi discrepanza rispetto alla precedente linea di prestazione viene valutata e ritestata in questo ambiente. Solo quando tale processo è completo, senza che emergano nuovi problemi, inoltriamo l'aggiornamento ai nostri partner e clienti.
Voglio cogliere l'occasione per riconoscere gli sforzi e il valore risultante del lavoro che i nostri team interni di sviluppo, garanzia della qualità, DevOps e supporto svolgono quotidianamente per assicurarsi di mantenere la soluzione aggiornata contro nuove minacce ed evitare problemi ai nostri partner e clienti. Voglio anche ribadire il costante impegno di WatchGuard a rivisitare, rivedere ed evolvere questi processi nel modo più appropriato per continuare a meritarci la tua fiducia.
Infine, dopo oltre venticinque anni nel settore, conosco il disagio causato dal fallimento di un lancio, e non mi piace affatto vedere che accada ad altre aziende. Quando succede, veniamo spinti a raddoppiare i nostri sforzi per verificare che i nostri partner e clienti siano al sicuro da minacce reali e a rimanere vigili nel rivalutare costantemente i nostri processi interni.