¿Qué es DevOps? Una guía de los fundamentos

Written by Coursera Staff • Updated on

DevOps es un enfoque de trabajo que enfatiza la entrega rápida, incremental y continua de productos.

[Featured image] A man in a blue shirt leads a DevOps meeting.

Read in English. (Leer en inglés.)

El término DevOps es una combinación de las palabras development (desarrollo) y operations (operaciones). En la práctica, es esencialmente una unión entre los equipos de desarrollo de productos y los equipos de operaciones de tecnología de la información (TI). A menudo se considera que DevOps es un proceso, una cultura o un conjunto de principios que permite a las organizaciones entregar productos de forma rápida y continua.

Propósito clave de DevOps

DevOps se creó como respuesta a los problemas que surgieron de las antiguas tradiciones en el lugar de trabajo de tener equipos en silos, o equipos completamente separados para el desarrollo, las pruebas y las operaciones en relación con un solo producto. Por ejemplo, en una empresa con un proceso tradicional, un equipo de ingeniería escribía el código del producto, luego lo entregaba a un equipo de pruebas para que comprobara la funcionalidad del producto, y luego lo entregaba a un equipo de operaciones para que mantuviera el software a largo plazo.

Esta estructura en silos no siempre conduce a la eficiencia, ya que cada equipo tiene sus propios conjuntos de prioridades, tareas y plazos que no necesariamente se alinean con los equipos circundantes. El objetivo principal de DevOps es crear un ciclo de desarrollo más cohesivo.

Con un enfoque DevOps, esos múltiples equipos se integran en un único equipo. Las pruebas pueden producirse automáticamente y con frecuencia a lo largo del proceso junto con el desarrollo del producto, y todos los grupos pueden participar en el mantenimiento a largo plazo.

Otras ventajas de la cultura DevOps son la mejora de la eficiencia del equipo, el aumento de la velocidad de publicación y la mejora de los mecanismos de retroalimentación.

Ciclo de vida DevOps

El ciclo de vida de DevOps es más integrador que un proceso de entrega de software en silos. El despliegue de productos y actualizaciones se produce de forma continua, y menos en un proceso rígido y lineal. Dado que trabajan como una unidad, cada miembro del equipo debe sentirse cómodo con cada etapa del ciclo de vida, desde la ideación inicial hasta la evaluación de la calidad del software y la comprensión de la experiencia del usuario.

Como parte del equipo de DevOps, a lo largo del proceso de desarrollo, trabajarás como una unidad a través de las etapas de planificación, desarrollo, entrega y supervisión:

  • En la etapa de planificación, tu equipo averiguará los problemas que pretenden resolver y cómo podrían hacerlo.

  • Luego, desarrollarán su producto, utilizando un entorno de pruebas o de producción—un entorno simulado o una muestra de usuarios del mundo real para probar las actualizaciones antes de su despliegue generalizado—para crear el mejor producto posible.

  • Después, entregarán el producto al público más amplio.

  • Por último, supervisarán constantemente el rendimiento y los comentarios para incorporarlos a posteriores iteraciones y actualizaciones del producto, lo que les hará volver a la fase de planificación.

¿Qué es el desarrollo Agile de software?

El desarrollo Agile (ágil) es un enfoque para la gestión de proyectos y el desarrollo de software que se centra en pasos incrementales e iterativos para completar los proyectos. El desarrollo ágil se centra en proyectos a corto plazo que pueden fomentar una entrega rápida. Se dice que la incorporación de equipos ágiles es un precursor de las organizaciones que adoptan prácticas DevOps. Obtén más información sobre Agile y cuándo utilizarlo.

Placeholder

Principios de DevOps

Hay algunos principios básicos en DevOps. Desglosados en gran medida, incluyen:

Pensamiento sistémico: El pensamiento sistémico significa pensar en el rendimiento de todo un sistema, en lugar del rendimiento de equipos específicos. Esta mentalidad garantiza que todos los equipos y empleados se sientan responsables de producir una buena calidad y disuade a los equipos de pasar los defectos hacia abajo.

Cultura: Una cultura DevOps exitosa suele estar vinculada a un espíritu de colaboración mejorada, experimentación y aprendizaje continuo. Esto puede significar que los equipos se aseguren de asignar tiempo para mejorar el trabajo, que los equipos sean recompensados por tomar riesgos y que los miembros puedan aprender de otros dentro y fuera de sus equipos.

Automatización: DevOps pone un gran énfasis en la automatización de todo lo posible. Esto puede reducir el tiempo dedicado a tareas repetitivas y que consumen mucho tiempo, y aumentar la velocidad de despliegue. Un equipo de DevOps puede, por ejemplo, automatizar los procesos de prueba para que los desarrolladores puedan recibir información temprana y frecuente.

Prácticas de DevOps

Un par de prácticas clave hacen de DevOps lo que es. Entre ellas se encuentran:

  • Integración continua (CI por sus siglas en inglés): La integración continua significa que los comentarios de las partes interesadas y las correcciones se integran en un producto de forma continua. Esto puede significar tanto la automatización de los procesos en los que se integran las revisiones, como la creación de una cultura en la que se produce la integración continua.

  • Entrega continua (CD por sus siglas en inglés): La entrega continua es cuando los cambios en un producto (probablemente su código) se integran automáticamente para que el producto esté siempre en un estado desplegable. Esto significa que el código puede desplegarse en plazos cortos (diario, semanal, etc.).

Juntos, la integración continua y la entrega continua suelen denominarse CI/CD. Llevando estas prácticas un paso más allá, el despliegue continuo añade una rutina de supervisión en tiempo real, pruebas y actualización de los productos después de su lanzamiento.

Dentro de un entorno DevOps, es común que las organizaciones lancen actualizaciones de productos más pequeñas y frecuentes que son más reactivas a los comentarios de los clientes, en lugar de las actualizaciones a gran escala y que requieren mucho trabajo que pueden desplegar los equipos en silos.

Herramientas DevOps

Aunque DevOps se considera en primer lugar una mentalidad, hay varias herramientas de DevOps que puedes utilizar para automatizar varias etapas en un proceso de DevOps. He aquí algunas de ellas:

  • Git: Git es un sistema de control de versiones. En DevOps, se utiliza para realizar un seguimiento del código, y es útil para que los miembros del equipo colaboren en proyectos y actualicen los existentes.

  • Docker: Docker se utiliza para contenerizar aplicaciones, el proceso de convertir una aplicación en un único paquete de software.

  • Jenkins: Jenkins es una herramienta que se utiliza para construir pipelines CI/CD, donde los desarrolladores pueden construir, probar y desplegar software.

  • Kubernetes: Un organizador de contenedores, Kubernetes se utiliza con frecuencia en DevOps.

Siéntete más cómodo utilizando las herramientas de DevOps con el Control de versiones con Git de Atlassian y la Introducción a los contenedores de IBM. También, prueba tus habilidades con un Proyecto guiado de Azure DevOps, todos disponibles en Coursera.

Placeholder

Cómo empezar con DevOps

Aprender los métodos y habilidades de DevOps puede ser útil para una variedad de personas en el ámbito profesional. Puede que seas un director de productos que busca formas de mejorar el proceso de tu equipo, o un profesional de TI que busca una nueva forma de utilizar sus habilidades. Sean cuales sean tus objetivos, introducir DevOps en tu vida puede comenzar con el aprendizaje.

Comienza con el curso de Entrega continua y DevOps de la Universidad de Virginia, o aprende las habilidades que necesitas para tener éxito en un rol de ingeniería de DevOps en la nube con el Certificado profesional de Ingeniero de DevOps en la Nube de Google. O, si estás en un nivel intermedio, la Especialización en DevOps en AWS de AWS puede ser más adecuada para ti.

Keep reading

Updated on
Written by:

Editorial Team

Coursera’s editorial team is comprised of highly experienced professional editors, writers, and fact...

This content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.