The Devops Handbook
Descubre cómo aprovechar el poder de DevOps.
¿? Si te has planteado estas preguntas, estás a punto de embarcarte en un fascinante viaje por el mundo de DevOps.
En este resumen, te explicamos cómo funciona DevOps.
En este resumen, descorreremos el telón de DevOps, una práctica que ha transformado la industria tecnológica. Aprenderás todo sobre sus fundamentos, principios y aplicaciones en el mundo real, sumergiéndote en ejemplos de empresas que han adoptado esta cultura con éxito. Tanto si eres empresario, gerente o simplemente alguien interesado en el mundo de la tecnología, estos conocimientos te ayudarán a interpretar mejor los cambios tecnológicos, mejorar la colaboración en equipo y optimizar los flujos de trabajo.
Entremos en materia.
Conoce DevOps.
Primero lo primero: DevOps. ¿Qué es exactamente? La respuesta corta es que todo está en el nombre: una mezcla de "desarrollo" y "operaciones". Se trata de tender un puente entre las personas que escriben el código y las que se aseguran de que ese código funcione sin problemas en el mundo real. Pero DevOps no es sólo un cargo, es toda una cultura. Se trata de un grupo de personas con un objetivo común que trabajan juntas para hacer realidad la magia.
Imagínate esto: dos equipos distintos trabajando en un enorme rompecabezas en habitaciones diferentes. Están trabajando duro y haciendo progresos. Pero lo que no saben es que ambos equipos están trabajando en el mismo puzzle sin saberlo. Suena un poco ridículo, ¿verdad? Pero eso es exactamente lo que ocurre cuando los equipos de desarrollo y operaciones trabajan en lo que se conoce como silos. En otras palabras, esencialmente trabajan como equipos aislados e independientes dentro de uno, y a menudo con una comunicación o cooperación limitadas entre sí.
Ahora, imagina lo que podrían conseguir si trabajaran juntos en ese puzzle, compartiendo piezas y ayudándose mutuamente. Esa es la belleza de la colaboración en DevOps. Se trata de reunir a todos, compartir ideas y hacer el trabajo más rápido, con menos contratiempos por el camino.
Veamos cómo funciona en el mundo real. Por ejemplo, Amazon. En 2011, los ingenieros de Amazon desplegaban código 15.000 veces al día. En 2015, introdujeron DevOps, rompieron los silos y consiguieron que sus equipos trabajaran juntos como una máquina bien engrasada. ¿El resultado? Ahora despliegan más de 136.000 veces al día.
Entonces, ¿cómo puedes llevar esta magia a tus propios espacios de trabajo? En primer lugar, elimina los silos en la medida de lo posible. Reúne a tu equipo de desarrollo y a tu equipo de operaciones en la misma sala -ya sea una sala física o una sala Zoom- y haz que hablen entre ellos. Haz que comprendan los retos y triunfos del mundo de cada uno. Al fin y al cabo, son dos caras de la misma moneda.
En segundo lugar, hazte con herramientas de calidad como Slack o Microsoft Teams. Pueden hacer maravillas en tu juego de colaboración. Mantienen a todo el mundo informado, te permiten compartir ideas sobre la marcha y te ofrecen un lugar donde celebrar esas pequeñas victorias que nos hacen seguir adelante.
Esa es la magia de DevOps y la colaboración. No es ciencia de cohetes: se trata de personas, comunicación y trabajo conjunto para crear algo increíble.
El poder de la entrega continua y la automatización.
Ahora que conoces los fundamentos de la filosofía DevOps, vamos a sumergirnos en un aspecto clave de lo que hace que funcione tan bien:
Imagina esto: diriges una bulliciosa pizzería. En ella, la masa se hace fresca cada día, el queso se ralla a mano y cada pizza es elaborada cuidadosamente por tus talentosos chefs. Suena genial, ¿verdad? Pero entonces, los pedidos empiezan a llover y tu personal tiene dificultades para seguir el ritmo. La calidad empieza a disminuir, los pedidos se mezclan y los clientes se quedan esperando. ¿Qué haces?
¿Y si pudieras automatizar la fabricación de la masa, el rallado del queso e incluso parte de la elaboración de la pizza? Así tu personal podría centrarse en asegurarse de que todo va bien, los pedidos son correctos y las pizzas están a la altura. Este es el poder de la automatización, y esto es exactamente de lo que trata la entrega continua.
Piénsalo: si estuvieras publicando constantemente código nuevo y cada fragmento tuviera que probarse y desplegarse manualmente, necesitarías un ejército de ingenieros trabajando día y noche. Incluso así, el error humano seguiría apareciendo de vez en cuando. La entrega continua es nuestra solución: es como la cinta transportadora de nuestra pizzería, que hace que las pizzas salgan sin problemas y de forma fiable.
Por ejemplo, Netflix. Con más de 200 millones de suscriptores viendo sus programas favoritos las 24 horas del día, no hay lugar para el error. Netflix utiliza la entrega continua para enviar miles de cambios de código cada día. Su sistema está configurado de forma que cualquier fragmento de código pueda desplegarse en cuanto esté listo, en cualquier momento. Esto les ayuda a reaccionar con rapidez ante cualquier error y les permite desplegar nuevas funciones para mantener enganchados a sus espectadores.
Así que, ¿cómo puedes mejorar tu rendimiento?
Entonces, ¿cómo puedes aprovechar el poder de la magia de la entrega continua en tu equipo de DevOps?
En primer lugar, empieza a pensar en automatizar tu . Examina tu proceso de despliegue actual y pregúntate en qué inviertes más tiempo. ¿Cuáles son los pasos que te hacen tropezar? Una vez que hayas identificado estos cuellos de botella, piensa en cómo puedes automatizarlos. Existe una amplia gama de herramientas que te ayudarán a automatizarlo todo, desde las pruebas hasta el despliegue: averigua cuáles son las que mejor se adaptan a tu equipo.
Luego, fomenta una cultura de aprendizaje y mejora continuos. El mundo de la tecnología evoluciona constantemente, y tus procesos también deberían hacerlo. Revisa periódicamente tus procesos y busca áreas de mejora. Recuerda que no se trata de dar grandes saltos, sino de hacer cambios constantes y graduales. Y si alguna vez te sientes abrumado, acuérdate de la pizzería. Encuentra tus cuellos de botella, automatiza lo que puedas y mantén esa cinta transportadora de actualizaciones de código rodando sin problemas.
Las Tres Maneras.
Al igual que cualquier filosofía sólida, DevOps también tiene sus principios rectores. Conoce las Tres Maneras: flujo, retroalimentación y experimentación continua. Forman parte integral de DevOps, proporcionando un valioso marco que constituye la base de todas las cosas en el universo DevOps.
En primer lugar está el principio del flujo. Imagina que estás en un viaje de rafting. Tú, tu equipo y la balsa intentáis sortear los rápidos y descender el río lo más rápido y seguro posible. Pero aquí está la cuestión: no te centras sólo en tu propio rendimiento o en lo rápido que puedes remar. El objetivo es que toda la balsa llegue al final. Lo que importa es el rendimiento de todo el sistema. De eso trata el primer principio.
Por ejemplo, Nordstrom. La empresa tenía un objetivo: querían responder más rápidamente a los cambios en el sector de la moda, mantenerse al día con las expectativas de los clientes y mantener su ventaja competitiva. Pero se dieron cuenta de que para ello tenían que conseguir que sus equipos de producto y sus equipos de operaciones trabajaran juntos de forma más eficaz. Tenían que mejorar el flujo.
Entonces, ¿qué hicieron? Decidieron derribar las barreras entre departamentos. Pasaron de equipos aislados, en los que cada equipo se centraba en sus propias tareas y retos, a un enfoque más integrado. En lugar de separar los equipos de desarrollo y operaciones, crearon equipos multifuncionales que incluían a las partes interesadas de la empresa, los gerentes de producto, los desarrolladores, los probadores y los ingenieros de operaciones.
En esta nueva estructura, todos participaban desde el principio. Podían ver el ciclo de vida completo de sus productos, desde el concepto hasta el cliente. Esto aumentó su comprensión compartida del sistema, mejoró la cooperación y potenció su capacidad de reacción ante los cambios. ¿El resultado? Una respuesta mejor, más rápida y más ajustada a las necesidades de la empresa.
En el segundo principio: La retroalimentación. Al igual que un equipo de chefs que prueban una nueva receta y ajustan el condimento sobre la marcha, debemos revisar constantemente nuestro trabajo y hacer correcciones cuando sea necesario.
No busques más allá de Google, hogar de los Ingenieros de Fiabilidad del Sitio (Site Reliability Engineers, SRE). Este equipo especializado garantiza el éxito operativo de Google. ¿Cómo? Pues bien, los SRE operan en el corazón de los equipos de producto de Google, incrustándose para garantizar una retroalimentación constante y de alta calidad.
Sin embargo, los SRE de Google no son los únicos que garantizan el éxito operativo de Google.
Pero la estrategia de retroalimentación de Google no consiste sólo en apagar incendios. Antes de que un nuevo servicio se haga público, debe superar la "Revisión de la Disponibilidad de Lanzamiento" (LRR) y, posteriormente, la "Revisión de la Disponibilidad de Entrega" (HRR). Estas etapas actúan como controles de seguridad, permitiendo que se incorporen las lecciones aprendidas de todos los lanzamientos anteriores, cultivando así una cultura de aprendizaje y mejora continuos.
¿Y lo mejor de todo? Incluso antes de que se asigne un SRE, se exige a los desarrolladores que gestionen su servicio en producción durante al menos seis meses. Esta experiencia permite a los desarrolladores ponerse en la piel de los de operaciones, guiados por el LRR y el HRR, mejorando la empatía y la comprensión interfuncional.
Así pues, el segundo principio de DevOps no trata simplemente de la retroalimentación, sino de una cultura proactiva, integral e impulsada por la retroalimentación. Esta es la salsa secreta de la receta del éxito de Google.
Y, por último, tenemos el tercer principio: el aprendizaje y la experimentación continuos. Piensa en tu músico o atleta favorito: no llegaron a lo más alto jugando sobre seguro. Se arriesgaron, experimentaron, aprendieron de sus fracasos y siguieron practicando. Lo mismo se aplica al resto de nosotros.
Nationwide Insurance es un gran ejemplo de empresa que ha adoptado este principio. Lo han hecho organizando conferencias tecnológicas internas, proporcionando plataformas para que sus equipos aprendan, compartan conocimientos e innoven juntos. Estas conferencias internas demuestran que el fomento de una cultura interna de curiosidad, asunción de riesgos y aprendizaje a partir de los fracasos puede impulsar la innovación y la mejora, manteniendo a las empresas a la vanguardia de sus sectores.
Por tanto, ¿cómo puedes mejorar tu competitividad?
Entonces, ¿cómo puedes tomar estos principios y ponerlos en práctica?
Empieza por fomentar una cultura de pensamiento sistémico en tus equipos. Haz que todos vean el panorama general y comprendan cómo su trabajo contribuye al producto global. De ese modo, no se centrarán sólo en sus propias tareas, sino en el éxito de todo el proyecto.
En segundo lugar, fomenta el pensamiento sistémico en tus equipos.
En segundo lugar, haz del feedback tu mejor amigo. Establece revisiones periódicas y asegúrate de que todos se sientan cómodos compartiendo sus ideas y preocupaciones. Recuerda que el feedback es un don, no una maldición.
Por último, no tengas miedo de experimentar y cometer errores. Crea un espacio seguro donde tu equipo pueda arriesgarse, aprender y crecer. Recuerda, no se trata de no fracasar nunca, sino de no dejar nunca de aprender.
Poniendo en práctica estos tres principios, estarás en el buen camino para dominar el arte de DevOps.
Todo sobre gestión y supervisión ajustadas.
Muy bien. Vamos a enlazar todo esto con el último pilar de DevOps: la gestión y la supervisión ajustadas. Se trata de eliminar la palabrería, deshacerse de los residuos y aportar valor: se trata de dirigir tus operaciones como un elegante coche deportivo y no como una vieja máquina de vapor.
Piensa en ello como si se tratara de un sistema de gestión ajustada.
Piénsalo como si estuvieras limpiando tu garaje. No necesitas ese cortacésped roto ni esos viejos botes de pintura, ¿verdad? Sacar todos esos trastos no sólo hace que tu garaje parezca más ordenado, sino que también te da más espacio para hacer lo que realmente quieres hacer, como arreglar tu bicicleta o montarte un gimnasio en casa.
En el mundo de la tecnología, la limpieza del garaje es una de las cosas más importantes que puedes hacer.
En el mundo de la tecnología, Toyota es el padrino de la gestión ajustada. Su sistema de producción consiste en reducir los residuos, suavizar los flujos de trabajo y mejorar continuamente. ¿Y adivina qué? No es sólo para los coches. Empresas tecnológicas de todo el mundo se han inspirado en los métodos de Toyota, ayudándoles a racionalizar sus procesos y a ofrecer mejores productos con mayor rapidez.
¿Pero qué aspecto tiene la gestión ajustada en DevOps? Pues se trata de visualizar tu trabajo, limitar la cantidad de cosas que haces a la vez y vigilar la longitud de tus colas. Es como ser un gran DJ: tienes que leer la sala, gestionar tu lista de reproducción y asegurarte de que no sobrecargas la pista de baile.
Pero la gestión ajustada no es sólo una cuestión de trabajo.
Pero la gestión ajustada no basta por sí sola, y aquí es donde entra en juego la supervisión. Piensa en ella como si fuera el sistema nervioso de tu cuerpo, que comprueba constantemente las cosas y te avisa si algo va mal.
Por ejemplo, Etsy, uno de los principales actores del mercado online. Tienen un gran sistema de alertas que notifica a los equipos pertinentes si se cruzan ciertos umbrales predefinidos, lo que indica un problema potencial. Estas alertas están diseñadas para ser informativas y procesables, proporcionando el contexto suficiente para que los equipos empiecen a investigar inmediatamente.
Entonces, ¿cómo podemos aplicar la gestión y supervisión ajustadas en nuestro viaje hacia DevOps? En primer lugar, sé visual. Utiliza herramientas como los consejos Kanban o Jira para ver en qué está trabajando todo el mundo y detectar los cuellos de botella.
A continuación, recuerda limitar el trabajo en curso. Es como hacer girar platos: cuantos más tengas en marcha a la vez, más difícil será mantenerlos todos. Por tanto, céntrate en terminar lo que has empezado antes de emprender más trabajo.
Y por último, invierte en buenas herramientas de monitorización. Es como tener un sistema de seguridad de primera categoría para tu casa: te da tranquilidad, te avisa si pasa algo y te ayuda a solucionar los problemas antes de que se conviertan en catástrofes.
La gestión y la supervisión de la esbeltez te ayudan a mejorar tu productividad.
Puede que la gestión y la supervisión no sean la parte más glamurosa de DevOps, pero eso no las hace menos vitales: son el aceite de tu motor. Te ayudarán a mantenerte alerta y a que tu viaje DevOps se desarrolle sin problemas.
Conclusiones
DevOps es una cultura que fomenta la colaboración entre los equipos de desarrollo y operaciones, a menudo ejemplificada por gigantes tecnológicos de éxito como Amazon y Google. Un elemento central de este ethos es la ruptura de silos, el fomento de la comunicación constante y el uso de herramientas de colaboración como Slack o Microsoft Teams. La aplicación de la entrega continua y la automatización, como practica Netflix, agiliza los procesos y reduce el error humano. La salsa secreta de DevOps se encuentra en las Tres Vías: flujo, retroalimentación y aprendizaje y experimentación continuos. Empresas como Nordstrom y Nationwide Insurance han adoptado estos principios para crear una mejor respuesta a las necesidades empresariales, fomentar una cultura basada en la retroalimentación y promover un entorno de curiosidad y asunción de riesgos. Por último, el concepto de gestión y supervisión ajustadas, inspirado en el sistema de producción de Toyota, ayuda a reducir los residuos, suavizar el flujo de trabajo e identificar posibles problemas, creando en última instancia un entorno de trabajo más eficiente.