DevOps

Call me DevOps

Como desarrollador me ha tocado ver la transición que ha sufrido el rol Configuration Manager. Antes, liberabamos una versión cada tres meses y algunas versiones menores cada par de semanas.

Ahora, lo más parecido a aquellos tiempos es cuando tenemos un Epic con muchos cambios de funcionalidad o quizás cuando se han incluido cambios de arquitectura.

En estos casos, nuestro PM pregunta varias veces si un PR impacta solo la UI o si también algún microservicio, por ejemplo.

Mientras que normalmente DevOps libera sin estrés varias veces al día. En estos casos, me toca participar en reuniones donde planeamos la estrategia para poner los binarios en producción, correr los scripts y cambiar los microservicios líderes.

Todos sabemos que el release debería mantener compatibilidad hacia atrás con la versión previa y estar el pase automatizado hasta el último detalle siempre que sea posible. Solo hay unos milisegundos entre bifurcar la respuesta de los servicios y que el usuario note que la nube no responde

Días previos a la liberación, se hace mergue de los últimos Prs. Es común que QA me señale elementos de último momento que debo corregir. Si no es QA, a veces es el Product Owner. Ya para este momento, son solo detalles menores. Algo crítico podría detener la liberación de algunos features.

Cuando ya todo está listo, se le hace merge a Master. Todos continuamos con nuestras tareas, pero yo sigo atento mientras trabajo hasta ver que la liberación fue un éxito.

Es curioso, antes liberar en forma parcial los componentes del sistema hubiera sido considerado una mala práctica, pero hoy en la Nube, liberamos solo los componentes que se requieren. Un componente elástico a veces implica ser sustituido en varias máquinas, al tiempo que se le deja de enviar tráfico que se redirecciona a la nueva versión del componente hasta que todas las máquinas están actualizadas.

Ahora me llaman DevOp, me especializo en programar lo relativo a la liberación y al hardware, con cero down-time. Ya no me veo a mi mismo como Configuration Manager.