Aunque "implementación continua" y "entrega continua" puedan sonar igual, se trata de dos enfoques diferentes de la liberación frecuente.
La entrega continua es una práctica de desarrollo de software donde los desarrolladores crean software para lanzarlo a producción en cualquier momento. Para lograrlo, un modelo de entrega constante implica entornos de prueba similares a los de producción.
Las nuevas compilaciones realizadas en una solución de entrega continua se implementan automáticamente en un entorno de pruebas automáticas de garantía de calidad que comprueba cualquier número de errores e incoherencias. Una vez que el código pasa todas las pruebas, la entrega continua requiere intervención humana para aprobar las implementaciones en producción. A continuación, la implementación en sí se realiza mediante automatización.
La implementación continua lleva la automatización un paso más allá y elimina la necesidad de intervención manual. Las pruebas automatizadas y los desarrolladores se consideran lo suficientemente confiables como para que no requieran aprobación para la versión de producción. Si se superan las pruebas, el nuevo código se considera aprobado y la implementación en producción se realiza automáticamente.
La implementación continua es el resultado natural de la entrega continua bien hecha. Al final, la aprobación manual aporta poco o ningún valor y simplemente ralentiza las cosas. En ese punto, se elimina y la entrega continua se convierte en implementación continua.
Vea este vídeo en el que Eric Minick, de IBM Cloud, explica la diferencia entre implementación continua y entrega continua.