Kontinuerlig utrulling

Fra Wikipedia, den frie encyklopedi

Kontinuerlig utrulling[1][2] (engelsk: continuous deployment, CD) er en tilnærming til programvareutvikling hvor programvarefunksjoner leveres ofte og gjennom automatisert utrulling.[3][4][5]

Kontinuerlig utrulling står i kontrast til kontinuerlig leveranse (også forkortet CD på engelsk) som er en lignende tilnærming hvor programvarefunksjonaliteter også ofte leveres og anses å potensielt være i stand til å bli rullet ut, men ikke faktisk blir rullet ut.[6] På denne måten kan kontinuerlig utrulling sees på som en mer komplett automasjon enn kontinuerlig leveranse.[7] Spotify[8] og Amazon[9] er eksempler på selskaper som har implementert kontinuerlig utrulling.

Motivasjon[rediger | rediger kilde]

En stor motivasjon for kontinuerlig utrulling er at man kan sette ut programvaren i drift oftere, og det å sette ny programvare i drift oftere (mer inkrementelt) gjør det lettere å finne, fange opp og fikse feil.[10] Eksempelvis vil det ofte være lettere å fikse en feil når den kommer fra kode som ble rullet ut for fem minutter siden istedet for fem dager siden. [11]

I praksis[rediger | rediger kilde]

I et miljø hvor funksjonaliteten kommer fra datasentriske mikrotjenester og hvor mikrotjenestene kan ha flere forekomster, består kontinuerlig utrulling av å instansiere den nye versjonen av en mikrotjeneste og trekke tilbake den gamle versjonen når den har tømt alle pågående forespørsler.[12][13][14]

Se også[rediger | rediger kilde]

Referanser[rediger | rediger kilde]

  1. ^ «Menneskelige hensyn ved kontinuerlig utrulling». Capgemini Norge (engelsk). 12. desember 2013. Besøkt 4. august 2022. 
  2. ^ «Teknisk gjennomgang - API -Toll / Customs» (PDF). 
  3. ^ Shahin, Mojtaba; Ali Babara (2017). «Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices». IEEE Access. doi:10.1109/ACCESS.2017.2685629. 
  4. ^ Holmstrom Olsson, Helena; Alahyari (2012). «Climbing the "Stairway to Heaven" -- A Multiple-Case Study Exploring Barriers in the Transition from Agile Development towards Continuous Deployment of Software». Proceedings of the 2012 38th Euromicro Conference on Software Engineering and Advanced Applications. doi:10.1109/SEAA.2012.54. 
  5. ^ Claps, Gerry Gerard; Berntsson Svenssonb (2014). «On the journey to continuous deployment: Technical and social challenges along the way». Information and Software Technology. doi:10.1016/j.infsof.2014.07.009. 
  6. ^ Shahin, Mojtaba; Babar, Muhammad Ali; Zahedi, Mansooreh; Zhu, Liming. «Beyond Continuous Delivery: An Empirical Investigation of Continuous Deployment Challenges». 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). ISBN 978-1-5090-4039-1. doi:10.1109/ESEM.2017.18. 
  7. ^ «bliki: ContinuousDelivery». martinfowler.com. Besøkt 24. august 2022. 
  8. ^ Magazine, Software Testing (26. desember 2014). «How Spotify Test in Continuous Deployment». Software Testing Magazine (engelsk). Besøkt 24. august 2022. 
  9. ^ Duran, Adam. «Which Companies Are Using DevOps? | Prolifics». Software Company | London, England | Prolifics UK (engelsk). Besøkt 24. august 2022. 
  10. ^ «Prodsetter 22 ganger hver dag i Frende». Frende.no. Besøkt 4. august 2022. 
  11. ^ Rossel, Sander (2017). Continuous Integration, Delivery, and Deployment. 
  12. ^ Vera-Rivera, F. H. «A development process of enterprise applications with microservices». Journal of Physics: Conference Series. doi:10.1088/1742-6596/1126/1/012017. 
  13. ^ Serlet, Bertrand. «Data-centric Software Manifesto». Arkivert fra originalen 14. oktober 2019. Besøkt 14. oktober 2019. 
  14. ^ Butler, Brandon. «What you should know about microservices». Besøkt 14. oktober 2019.