Dejando aparte los nombres de tecnologías que se puedan usar, es importante manejar el concepto en sí, sobre qué es un sistema de control de versiones y cómo puede ayudar dentro del ciclo de una cultura DevOps
, para ello, la importancia del mismo, mencionando puntos clave que necesitamos implementar.
Vamos a despegar la nave:
- Velocidad de acceso y escritura
- Implementación como servicio local en la infraestructura física.
- Ramificación
- Mantener diferentes instancias, trabajo colaborativo en paralelo, en entornos aislados.
- Convergencia
- Combina diferentes instancias que se desarrollan en paralelo.
- Flujo de trabajo
- Configuraciones que hace adaptable su estructura y mejora la comunicación.
- Seguridad
- Aplicación de sistema de cifrado y otros tipos de medidas.
- Manipulación del tiempo
- Histórico de cambios, navegar con libertad, ir atrás y adelante en el tiempo.
Ahora bien, como estás dispuesto a aprender la tecnología dominante entre los sistemas de control de versiones, Git, además del gestor de proyectos en la nube #1, GitHub, te daré algunas razones del porqué utilizarlo, porque así soy yo, a toda madre.
- Versionar el código
- Aprender y experimentar, git tiene una basta documentación
- Contribuir en proyectos públicos
- Trabajo en equipo
- Visor de código
- Mostrar habilidades de desarrollo
- Registro de incidencias
- Seguimiento de problemas por medio de GitHub (issues)
- Compatibilidad
- Operativo en todas las plataformas (OS y entornos de desarrollo)
- Integración con otras herramientas (Travis, Circle CI), tiene API
- Ahorro de ancho de banda
- Solo gestiona los bits útiles.
Con esto, me parece que ya tienes algunas pinceladas en el lienzo sobre cómo se tornan estas tecnologías dentro de una cultura DevOps y la importancia que tienen.