Un enfoque de ingeniería de software
La implementación continua ( CD ) es un enfoque de ingeniería de software en el que las funcionalidades del software se entregan con frecuencia y a través de implementaciones automatizadas . [1] [2] [3]
La implementación continua contrasta con la entrega continua (también abreviada como CD), un enfoque similar en el que las funcionalidades del software también se entregan con frecuencia y se consideran potencialmente capaces de ser implementadas, pero en realidad no se implementan. [4] Como tal, la implementación continua puede verse como una forma más completa de automatización que la entrega continua. [5]
Motivación
Una de las principales motivaciones para la implementación continua es que al implementar software en el campo con mayor frecuencia, es más fácil encontrar, detectar y corregir errores. Es más fácil corregir un error cuando proviene de un código implementado hace cinco minutos en lugar de hace cinco días. [6]
Ejemplo
En un entorno en el que los microservicios centrados en datos proporcionan la funcionalidad, y donde los microservicios pueden tener múltiples instancias, la implementación continua consiste en instanciar la nueva versión de un microservicio y retirar la versión anterior una vez que ha agotado todas las solicitudes en tránsito. [7] [8] [9]
Véase también
Referencias
- ^ Shahin, Mojtaba; Ali Babara, Muhammad; Zhu, Liming (2017). "Integración, entrega e implementación continuas: una revisión sistemática de enfoques, herramientas, desafíos y prácticas". IEEE Access . 5 : 3909–3943. arXiv : 1703.07019 . Bibcode :2017arXiv170307019S. doi :10.1109/ACCESS.2017.2685629. S2CID 11638909.
- ^ Holmstrom Olsson, Helena; Alahyari, Hiva; Bosch, Jan (2012). "Subiendo la "escalera al cielo": un estudio de múltiples casos que explora las barreras en la transición del desarrollo ágil hacia la implementación continua de software". 2012 38.ª Conferencia Euromicro sobre ingeniería de software y aplicaciones avanzadas . IEEE Computer Society . págs. 392–399. doi :10.1109/SEAA.2012.54. ISBN. 978-0-7695-4790-9.S2CID15199568 .
- ^ Claps, Gerry Gerard; Berntsson Svenssonb, Richard; Aurum, Aybüke (2014). "En el camino hacia la implementación continua: desafíos técnicos y sociales en el camino". Tecnología de la información y el software . 57 : 21–31. doi :10.1016/j.infsof.2014.07.009.
- ^ Shahin, Mojtaba; Babar, Muhammad Ali; Zahedi, Mansooreh; Zhu, Liming (2017). "Más allá de la entrega continua: una investigación empírica de los desafíos de la implementación continua". Simposio internacional ACM/IEEE de 2017 sobre ingeniería y medición de software empírico (ESEM) . págs. 111–120. doi :10.1109/ESEM.2017.18. ISBN . 978-1-5090-4039-1. Número de identificación del sujeto 3479812.
- ^ "Implementación continua: una guía esencial". IBM . 2019-10-02 . Consultado el 2022-11-28 .
La implementación continua es el resultado natural de una entrega continua bien realizada. Con el tiempo, la aprobación manual aporta poco o ningún valor y simplemente hace que las cosas se pongan en marcha lentamente. En ese momento, se elimina y la entrega continua se convierte en implementación continua.
- ^ Rossel, Sander (2017). Integración, entrega e implementación continuas .
- ^ Vera-Rivera, FH (2018). "Un proceso de desarrollo de aplicaciones empresariales con microservicios". Journal of Physics: Conference Series . 1126 (1): 012017. Bibcode :2018JPhCS1126a2017V. doi : 10.1088/1742-6596/1126/1/012017 . ISSN 1742-6596.
- ^ Serlet, Bertrand (2019). "Manifiesto del software centrado en los datos". Fungible . Archivado desde el original el 2019-10-14 . Consultado el 2019-10-14 .
- ^ Butler, Brandon (9 de noviembre de 2016). "Lo que debe saber sobre los microservicios". Computerworld . Consultado el 14 de octubre de 2019 .