Entre más DevOps… menos culpables y más sonrisas :)

Construir productos de software nunca ha sido una tarea destinada solo a programadores, el proceso de desarrollar software implica:

  • Que debe funcionar en base a una serie de requerimientos.
  • Que debe ser validado y verificado.
  • Que debe ser desplegado en uno o más entornos de producción.

De principio a fin muy probablemente existirán discusiones y malos entendidos en cuanto a la funcionalidad necesitada del software y como se despliega.

Las primeras batallas, siempre se dan después de cada reléase de versiones internas entre los que programan (Developers) y los que prueban (Testers), las discusiones se centran en establecer de conformidad cuando un error está presente y cuando no lo está.

Después se integrará un nuevo jugador, el profesional de IT que regula la red, monitorea los servidores y en muchas ocasiones despliega proyectos de código en servidores de aplicaciones o ya más comúnmente la nube.

En esta última etapa, los tres roles (Developers, Testers, IT people) están enfocados en que el producto de software funcione de conformidad. Sin reglas o metodologías a seguir, para llegar a este punto seguramente se arrastraron muchas malas prácticas, esencialmente por estas causas:

  • Mala comunicación.
  • Insuficiente entendimiento de lo que se debe construir en software.
  • No claridad de lo que es prioritario a probar de lo que puede ser secundario.
  • Falta de especificación de componentes de software o dependencias al momento de un despliegue (deploy).

Hablando de DevOps

Las buenas prácticas terminaran ofreciendo los mejores resultados, mientras que las malas prácticas nos llevaran a resultados no satisfactorios.

DevOps es un acrónimo de: Development + Operations

DevOps no es una herramienta informática, si no más bien un proceso de desarrollo y despliegue que viene con las mejores prácticas de comunicación y colaboración implicadas en el desarrollo de software.

Busca automatizar el proceso de creación, integración, testing y despliegue con los cambios en la infraestructura que puedan existir, todo de una manera frecuente y confiable.

En síntesis, DevOps es un marco de trabajo que fomenta el desarrollo y operaciones para que trabajen de manera orquestada, colaborativa y por un objetivo en común. Pasa convertirse en un espiral virtuoso donde las tareas de desarrollo y de operaciones se dan continuidad de manera cíclica:

¿Cómo implementar DevOps?

Creo fuertemente que el primer paso para implementar DevOps en la creación de software es: La VOLUNTAD de romper el paradigma, de hacer las cosas de una manera eficiente, ser menos egoístas y pensar como equipos CORE.

Sin embargo, al no existir software de marca “DevOps”, los equipos deben tomar ventaja de lo que ya existe, sacándole el mejor provecho posible.

A continuación, expongo por áreas donde las herramientas hacen su aparición dentro de DevOps:

¿Cuáles son las buenas prácticas?

  • Infraestructura como Código (Infraestructure as Code): Pasar de las personas responsables de codificación a archivos de configuración que facilitan el despliegue de proyectos de software.
  • Integración Continua (Continuous Integration): Alta confiabilidad de que nuestro software funciona en todo momento.
  • Pruebas Automatizadas (Automated Testing): Comprobación en todo momento de que nuestro código no contiene errores.
  • Despliegue Continuo (Continuous Deployment): Siempre mantener la última versión de nuestro software.
  • Gestión de Versiones (Release Management): La facilitación de poner versiones en específico en producción.
  • Monitoreo de Aplicaciones (App Performance Monitoring): Como se usa nuestro software y como responde ante los usuarios.
  • Pruebas de Carga (Load Testing): Para comprobar como el software se soportará con los usuarios antes de llegar a entornos de producción.

Principalmente, Microsoft ofrece Visual Studio Online para la gestión del ciclo de vida de los proyectos de Software. Veamos cómo podemos empezar con DevOps desde Microsoft Azure y Visual Studio Online con la siguiente demostración:


Sígueme en Twitter @vmorenoz

¿Te gustó este artículo? Únete a Facebook en MicrosoftLand

También te podría gustar...