Come imparare a progettare sistemi informatici distribuiti su larga scala, come farebbe un Amazon o un Netflix

Ci sono alcuni libri là fuori, come "The Art of Scalability", "Scalability Rules", "Scalable Internet Architectures", e "Distributed Systems: Principi e paradigmi". Potete anche leggere i blog di ingegneria di organizzazioni come Netflix, Amazon, LinkedIn e Twitter. Il blog High Scalability - ha un sacco di articoli e casi di studio.

In definitiva, però, l'unico modo per imparare è farlo. Cioè, lavorando da qualche parte dove si arriva a lavorare sull'ingegneria di tali sistemi. Dovete imparare le conseguenze delle decisioni architettoniche in prima persona, sia che si tratti di vostre decisioni, sia che si tratti delle scelte del vostro team o di altri. Come ho detto altrove, dovete essere nella posizione di rompere le cose, male, per imparare ad essere un architetto, in particolare nei grandi sistemi distribuiti.

Lavorare su alcuni dei tipi di infrastrutture open source che queste organizzazioni supportano e usano (ad esempio Project Voldemort, Kafka, o qualsiasi altra cosa) vi darà un po' di esperienza pratica con i dettagli tecnici difficili senza dovervi preoccupare troppo di quelli operativi per cominciare. Inviate patch, fatevi notare e iniziate a dialogare con gli stessi ingegneri che vorreste emulare. Fate un lavoro eccezionale e chissà? Forse qualche opportunità di approfondire la tua direzione ti verrà incontro. Buona fortuna.