Cómo aprender a diseñar sistemas informáticos distribuidos a gran escala como los que usarían Amazon o Netflix

Hay algunos libros por ahí, como «El arte de la escalabilidad», «Reglas de escalabilidad», «Arquitecturas escalables de Internet» y «Sistemas distribuidos: Principios y paradigmas». También puedes leer los blogs de ingeniería de organizaciones como Netflix, Amazon, LinkedIn y Twitter. El blog High Scalability – tiene muchos artículos y casos de estudio.

En última instancia, sin embargo, la única manera de aprender es haciéndolo. Es decir, trabajando en algún lugar donde se llega a trabajar en la ingeniería de tales sistemas. Tienes que aprender las consecuencias de las decisiones arquitectónicas de primera mano, ya sean decisiones tuyas, de tu equipo o de otros. Como he dicho en otro lugar, tienes que estar en una posición para romper cosas, mal, con el fin de aprender a ser un arquitecto, en particular en los grandes sistemas distribuidos.

Trabajar en algunos de los tipos de infraestructura de código abierto que estas organizaciones apoyan y utilizan (por ejemplo, el Proyecto Voldemort, Kafka, o lo que sea) le dará un poco de experiencia práctica con los detalles técnicos gnarly sin tener que preocuparse demasiado por los operativos para empezar. Envía parches, hazte notar y comienza a dialogar con los mismos ingenieros a los que te gustaría emular. Haz un buen trabajo y, ¿quién sabe? Tal vez se te presenten algunas oportunidades para avanzar en tu dirección. Buena suerte.