Autentia

Blog

Migrando CI a Docker en el meetup de Madrid Devops

Por si alguno de vosotros nos echaba de menos en los meetups madrileños, asistimos a nuestra primera charla de los amigos de Madrid Devops de 2016. En esta ocasión, Patxi Gortázar detalla su experiencia migrando CI a Docker, los problemas con los que se encontró y las diferentes soluciones que abordó. A continuación, la descripción de su charla:

Kurento es un servidor de media que implementa los estándares de WebRTC, junto con un conjunto de clientes que permite desarrollar aplicaciones que hacen un uso avanzado de media de forma sencilla. Kurento está compuesto de más de 80 proyectos diferentes, cada uno con su repositorio de codigo, sus tests unitarios, de integracion y end-to-end, su diferentes jobs en CI (Jenkins) y sus binarios. Hay proyectos en C/C++, Java, Javascript, Python, y bash pura y dura. Gestionar el entorno de CI para todos estos proyectos se había convertido en una tarea titánica.

A finales de año decidimos migrar esta infraestructura, montada sobre máquinas virtuales en OpenStack provisionadas con Chef, a Docker. El proceso debía hacerse sin que el entorno de CI parara un solo instance, manteniendo mientras tanto la infraestructura antigua. Recientemente terminamos la migración.

Describiremos brevemente el contexto en el que se desarrolla Kurento (con sus necesidades especiales), la infraestructura disponible, el enfoque antiguo y la forma en la que hemos llevado a cabo la migración hasta llegar a tener más de veinte contenedores distintos que se ejecutan cientos de veces al día para construir, testar y desplegar los proyectos. Comentaremos los problemas encontrados de ejecutar miles de contenedores diariamente y cómo es necesario un coche escoba para ir recogiendo a los “rezagados”.

¡Y por fin el vídeo! Muchas gracias a la organización de Madrid Devops, a Tuenti por su sala y a Patxi por su amabilidad.

15 Mar 2016