Servicios Tecnológicos sector empresarial

¿Aún no sabes qué es DevOps?

Escrito por Eliseo Martín | 15-oct-2019 7:10:00

Te lo contamos de una forma sencilla, para que aunque no seas técnico en informática puedas entender sus conceptos básicos. ¿Empezamos?

Vamos a comenzar describiendo los objetivos a conseguir: Acelerar la puesta en producción de los desarrollos con todas las garantías.

¿Qué impide que se consiga este objetivo?

Impedimentos organizativos:

  • Los departamentos de Operaciones (o Sistemas) y Desarrollo se comportan de forma independiente y con objetivos propios que no tienen por qué ser compartidos.
  • Habitualmente tampoco comparten las tareas que les afectan mutuamente.
  • Se desenvuelven en estructuras y equipos con mucha jerarquía que conlleva lentitud y gran trabajo administrativo.

Impedimentos técnicos:

  • Los proyectos típicamente se realizan con desarrollos en grandes bloques que llevan asociado un gran número de horas de trabajo.
  • Y consecuentemente las pruebas asociadas a esas entregas son complejas, así como su mantenimiento.

¿Cómo eliminar estos inconvenientes?

La filosofía DevOps se basa en los siguientes 5 valores (CLAMS) que deben compartir los departamentos de Operaciones y Desarrollo:

  • Cultura colaborativa.
  • Lean (sencillez).
  • Automatizar para eliminar intervenciones manuales (uso de Dockers, Yamls, IaaS, Paas,…).
  • Medir para optimizar, minimizar y/o eliminar.
  • Compartir las tareas.

Y que no pierdan de vista una correcta alineación permanente con los objetivos del negocio que tienen que ser parte de los objetivos de esas dos unidades.

Esta filosofía se refuerza con un reenfoque organizativo que posibilite:

  • Que los departamentos de Operaciones y Desarrollo compartan objetivos.
  • Que compartan las tareas compartidas que les afecten (se sugiere un tablero Kanban compartido).
  • Que los equipos de trabajo sean más planos y pequeños para minimizar la carga administrativa.

Figura: Relación continua e integrada entre Desarrollo y Operaciones

Desde el punto de vista técnico, se sugiere el siguiente planteamiento:

  • Realización de diseños basados en entregables más pequeños (enfoque micro-servicios) para que estas piezas sean fáciles de desarrollar, probar y evolucionar.
  • Minimización del número de tareas en paralelo de los equipos, para mejorar su eficiencia.
  • Identificación clara de las restricciones y cuellos de botella que afecten a Desarrollo y Operaciones.
  • Uso integrado de diferentes herramientas (“toolchain”) para los procesos de desarrollo y entrega: herramientas de código (desarrollo, revisión y administración del código fuente), herramientas de construcción (integración continua, estados de compilación…), herramientas de pruebas (pruebas automatizadas), herramientas de lanzamiento (gestión de cambios, versiones, despliegues continuos), herramientas de configuración y gestión de la infraestructura y herramientas de monitorización. El ecosistema de las herramientas que soportan DevOps es muy amplio.

De forma sencilla, estos son los grandes cambios que implica DevOps. Si deseas más información o formarte tú o tu equipo en esta disciplina, consulta nuestra oferta de cursos. Y si estás buscando una herramienta de gestión y seguimiento de proyectos también te podemos ayudar.