Por: Didier Franco
DevOps surge de la necesidad de tener mecanismos de integración de cambios y liberaciones más estables y continuas: Alrededor de esta necesidad han surgido infinidad de herramientas que buscan brindar una solución, expandiendo su alcance a temas como la planeación, metodología, calidad, seguridad, e inclusive rollback automáticos de versiones.
En este sentido es que el alcance de lo que logramos con DevOps es tan grande como te lo imagines, y para esto el camino es la automatización de procesos, sin dejar de lado que en el momento de su implementación el versionamiento es un primer punto fundamental.
Seguro te preguntarás, ¿qué es lo que debo versionar?, ¿Cuáles son las buenas prácticas?, ¿Que estructuras de versionamiento debo utilizar?.
La respuesta puede ser diferente según tu modelo de solución. Por eso, te compartimos algunos tips que puedes tomar en consideración al momento de plantear tu modelo de solución:
1. Versiona el código fuente de tu aplicativo, con esto siempre tienes un punto de regresión en el tiempo.
2. Versiona tu infraestructura, con esto tienes claridad de tu requerimiento de hardware.
3. Versiona tus pruebas (unitarias, integración, funcionales, seguridad, performance, etc)
4. Versiona tus artefactos liberados, así tienes todas tus versiones liberadas siempre disponibles en caso de requerir una regresión.
5. Versiona tu documentación.
Realmente no hay una única forma de versionar código que apalanque procesos DevOps: todo depende de la complejidad de tu solución. En este punto debes tomar en consideración lo siguiente:
1. Un pipeline por lo general toma como punto de partida uno o varios repositorios de código, y con ellos inicia todo un ciclo de ejecución.
2. Entre más repositorios tengas, es más probable tener que configurar ciclos de ejecución adicionales, por lo tanto, a mayor cantidad de repositorios, mayor cantidad de automatizaciones a mantener.
3. ¿Cuántos equipos de trabajo interactúan con tu código.
4. Los equipos que interactúan con tu código, ¿lo hacen en todos los niveles como infraestructura, pruebas, desarrollo, etc, o sólo se encargan de una pequeña parte?
5. ¿Deseas liberar todo un aplicativo con el menor de lo cambios, o deseas liberar solo cambios específicos en algunas partes de la solución?
Después de resolver estos interrogantes y aplicar estos tips, tienes una base para generar tu estrategia de versionamiento DevOps
Estamos en la búsqueda de los más talentosos para crecer y crear juntos