Prefacio

Cuando escribimos el libro original de Site Reliability Engineering, teníamos un objetivo: explicar la filosofía y los principios de la ingeniería y las operaciones de producción en Google. El libro era nuestro intento de compartir las mejores prácticas y lecciones de nuestros equipos con el resto del mundo informático. Asumimos que el libro de SRE podría resultar atractivo para un número modesto de ingenieros que trabajan en grandes empresas preocupadas por la fiabilidad, y que tanto la cantidad como el enfoque del contenido tenderían a limitar el atractivo del libro.

Resultó que estábamos felizmente equivocados en ambos aspectos.

Para nuestra sorpresa y deleite, el libro de SRE fue un éxito de ventas en informática durante un período estimulante tras su publicación, y no sólo se vendía o descargaba, sino que se leía. Recibimos preguntas de todo el mundo sobre el libro, el equipo, las prácticas y los resultados. Nos pidieron que habláramos de capítulos, enfoques e incidentes. Nos encontramos en la inesperada situación de tener que rechazar peticiones externas porque se nos habían acabado los ciclos.

Como la mayoría de las catástrofes de éxito, el libro de SRE creó una oportunidad para responder con esfuerzo humano (“¡Contrata a más gente! ¡Haz más charlas!”) o con algo más escalable. Y siendo SREs, sorprenderá a pocos lectores que nos inclináramos por este último enfoque. Decidimos escribir un segundo libro de SRE, uno que ampliara el contenido sobre el que nos pedían que habláramos con más frecuencia y que abordara las preguntas más comunes que los lectores tenían sobre el primer libro.

De las muchas preguntas, peticiones y comentarios que recibimos sobre el primer libro de la SRE, dos temas nos parecieron especialmente interesantes; si no se abordaban, constituían barreras para hacer un uso productivo de las lecciones de la SRE. Estos temas se resumen coloquialmente como:

  • Los principios son interesantes, pero ¿cómo los pongo en práctica en mi proyecto/equipo/empresa?
  • El enfoque de SRE no funcionaría para mí; sólo es factible en la cultura de Google, y sólo tiene sentido a la escala de Google.

El propósito de este segundo libro de SRE es (a) añadir más detalles de implementación a los principios esbozados en el primer volumen, y (b) disipar la idea de que la SRE sólo es implementable a “escala Google” o en la “cultura Google”.

Este volumen es un complemento de la obra anterior, no una nueva versión. Los dos libros deben tomarse juntos como un par. Aprovechará al máximo este libro si ya está familiarizado con su predecesor. El primer libro de SRE está disponible en línea de forma gratuita.

La estructura de este libro sigue a grandes rasgos la del primer volumen. Queremos que pueda leer los capítulos en paralelo. Cada capítulo de este volumen da por sentado que el lector está familiarizado con su homólogo de la obra anterior; nuestro objetivo es permitirle ir y venir entre los principios y la práctica a medida que avanza. De este modo, podrá utilizar ambos volúmenes como referencia permanente.

A continuación, unas palabras sobre el ethos: algunos lectores nos han comentado que, al describir la trayectoria de Google hacia la mejora de sus operaciones, nos hemos centrado demasiado en nosotros. Algunos lectores sugirieron que estábamos demasiado alejados de los aspectos prácticos del mundo fuera de Google y que no abordábamos la interacción de nuestras ideas con los principios de DevOps. Es una crítica totalmente justa que hemos intentado tener en cuenta en este volumen.

Sin embargo, pensamos que la naturaleza altamente opinable de la SRE contribuye a su utilidad como disciplina. Para nosotros, eso es una característica, no un error. No defendemos que la SRE sea la única manera (ni siquiera universalmente la mejor) de construir y operar sistemas altamente fiables. Es sólo la forma que nos ha dado mejores resultados.

También dedicaremos unas palabras a hablar de cómo SRE y DevOps se relacionan entre sí. El punto importante a tener en cuenta es que no están en conflicto.

Nos gustaría reconocer por adelantado que este volumen es necesariamente incompleto. La disciplina SRE es un campo muy amplio incluso dentro de los confines de Google, y está evolucionando aún más rápido ahora que se practica ampliamente fuera de Google. En lugar de ser amplios y superficiales, hemos centrado este volumen en responder a los detalles de implementación más solicitados del primer volumen.

Por último, este volumen y su predecesor no pretenden ser un evangelio. Por favor, no los trate así. Incluso después de todos estos años, seguimos encontrando condiciones y casos que nos hacen modificar (o, en algunos casos, sustituir) creencias que antes teníamos firmemente arraigadas. La SRE es tanto un viaje como una disciplina.

Esperamos que disfrute de lo que lea en estas páginas y que el libro le resulte útil. Su elaboración ha sido un trabajo de amor. Estamos encantados de que exista una comunidad creciente y cualificada de profesionales de la SRE con la que podamos aprender y mejorar.

Como siempre, agradecemos sus comentarios directos. Nos enseña algo valioso cada vez que contribuye.

Cómo leer este libro

Este libro es el volumen complementario del primer libro de Google, Site Reliability Engineering. Para sacar el máximo partido a este volumen, le recomendamos que haya leído, o pueda consultar, el primer libro de SRE (disponible para leer en línea de forma gratuita en google.com/sre). Ambas obras se complementan de la siguiente manera:

  • La obra anterior era una introducción a los principios y la filosofía. Este volumen se centra en cómo se aplican esos principios. (En algunas áreas -en particular, la gestión de la configuración y el canarying- también cubrimos algún terreno nuevo para proporcionar antecedentes para el tratamiento práctico de otros temas).
  • El volumen anterior se centraba exclusivamente en cómo se practica la SRE en Google. Esta obra incluye perspectivas de otras empresas, desde las tradicionales (como The Home Depot y el New York Times) hasta las nativas digitales (Evernote, Spotify y otras).
  • El primer libro no se refería directamente a la comunidad de operaciones más amplia -especialmente DevOps- mientras que este libro habla directamente de cómo SRE y DevOps se relacionan entre sí.

En este volumen se da por sentado que se alternará entre este volumen y su predecesor. Por ejemplo, podría leer el capítulo 4, "Objetivos de nivel de servicio“, en el primer libro y luego leer su complemento de implementación (capítulo 2) en este volumen.

Este libro asume que cada capítulo es sólo el punto de partida de un debate y un viaje más largos. Por ello, este libro no pretende ser la última palabra, sino el punto de partida de una conversación.

Los Editores

Este libro es el resultado de la contribución entusiasta y generosa de más de 100 personas, entre autores, redactores técnicos y revisores. En cada capítulo figuran los nombres de los autores y redactores técnicos. También nos gustaría dedicar un momento a dar las gracias a todos los que no aparecen en la lista.

Queremos dar las gracias a los siguientes revisores por sus valiosos (y a veces punzantes) comentarios: Abe Hassan, Alex Perry, Cara Donnelly, Chris Jones, Cody Smith, Dermot Duffy, Jarrod Todd, Jay Judkowitz, John T. Reese, Liz Fong-Jones, Mike Danese, Murali Suriar, Narayan Desai, Niccolò Cascarano, Ralph Pearson, Salim Virji, Todd Underwood, Vivek Rau y Zoltan Egyed.

Nos gustaría expresar nuestro más profundo agradecimiento a las siguientes personas por haber servido de barra de calidad general para este volumen. Han realizado contribuciones sustanciales a lo largo de todo el volumen: Alex Matey, Max Luebbe, Matt Brown y JC van Winkel.

Como líderes de Google SRE, Benjamin Treynor Sloss y Ben Lutch fueron los principales patrocinadores ejecutivos de este libro dentro de Google; su firme e inquebrantable creencia en un proyecto de seguimiento que fuera un digno compañero del primer libro de SRE fue esencial para hacer realidad este libro.

Aunque en cada capítulo se menciona específicamente a los autores y a los redactores técnicos, nos gustaría dar las gracias a todos aquellos que han contribuido a la elaboración de cada capítulo con sus aportaciones, debates y revisiones. En el orden de los capítulos, son:

  • Chapter 2: Javier Kohen, Patrick Eaton, Richard Bondi, Yaniv Aknin
  • Chapter 4: Alex Matey, Clint Pauline, Cody Smith, JC van Winkel, Ola Kłapcińska, Štěpán Davidovič
  • Chapter 5: Alex Matey, Clint Pauline, Cody Smith, Iain Cooke, JC van Winkel, Štěpán Davidovič
  • Chapter 6: Dermot Duffy, James O’Keeffe, Stephen Thorne
  • Chapter 7: Mark Brody
  • Chapter 8: Alex Perry, Alex Hidalgo, David Huska, Sebastian Kirsch, Sabrina Farmer, Steven Carstensen, Liz Fong-Jones, Nandu Shah (Evernote), Robert Holley (Evernote)
  • Chapter 9: Alex Hidalgo, Alex Matey, Alex Perry, Dave Rensin, Matt Brown, Tor Gunnar Houeland, Trevor Strohman
  • Chapter 10: John T. Reese
  • Chapter 11: Daniel E. Eisenbud, Dave Rensin, Dmitry Nefedkin, Dževad Trumić, Edward Wu (Niantic), JC van Winkel, Lucas Pereira, Luke Stone, Matt Brown, Natalia Sakowska, Niall Richard Murphy, Phil Keslin (Niantic), Rita Sodt, Scott Devoid, Simon Donovan, Tomasz Kulczyński
  • Chapter 12: Ivo Krka, Matt Brown, Nicky Nicolosi, Tanya Reilly
  • Chapter 13: Bartosz Janota (Spotify), Cara Donnelly, Chris Farrar, Johannes Rußek (Spotify), Max Charas, Max Luebbe, Michelle Duffy, Nelson Arapé (Spotify), Riccardo Petrocco (Spotify), Rickard Zwahlen (Spotify), Robert Stephenson (Spotify), Steven Thurgood
  • Chapter 14: Charlene Perez, Dave Cunningham, Dave Rensin, JC van Winkel, John Reese, Stephen Thorne
  • Chapter 15: Alex Matey, Bo Shi, Charlene Perez, Dave Rensin, Eric Johnson, Juliette Benton, Lars Wander, Mike Danese, Narayan Desai, Niall Richard Murphy, Štěpán Davidovič, Stephen Thorne
  • Chapter 16: Alex Matey, Liz Fong-Jones, Max Luebbe
  • Chapter 17: Andrew Harvey, Aleksander Szymanek, Brad Kratochvil, Ed Wehrwein, Duncan Sargeant, Jessika Reissland, Matt Brown, Piotr Sieklucki and Thomas Adamcik
  • Chapter 18: Brian Balser (New York Times), Deep Kapadia (New York Times), Michelle Duffy, Xavier Llorà
  • Chapter 19: Matt Brown
  • Chapter 20: Brian Balser (New York Times), Christophe Kalt, Daniel Rogers, Max Luebbe, Niall Richard Murphy, Ramón Medrano Llamas, Richard Bondi, Steven Carstensen, Stephen Thorne, Steven Thurgood, Thomas Wright
  • Chapter 21: Dave Rensin, JC Van Winkel, Max Luebbe, Ronen Louvton, Stephen Thorne, Tom Feiner, Tsiki Rosenman

También damos las gracias a los siguientes colaboradores, que aportaron conocimientos o recursos significativos, o tuvieron algún otro efecto excelente en este trabajo:Caleb Donaldson, Charlene Pérez, Evan Leonard, Jennifer Petoff, Juliette Benton y Lea Miller.

Agradecemos enormemente los comentarios detallados y profundos que hemos recibido de los revisores del sector: Mark Burgess, David Blank-Edelman, John Looney, Jennifer Davis, Björn Rabenstein, Susan Fowler, Thomas A. Limoncelli, James Meickle, Theo Schlossangle, Jez Humble, Alice Goldfuss, Arup Chakrabarti, John Allspaw, Angus Lees, Eric Liang, Brendan Gregg y Bryan Liles.

Nos gustaría dar las gracias especialmente a Shylaja Nukala, que dedicó generosamente el tiempo y las habilidades del equipo de redacción técnica de SRE. Ella apoyó con entusiasmo sus necesarios y valiosos esfuerzos.

Gracias también al equipo de O'Reilly Media -Virginia Wilson, Kristen Brown, Rachel Monaghan, Nikki McDonald, Melanie Yarbrough y Gloria Lukos- por su ayuda y apoyo para hacer realidad el libro en nuestro ambicioso calendario.

Y un agradecimiento muy especial a Niall Richard Murphy: a pesar de que se marchó de Google antes de que este libro llegara a las estanterías, su perspicacia y dedicación continuas fueron cruciales para conseguir que una buena parte del contenido significativo llegara a la línea de meta. Su liderazgo, consideración, tenacidad e ingenio no son sino fuente de inspiración.

Por último, los editores también desean dar las gracias personalmente a las siguientes personas:

  • Betsy Beyer: A la abuela, mi fuente habitual de ánimos, inspiración, palomitas, ánimo y rompecabezas. Has hecho que este libro y mi vida cotidiana sean mejores. A Duzzie, Hammer, Joan, Kiki y Mini (nótese el orden alfabético, ¡ja!), que me ayudaron a convertirme en la escritora obsesiva y persona que soy hoy. Y, por supuesto, a Riba, por proporcionarme el DMD y otras provisiones necesarias para alimentar este esfuerzo.
  • Niall Richard Murphy: A Léan, Oisín, Fiachra y Kay, estrellas del norte. A alguien cuyas protestas de interés propio no concuerdan en absoluto con su forma de actuar. A Sharon, más influyente de lo que cree. Por Alex, en un salón lleno de luz, con una taza de té, un libro, una caja de dados y tú.
  • Stephen Thorne: A mi madre y mi padre, que siempre me han animado a esforzarme. A mi mujer, Elspeth. A mis colegas, que me han dado más respeto y ánimos de los que creo merecer: Ola, Štěpán, Perry y David.
  • Dave Rensin: Después de escribir mi primer libro, juré que nunca escribiría otro. De eso hace ya seis libros y cada vez digo exactamente lo mismo. A mi mujer, Lia, que me da el espacio para hacerlo y nunca me dice “te lo dije”. (Aunque ella me lo diga.) A mis colegas de Google -y en particular a la familia de SRE- que me han enseñado más estos últimos años sobre ingeniería de producción a escala de lo que había aprendido en los 20 anteriores. Por último, a Benjamin Treynor Sloss, que me entrevistó y me convenció para venir a Google en primer lugar.
  • Kent Kawahara: A mis padres, Denby y Setsuko, y a mi tía Asako por ayudarme a llegar hasta donde estoy. A mis hermanos, Randy y Patti, por su apoyo a lo largo de los años. A mi mujer, Angela, y a mis hijos, Ryan, Ethan y Brady, por su amor y apoyo. Por último, al equipo de Dave, Betsy, Niall, Juliette y Stephen, me siento honrado de haber trabajado con ustedes en este proyecto.

  • II Prácticas
    • 8. De Guardia
    • 9. Respuesta a Incidentes
    • 10. Cultura Postmortem: Aprender del Fracaso
    • 11. Gestionar la Carga
    • 12. Introducción al Diseño No Abstracto de Grandes Sistemas
    • 13. Proceso de Datos.
    • 14. Diseño de la Configuración y Mejores Prácticas
    • 15. Especificaciones de Configuración
    • 16. Lanzamientos Canary
  • III Procesos
    • 17. Identificar la Sobrecarga y Recuperarse de ella
    • 18. Modelo de Compromiso SRE
    • 19. SRE: Más allá de sus Límites
    • 20. Ciclos de Vida del Equipo SRE
    • 21. Gestión del Cambio Organizativo en la SRE
  • Conclusión
  • A. Ejemplo de Documento SLO
  • B. Ejemplo de Política Presupuestaria de Errores
  • C. Resultados del Análisis Postmortem
2023/11/27 01:26 · Fernando Leal