Un Aggiornamento Sui Nostri Server
Cara comunità di Chess.com,
Il 23 gennaio abbiamo condiviso con voi un comunicato che descriveva quanto e con quale velocità stiano crescendo gli scacchi, spiegando quale sfida ciò abbia comportato per la nostra comunità e per il nostro "Server Live" sul quale si giocano le partite. Da allora, questa crescita è aumentata ancora.
Venerdì 3 febbraio abbiamo avuto un nuovo record di 403.000 nuovi membri che si sono registrati su Chess.com in quella giornata soltanto: il tutto è sbalorditivo ed emozionante. Ma è anche doloroso. Vorremmo festeggiare pienamente questa esplosione degli scacchi ma, ad essere onesti, abbiamo avuto più pene che gioie dato che i nostri servizi si sono trovati decisamente provati nelle ore di massima attività. Ci dispiace veramente, veramente tanto per i problemi che così tanti di voi hanno avuto nelle ultime settimane.
Fortunatamente abbiamo l'impressione di vedere la luce alla fine di questo tunnel e vogliamo offrirvi un nuovo aggiornamento su quel che abbiamo fatto nelle ultime due settimane e su ciò che abbiamo ottenuto. Detto ciò, non siamo ancora ai livelli di stabilità a cui puntiamo: il tutto è in corso d'opera.
Cosa è successo?
- Il traffico di Chess.com è più che raddoppiato negli ultimi mesi. Nel solo gennaio siamo passati dai 7 milioni di utenti attivi al giorno a più di 11 milioni.
- Ciò è avvenuto per diversi motivi, tra i quali il fatto che siamo arrivati ad essere primi nelle classifiche degli app store, l'aver prodotto e seguito moltissimi grandi eventi, l'esistenza di una fantastica comunità scacchistica digitale che ha condiviso il proprio entusiasmo sui social media, i fantastici contenuti pubblicati dai content creator e anche Mittens.
- Tutto questo traffico ha fatto sì che i nostri server e le infrastrutture si trovassero sotto una pressione inaudita. I due problemi principali incontrati sono gli errori 502, che si verificano quando il nostro database va oltre la saturazione, e le disconnessioni dai live server, anche questi per lo stesso motivo.
Cosa stiamo facendo?
Per gestire questo così ingente aumento del traffico non basta semplicemente identificare un punto critico del sistema rimuovendolo. Ci sono molti componenti hardware e dell'infrastruttura del cloud che devono essere ampliati e ottimizzati. Ecco alcune delle cose che abbiamo fatto nelle ultime due settimane:
- Abbiamo acquistato circa due milioni di dollari di hardware (server web, server per il database, un nuovo server per le partite in tempo reale, macchine per bilanciamento del carico e per servizi addizionali). L'hardware più importante è ormai stato installato, ma ne arriverà altro nei prossimi giorni. Anche se due milioni di dollari sembrano parecchio, ce ne vorrebbero assai di più (ad un livello insostenibile) se Chess.com fosse ospitato completamente in cloud.
- Stiamo suddividendo e moltiplicando il più velocemente possibile gli elementi della nostra infrastruttura: sono stati fatti molti progressi, dato che molte tabelle MySQL sono state sdoppiate e collegate al codice.
- Abbiamo individuato e sistemato parecchi punti critici che prima di questo aumento del traffico non erano prevedibili.
- Abbiamo scoperto che uno dei collegamenti tra il nostro centro dati e uno dei provider cloud (Il cloud lo utilizziamo, ma per le cose giuste!) ha raggiunto la capacità massima e dunque perde per strada pacchetti di dati durante i picchi di traffico.
- Abbiamo applicato un numero massimo per gli utenti non premium in grado di accedere ai nostri server negli orari di attività più intensa; abbiamo modificato più volte questo numero massimo, adeguandolo al miglioramento dele metriche registrate e speriamo presto di rimuoverlo del tutto.
- Durante tutto il processo abbiamo riallocato ogni ingegnere disponibile a Chess.com alla gestione di questi problemi.
Cosa abbiamo ottenuto?
Questo aggiornamento non è per dire "Missione Compiuta"! Stiamo ancora lavorando attivamente per raggiungere il livello di performance a cui aspiriamo. Detto ciò, i miglioramenti implementati sono misurabili e vogliamo condividerli con voi:
- Abbiamo ridotto il numero di errori 503 "database overload" di più del 90%.
- Abbiamo anche ridotto la frequenza delle disconnessioni dal Server Live di più del 90% e reso più facile la riconnessione quando il problema si verifica.
Cosa ci rimane da fare?
Nei prossimi mesi continueremo a fare piccoli e grandi miglioramenti ai nostri server, sperando che abbiano un impatto positivo per i nostri utenti. Ecco alcune delle modifiche che possiamo condividere:
- Installeremo tutto l'hardware che deve ancora arrivare e continueremo ad espandere la capacità dei server.
- Tutta la nostra squadra di ingegneri rimane focalizzata sui problemi rimasti: sul lavoro ai database, per ottimizzare le ricerche, per suddividere in parti più gestibili le applicazioni monolitiche, allo spostamento di servizi.
- Lavoreremo con il nostro centro dati e con il provider cloud per affrontare e gestire i loro limiti.
- Stiamo procedendo con la riscrittura integrale del nostro Server Live così da poter passare da un server centralizzato ad un servizio più distribuito capace di ampliarsi orizzontalmente con numerosi server. Al momento sono poche le partite che si servono di questo sistema, giocate da ospiti e soprattutto quelle senza variazione dei punti, così da testare, adeguare e sviluppare queste funzionalità. Questa settimana stiamo però iniziando a testare le partite a variazione con questo stesso sistema, sperando che presto possa accomodare la maggioranza delle partite giocate su Chess.com grazie ad un servizio distribuito e scalabile, non più con un solo, gigantesco server.
Cosa stiamo facendo per raddrizzare le cose?
Sappiamo che molti di voi, membri premium inclusi, hanno perso molte partite a causa della disconnessione e non sono riusciti ad accedere ai nostri servizi per i quali avete pagato. Vogliamo fare ammenda.
- Questa settimana implementeremo la restituzione automatica dei punti persi a causa dell'instabilità del server. Si tratta di una misura a breve termine, praticamente di un cerotto, per risarcire coloro che sono stati danneggiati mentre affrontiamo i problemi cruciali.
- Renderemo gratuite le Battaglie di Problemi per tutti i membri, per tutto il resto di febbraio.
- Per i nostri utenti premium, questo mese pubblicheremo i corsi dei GM Magnus Carlsen, Peter Svidler, Hou Yifan e molti altri che appartengono alla libreria dei contenuti di chess24: diventeranno parte della raccolta delle Lezioni di Chess.com!
Con le parole del nostro CEO Erik (un attimo, ma sono io! L'ho scritto io questo articolo...), "Ci sono tre cose che sento ogni anno: 1. mi sento disperato ogni volta che vedo la frustrazione dei nostri utenti quando il servizio è instabile; 2. mi sento fiero della nostra squadra per tutto ciò che ha fatto in questo poco tempo considerata l'imprevedibilità degli eventi; e 3. mi sento speranzoso e fiducioso: molto presto la situazione migliorerà sensibilmente".