DevOps: Principios Básicos

Vijay Kumar | 03 de agosto, 2020

DevOps no es un proyecto ni un objetivo, va más allá: es un proceso de evolución que se logra con la mentalidad correcta, una forma de pensar que permite el mejoramiento constante del flujo de valor (todos los pasos que se toman desde el inicio de una creación de valor hasta la entrega del resultado final) de una compañía. Es una perspectiva amplia que lleva a una colaboración más eficiente entre desarrollo (programación), operaciones (administración de sistemas) y control de calidad (QA).

La clave es adoptar una dinámica de trabajo fluida entre los tres departamentos. ¿Pero, cómo se logra? Esencialmente, es necesario aplicar los siguientes principios:

“Shift Left”

Es fácil visualizar una línea de tiempo para la ingeniería de software, una que comienza con una idea y un plan; ésta progresa de izquierda a derecha. Tradicionalmente, muchas de las tareas del proceso de producción se llevan a cabo en las últimas etapas (como por ejemplo, las pruebas). Ahora, uno de los principios DevOps es invertir esta tendencia y en vez de esperar hasta el final del proceso, estas tareas se llevan a cabo lo antes posible. Es decir, se desplazan hacia la izquierda en la línea del tiempo. Es parte de la filosofía DevOps: entre más rápido se enfrente un problema, mejor. Por ejemplo, esperar hasta el último minuto para probar el software significa que cualquier error que surja será más difícil de arreglar. Si un error se arregla tan pronto como se identifica, rectificarlo es mucho más fácil. 

El objetivo del principio “shift left” es crear un ambiente que se enfoca en la prevención en vez de en la detección. Identificar los problemas lo antes posible dentro del proceso significa que se pueden solucionar tan pronto como aparecen. Entre más temprano se realicen las tareas en la línea del tiempo, las probabilidades que un error llegue hasta el cliente bajan significativamente. “Ojos que no ven, corazón que no siente”, como dice el dicho. Para el cliente, los errores que se solucionaron antes del lanzamiento de un producto nunca sucedieron. De este modo, cualquier desastre en potencia se puede evitar antes de que tenga la oportunidad de manifestarse.

Fallar Pronto

Una mentalidad DevOps significa que no se le debe de temer a los errores. Experimentando continuamente, arriesgándose  y aprendiendo de la experiencia, así es como se logran los grandes avances. Solo se llega a ser un experto por medio de la práctica constante y la repetición. La perspectiva DevOps gira alrededor de un eje central: fallar pronto para aprender pronto. Los primeros errores alientan a los miembros del equipo a seguir mejorando. Este modelo de fallar pronto fomenta la resiliencia ya que una crisis solamente se soluciona si se enfrenta directamente.

Aunque fallen pronto, los miembros del equipo deben hacerlo en conjunto. Establecer un ambiente que promueve el aprendizaje para que todos se sientan seguros es crucial. Los contratiempos deben de verse como oportunidades para aprender. Esta mentalidad afecta positivamente a toda la compañía y mejora el desempeño en general.

Evolución Constante

En síntesis, la evolución es una mejora continua a través del tiempo. El objetivo principal de cualquier compañía de software es optimizar el flujo de valor para llevar la productividad al siguiente nivel. Sin embargo, no se trata de llegar a un destino y cruzarse de brazos - DevOps es un camino sin fin. La búsqueda de áreas de mejora y las técnicas de innovación nunca cesan. Por esta razón, es importante definirlo como una mentalidad, una que impregna todo el enfoque de una organización. Todas las partes interesadas reciben información y retroalimentación constantemente para así mejorar sus habilidades a la hora de lanzar productos. Esto, simultáneamente, impulsa a la compañía a alcanzar sus metas comerciales. 

Al aplicar este principio, los indicadores clave de desempeño (KPI por sus siglas en inglés) juegan un papel importante. Estos alinean los objetivos de un negocio en particular; por ejemplo, elementos como la calidad, la velocidad, y/o la eficiencia. El uso de KPIs permite la continua valoración del sistema de entrega de una compañía y sus tecnologías de apoyo, todo dentro del contexto de las prioridades de la organización. Así se pueden implementar cambios y mejoras como corresponde, generando mejores resultados.

El Camino DevOps

En general, la meta es combinar las labores de desarrollo, operaciones y QA,   implementando las mejores prácticas y tecnologías para entregar productos de una forma más rápida y eficiente, asegurando la calidad en todo momento. DevOps es la goma que une toda la operación, todas sus partes trabajando independientemente en lo suyo pero siempre actuando en conjunto. Esta dinámica de trabajo fluida es el nuevo estándar para las compañías. La capacidad para efectuar lanzamientos rápidos que responden a las necesidades o los problemas es un requerimiento básico en la ingeniería de software de hoy. Al adoptar una dinámica de trabajo flexible, DevOps logra mejoras al unir al equipo.

Contáctenos

Contenido

Categorías

Compartir Artículo

Artículos Destacados