L’ultimo crollo di Twitter dimostra che Elon Musk sta ancora sbagliando

Twitter prospera sulle condivisioni, non solo all’interno della piattaforma dei social media, ma dai collegamenti dei partner su Internet. Tranne il lunedì, la maggior parte di quei collegamenti ha smesso di funzionare.

Per circa un’ora, chiunque tentasse di condividere articoli pubblicati di recente su Twitter è stato accolto con un messaggio di errore chiaramente destinato agli sviluppatori:

Era quasi come se Twitter stesse informando gli editori che non pagavano la bolletta dell’acqua e, quindi, non potevano pubblicare link sul social network.

Che cosa è andato storto?

Non abbiamo dovuto aspettare troppo a lungo per spiegare il CEO di Twitter Elon Musk. In risposta a un tweet dell’ex fondatore di Netscape e noto venture capitalist Marc Andreessen che sottolineava come quattro delle cinque principali tendenze di Twitter riguardassero Twitter, Musk ha twittato: “Una piccola modifica dell’API ha avuto enormi ramificazioni. Lo stack di codice è estremamente fragile per nessuna buona ragione. Alla fine avrà bisogno di una riscrittura completa.

Vedi altro

Questo tweet apparentemente chiaro dovrebbe però essere motivo di allarme. Musk afferma che lo stack di codice (fondamentalmente un enorme stack di programmi che lavorano tutti insieme per creare l’intero Twitter) è fragile e necessita di una riscrittura. Quello che non menziona è che tra le migliaia di dipendenti di Twitter che ha licenziato da novembre, un buon numero di loro erano ingegneri e, è lecito ritenere, alcuni erano in quello che è noto come QA o garanzia di qualità.

In genere, se prevedi di apportare qualsiasi tipo di modifica del codice a un sito Web, un servizio online o un’app, il QA lo verifica su una copia offline della piattaforma. In questo modo, assicurano che gli aggiornamenti, per quanto piccoli, non abbiano un impatto negativo sull’ambiente live.

Il concetto è noto come “produzione”, il sito o il servizio live, rispetto a “messa in scena”, un ambiente identico a quello live ma che non può essere visto o toccato dagli utenti. Esegui il tuo nuovo codice o funzionalità attraverso lo staging, un gruppo di tester QA applica una serie di scenari noti (forse inseriscono uno o due casi limite) e fintanto che non ci sono segnali d’allarme, l’aggiornamento viene trasferito dallo staging alla produzione .

Twitter, che ha visto diminuire la sua affidabilità complessiva (dall’andare offline alla visualizzazione e scomparsa inaspettata di funzionalità) da quando Musk ha preso il sopravvento, potrebbe ricevere i suoi aggiornamenti in un modo diverso.

Muschio ama testare le funzionalità sulla produzione (il sito live). Di conseguenza, continua a incorrere in conseguenze indesiderate.

C’è qualche disaccordo sull’esistenza o meno di un team di QA di Twitter.

Alcuni sostengono che ne esista uno, ma Musk diventa impaziente e poi spinge il codice non testato dal vivo.

Altri insistono sul fatto che Elon Musk sia arrivato su Twitter e abbia scoperto che Twitter non aveva un team di QA ed era da tempo nella pratica di pubblicare codice non testato. Questo però sembra altamente improbabile.

Ho chiesto a Musk direttamente su Twitter se l’aggiornamento dell’API è stato testato durante lo staging prima di essere inviato in diretta e aggiornerà questo post se risponde.

Non dare mai per scontato

L’ipotesi che ha fatto qui, che una piccola modifica dell’API avrebbe avuto un impatto minimo sul sito, era scarsa. Eppure, Musk continua a non capire che sta sbagliando.

Testare funzionalità di qualsiasi tipo su una versione live di una piattaforma complessa come Twitter comporterà inevitabilmente bug e arresti anomali.

La riscrittura dello stack di codice risolverà tutto questo? Forse, ma pochissime piattaforme rimangono pulite come lo erano al momento del lancio e anche se la riscrittura è robusta e perfetta, aggiornamenti frequenti e nuove funzionalità metteranno alla prova tale stabilità.

Finché Musk si rifiuta di testare completamente ciò che lancia prima di lanciarlo, non c’è scenario in cui Twitter sfugga ai normali tempi di inattività.

Questa è una soluzione semplice, Elon, rendi il QA una parte inevitabile della pipeline di sviluppo e risparmia a te stesso ea noi un sacco di grattacapi. Oppure continua a fare a modo tuo perché sta funzionando così, così bene.