MySQL 8: upgrade riuscito di milioni di database ed esperienza cliente senza pari
Indice
Siamo lieti di annunciare che abbiamo aggiornato con successo i nostri server a MySQL 8 e che più di 3 milioni di database lo utilizzano ora a pieno regime. Ancora più importante, questa massiccia transizione non ha richiesto alcuna azione da parte dei proprietari dei siti! Il nostro approccio unico a questa attività ci ha permesso di fornire ai clienti tutti i vantaggi della versione più recente di MySQL e allo stesso tempo di mitigare l’alto rischio di aggiornamento di una tecnologia vitale per il proprio sito web.
Mentre molti host cambierebbero la versione di MySQL e lascerebbero che i clienti ne affrontassero le conseguenze, per noi di SiteGround questo non è pensabile. Ci siamo impegnati a portare i vantaggi di MySQL 8 a tutti i nostri clienti e ci siamo preparati ampiamente per rendere l’adozione indolore e priva di rischi. Ciò significava testare e valutare configurazioni di innumerevoli applicazioni (Joomla, Drupal, WordPress e altri CMS, e tutte le loro estensioni e temi disponibili in diverse configurazioni) per prevedere le tonnellate di possibili problemi post-aggiornamento ed eliminarli in modo proattivo e rapido senza qualsiasi lavoro o seccatura per i nostri clienti.
Vediamo insieme come abbiamo realizzato ciò.
La sfida: l’aggiornamento a MySQL8 è rischioso e crea un carico di lavoro pesante per i proprietari di siti
Aggiornare MySQL per un sito web è sempre rischioso: gli aggiornamenti delle versioni principali di solito portano funzionalità veramente innovative, ma significa anche che le applicazioni e le configurazioni web esistenti potrebbero non essere compatibili con esse. Per questo motivo, di solito ci vogliono anni prima che vengano adottati su larga scala. Ad esempio, la prima versione di MySQL 8 è stata presentata per la prima volta nel 2018 e un anno dopo il suo rilascio aveva un tasso di adozione globale solo del 17%.
Se e quando passare a una versione MySQL più recente, è una decisione che richiede ai webmaster di valutare i potenziali problemi che potrebbero verificarsi rispetto ai vantaggi che comporta e di investire tempo e denaro nella risoluzione dei problemi post-aggiornamento. Ciò crea un enorme onere per i proprietari di siti.
È qui che le società di hosting potrebbero essere di grande aiuto – o meno – a seconda di come gestiscono i propri server e del livello di servizio che forniscono ai propri clienti. Tra i nostri concorrenti ci sono due approcci popolari per questi aggiornamenti su larga scala: abilitare la nuova versione di MySQL solo sui nuovi server che si attivano e, se i clienti attuali desiderano la nuova versione, devono trasferirsi sui nuovi server; oppure mettere sia il vecchio che il nuovo MySQL su un server, il che aumenterebbe l’utilizzo delle risorse del server e potrebbe in definitiva deteriorare le prestazioni dei siti ospitati su di esso.
Nessuna di queste opzioni è però l’ideale. In entrambi i casi, l’onere del rischio ricade sul proprietario del sito, poiché dovrà impegnarsi a rendere i propri siti compatibili con la nuova versione di MySQL. Il risultato probabile è che molti semplicemente non si aggiornerebbero, perdendo così prestazioni, sicurezza e altri vantaggi. Quel che è peggio, molti clienti continuerebbero a utilizzare una versione precedente di MySQL per così tanto tempo che diventerebbe vulnerabile e non sarebbe più supportata dagli sviluppatori ufficiali. Ciò metterebbe seriamente a rischio i loro siti web. Non è un piano ottimale.
L’approccio unico di SiteGround: milioni di database aggiornati automaticamente a MySQL 8 senza problemi per i clienti
In SiteGround la nostra filosofia è garantire che tutti i nostri clienti possano beneficiare delle ultime tecnologie, senza dover fare alcuno sforzo: nessun lavoro, nessun rischio, nessun investimento aggiuntivo, basta sceglierle e usarle. Quando offriamo un nuovo software come MySQL 8 che offre molteplici vantaggi, ci assicuriamo che tutti i clienti possano utilizzarlo in modo sicuro e semplice.
Questo è il motivo per cui il nostro approccio a questo aggiornamento è stato diverso dai competitor. Non abbiamo lasciato ai nostri clienti il compito di capire come eseguire l’aggiornamento a MySQL 8; lo abbiamo fatto per loro e ci siamo fatti carico di tutto il lavoro per eliminare le incompatibilità e risolvere i problemi post-aggiornamento. Il processo di aggiornamento prevedeva la valutazione del livello di rischio, la ricerca di tutte le possibili incompatibilità e gli errori di aggiornamento, la risoluzione automatica dei problemi e la verifica manuale dei risultati. Di conseguenza, milioni di siti ora utilizzano MySQL 8 senza ulteriori grattacapi.
Ricerca approfondita e molteplici test per ridurre il tasso di errori nell’aggiornamento
Abbiamo iniziato effettuando una ricerca approfondita sulle incompatibilità di MySQL 5.7 (la versione di MySQL utilizzata in precedenza). L’obiettivo era scoprire quali problemi potrebbero fungere da potenziali ostacoli all’aggiornamento di un database a MySQL 8.
Successivamente, abbiamo copiato e isolato centinaia di server e avviato gli aggiornamenti di prova. L’obiettivo era identificare software e configurazioni problematici che si interrompono dopo la transizione, trovare soluzioni in anticipo e documentare attentamente tutti i risultati. Abbiamo utilizzato tutti questi dati per ridurre al minimo il tasso di errori di aggiornamento e per automatizzare la risoluzione dei problemi successivi.
Correzioni automatiche e rapide dei siti danneggiati
Basandosi su ricerche e test approfonditi, i nostri ingegneri hanno sviluppato un sistema intelligente che fungeva essenzialmente da meccanico esperto per il tuo sito web. È stato eseguito un controllo di compatibilità con MySQL 8 in base alla configurazione specifica dell’applicazione e alla struttura del database. Quando rileva incompatibilità, creava una patch immediatamente.
Di conseguenza, dopo l’aggiornamento, questo sistema automatico ci ha aiutato a rimuovere immediatamente errori e query interrotte per migliaia di siti e ci ha risparmiato tantissimo lavoro manuale, oltre al tempo di attesa per la risoluzione da parte dei clienti.
Correzione manuale di 7518 siti da parte dei nostri esperti (gratuita per i clienti)
I controlli automatizzati hanno svolto un lavoro straordinario, ma siamo andati oltre. Dopo l’aggiornamento di un server, i nostri tecnici aprivano praticamente tutti i siti ospitati su di esso per assicurarsi che fossero perfettamente funzionanti. Di questi, hanno identificato 7518 siti web con problemi, che hanno poi risolto manualmente a tempo debito dopo la migrazione.
804 siti provvisti di proroga temporale (a nostre spese)
Tutti i nostri controlli automatici e manuali ci hanno lasciato con un numero incredibilmente basso di siti rimasti incompatibili con la nuova versione di MySQL: inferiore allo 0,001% di tutti. Per questi clienti abbiamo fornito una configurazione server personalizzata in cui avrebbero potuto utilizzare MySQL 5.7 per altri due mesi, concedendo loro tempo sufficiente per risolvere significative incompatibilità delle query e prepararsi per la nuova versione. Crediamo che a ciascuno dei nostri utenti debba essere data la possibilità di ricevere il miglior servizio, quindi in questo momento abbiamo assorbito il costo di mantenimento della vecchia versione su server aggiuntivi.
Un efficiente programma di aggiornamento del server è stato ripagato dalla rapida risoluzione dei problemi
Una delle sfide interne durante il processo è stata quella di pianificare l’aggiornamento dei server in modo da avere abbastanza persone non solo per affrontare potenziali problemi, ma anche per completare l’aggiornamento con successo nel più breve tempo possibile. Sulla base delle nostre statistiche ricavate dai test di prova, abbiamo potuto prevedere quanti siti avrebbero avuto problemi per server e quindi sapere quanti server programmare e quanti tecnici inserire tra il personale in modo da poter risolvere rapidamente i problemi. Ad un certo punto, il nostro processo è stato così efficiente che ci ha consentito di aggiornare con successo fino a 180.000 siti in 24 ore!
Comunicazione tempestiva e onesta con i clienti
Quelli di voi che sono clienti da un po’ sicuramente sanno già quanto apprezziamo la trasparenza e la comunicazione chiara quando si tratta di eventi che hanno un impatto sui vostri siti web. Questo aggiornamento a MySQL8 non ha fatto eccezione. Abbiamo avvisato ciascun cliente almeno sette giorni prima della transizione, informandolo del giorno e degli orari in cui avremmo aggiornato i loro siti (sempre in orari non lavorativi in base al luogo dove si trovassero).
I numeri
La nostra massima priorità in questo processo di aggiornamento era che tutti i siti fossero perfettamente funzionanti come al solito dopo l’aggiornamento: nessun problema, solo i vantaggi del nuovo MySQL. Il risultato? Abbiamo registrato una percentuale di successo del processo di migrazione superiore al 99,99%
- Con una solida pianificazione ed un’esecuzione precisa, abbiamo aggiornato con successo più di 3 milioni di database e li abbiamo resi completamente compatibili con MySQL 8 senza alcun lavoro richiesto ai nostri clienti.
- Ci sono voluti solo 63 giorni di migrazione per raggiungere questo obiettivo per tutti i siti ospitati sulla nostra piattaforma, in modo totalmente gratuito. Il tutto assicurandoci che ogni singolo sito web fosse stato accuratamente controllato. E non dimentichiamoci di un mese o due che abbiamo investito nel lavoro di preparazione, inclusa ricerca, prove e automazioni.
- Un team speciale di 34 persone ha lavorato per un totale di 1228 ore sull’aggiornamento vero e proprio, completando il processo con la massima efficienza e professionalità: ci sono voluti in media sette minuti per server per gestire e risolvere i problemi.
È stato un lavoro enorme su una scala immensa, soprattutto considerando l’alto livello che ci eravamo prefissati. Ma alla fine tutto il duro lavoro da parte nostra è stato ripagato assolutamente dal fatto che nessun intervento è stato richiesto ai nostri clienti. E questo di per sé, è per noi il traguardo finale che giustifica tutto lo sforzo.
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite
Inizia la discussione
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite