Actualidad | Artículos | 17 MAY 2015

Proceso Viejo + Tecnología Nueva = Proceso Viejo Extremadamente Caro

El coste de remendar vestidos viejos con paño nuevo.
abaco-abacus-raton-mause
Juan Jiménez

El título de este artículo representa un concepto con el cuál he estado lidiando por más de tres décadas. Por esta razón, no me sorprendió cuando vi el tema aparecer en el ciberespacio hace unos meses.

Estaba paseando por la red y leyendo comentarios sobre los temas de Integración y Despliegue Continuo (CI y CD) en el contexto de DevOps, cuando me encontré con un hilo de discusión en el que los participantes estaban charlando sobre herramientas. Al ir leyendo los mensajes, me di cuenta hacia dónde se dirigían. Cuando los desarrolladores en un ambiente cultural de DevOps hablan sobre herramientas, en algún momento los comentarios invariablemente giran hacia el tema de Jenkins.

En mi opinión, Jenkins es claramente una excelente herramienta… cuando se usa para lo que se pretendía, la automatización de integración continua en equipos individuales. No es de extrañar por qué los equipos de desarrollo adoptan la herramienta - es relativamente fácil de configurar y usar, y por ello cuenta con un apoyo de la talla de los que sólo se ve en las religiones de culto y clubes de fútbol.

Sin embargo, la realidad es que cuando una pequeña organización crece y se convierte en una empresa grande, las limitaciones de Jenkins pueden convertirse en un obstáculo para los objetivos de esta. Lo mismo puede suceder en las empresas donde los miembros de los equipos de desarrollo traen consigo sus preferencias de herramientas que utilizaron en organizaciones más pequeñas. Por supuesto, el comportamiento normal es repetir lo que funciona. En el caso de Jenkins, lo que ocurre es que varias instalaciones individuales de la herramienta comienzan a salir de la tierra como topos.

Sin embargo, lo que funciona para un equipo no necesariamente funciona para una empresa, donde los objetivos de gobernabilidad y la información necesaria para ejercerla requiere la producción de informes y un control centralizado. Para tomar buenas decisiones es imprescindible tener buena información. Esta proliferación de instalaciones de Jenkins tiene nombre en inglés: "Jenkins Sprawl". Jenkins se queda corto en este entorno. El producto tiene limitaciones de escala porque las instalaciones individuales no se pueden comunicar fácilmente entre sí, la base de datos del producto existe enteramente en memoria, y el único control centralizado y métricas que existen es lo que se crea internamente a fuerza de necesidad.

Esto nos lleva al punto de toda esta historia. Uno de los participantes en el hilo de discusión, confiadamente, señaló que hay empresas que ofrecen virtualización de Jenkins, y que afirman que mediante la virtualización de Jenkins usted puede deshacerse del "Jenkins Sprawl".

Eso, en mi humilde opinión, es hacerse de ilusiones en una manera que demuestra una falta de entendimiento del concepto de "La Nube".  "La Nube" es un concepto creado por los expertos en mercadeo, y no TI, para darle nombre a una colección de espejos y maquinas de humo utilizados para "esconder" lo que siempre ha estado ahí y en ningún momento va a desaparecer - una infraestructura de TI que debe ser operada y mantenida con el fin de proporcionar valor en forma de servicios. Tratar de ocultar el "Jenkins Sprawl" en una nube, ya sea pública o privada, es una pérdida de tiempo y dinero. El resultado final siempre será que todavía existe, y seguirá causando los mismos problemas para su organización como si estuviera operando todo en una infraestructura física, en vez de virtual.

En esencia, el comentarista estaba postulando que:

 

Jenkins + Nube = Solución de Integración Continua a Escala Empresarial

 

Si fuéramos a aceptar esa lógica, tendríamos que aceptar otra aseveración similar:

 

MS Access + Amazon Web Services = Solución de Base de Datos a Escala Empresarial

 

(Aquellos de ustedes que ejercen como administradores de bases de datos pueden tomarse un descanso de leer hasta que acaben de reírse.)

La realidad es que una simple aplicación de algebra demuestra que:

 

Jenkins Sprawl + Virtualización = Jenkins Sprawl Virtualizado

 

Sigue siendo lo mismo. Ponerte gríngolas o desatar una nube de humo no va a resolver el problema. Lo cuál nos, trae en círculo completo, al título de este artículo:

 

PV + TN = PVEC

 

Comienza con un Proceso Viejo e intenta arreglarlo con Tecnología Nueva, y el único resultado que vas a conseguir es un Proceso Viejo Extremadamente Caro.

 

Juan Jimenez

Ingeniero Senior de Preventas en Electric Cloud, empresa de software en Silicon Valley. Boston, U.S.A.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información