DevOps

Allikas: Vikipeedia

DevOps (liitsõna inglise keele sõnadest development ehk arendus ja operations ehk käitus[1]) on tarkvaraarenduse kultuur, mille eesmärk on ühendada tarkvaraarendus (Dev) ja tarkvaraoperatsioonid (Ops). Põhilised DevOpsi liikumise tunnusjooned on automatiseerimine ja jälgimine kõigil tarkvaraarenduse etappidel alates integratsioonist, testimisest ja avaldamisest kuni kasutuselevõtu ja taristu haldamiseni. DevOps pürgib lühemate arendustsüklite, sagedasemate juurutamiste ning töökindlamate ja rohkem ärinõuetega kooskõlas olevate tarkvara versioonide avalikustamiste poole.[2][3][4]

Ajalugu[muuda | muuda lähteteksti]

Termin "DevOps" jõudis avalikkuse ette 2008. aastal Torontos Agile'i konverentsil, kus Andrew Shafer ja Patrick Debois kasutasid seda terminit nende paindliku ehk agiilse taristu teemalises esitluses.[5] Aastast 2009 on termin levinud ja saanud laiema tähelepanu tänu DevOpsi päevadele[6], mis algasid Belgias ja on nüüdseks levinud ka teistes riikides.

DevOpsi tööriistade komplektid[muuda | muuda lähteteksti]

Kuna DevOps on mõeldud ristfunktsionaalse töösuunana, siis selle asemel, et oleks ainult üks kindel DevOpsi tööriist, kasutatakse pigem mitmeid tööriistade komplekte.[7] Sellised tööriistad peaksid mahtuma järgnevatesse kategooriatesse, mis peegeldavad arendamise ja väljastamise protsessi põhiaspekte:[8][9]

  1. programmeerimine – koodi kirjutamine ja läbivaatus, lähtekoodihaldus;
  2. järgu ehitus – pidevintegratsioon, järgu staatuse haldus;
  3. testimine – pidev testimine mis annab tagasisidet äririskide kohta;
  4. pakkiminetehistehoidla, rakenduse avalikustamise eelne proovimine;
  5. avalikustamine – muutuste haldus, avalikustamise protsessi automatiseerimine;
  6. konfigureerimine – taristu ülesseadmine ja haldamine, taristu kui koodi tööriistad;
  7. seire – rakenduse jõudluse jälgimine, lõppkasutaja kogemused.

Osad kategooriad omavad suuremat tähtsust DevOpsi tööriistade komplektis; eriti pidevintegratsioon (nt Jenkins[10]) ja taristu kui kood (nt Puppet[11]).[12][13]

Suhe teiste lähenemistega[muuda | muuda lähteteksti]

Paindlik ehk agiilne arendus[muuda | muuda lähteteksti]

Vajadus DevOpsi järele tekkis kasvavast agiilse tarkvaraarenduse edust, kuna agiilsest lähenemisest tekkis organisatsioonidel tahtmine tarkvara avalikustada aina kiiremini ja sagedamini. Et ületada sellest tekkinud probleemid, pidid nad võtma kasutusele sellised võtted nagu rakenduse avalikustamise automatsioon, pidevintegratsioon ja pidevvalmidus.[14]

Pidevvalmidus[muuda | muuda lähteteksti]

Pidevvalmidusel (inglise keeles continuous delivery) ja DevOpsi liikumisel on ühiseid eesmärke ning neid kasutatakse tihti koos, aga neil siiski on mõned peened erinevused.[15][16]

Kui pidevvalmidus keskendub tarkvara tarne automatiseermisele, siis DevOps keskendub ka organisatsioonilistele muudatustele mis toetaksid koostööd tarkvara loomisega seotud funktsioonide vahel.

DevOps ja pidevvalmidus jagavad ühist tausta agiilsete meetodite näol.[17]

Eesmärgid[muuda | muuda lähteteksti]

DevOpsi eesmärgid hõlmavad kõiki tarkvara loomise etappe. Nende hulgas on:

  • sagedasemad juurutamised;
  • lühem aeg turule;
  • väiksem rikete protsent uutel avalikustatud tarkvara versioonidel;
  • lühem ettevalmistusaeg rikete parandamisel;
  • kiirem aeg paranemiseni rikete puhul, mis halvavad kogu süsteemi.

Kasutades DevOpsi lähenemist muutuvad lihtsad protsessid paremini programmeeritatavateks ja dünaamilistemaks.[18] DevOps üritab maksimeerida operatsiooni protsesside ennustatavust, tõhusust, turvalisust ja hooldatavust. Väga sagedasti kasutatakse selle saavutamiseks automatiseerimist.

Viited[muuda | muuda lähteteksti]

  1. "DevOps". AKIT - Andmekaitse ja infoturbe leksikon. Vaadatud 2018-03-19. 
  2. Loukides, Mike (2012-06-07). "What is DevOps?". Vaadatud 2018-03-19. 
  3. Samovskiy, Dmitriy (2010-03-02). "The Rise of DevOps". Fubaredness Is Contagious. Vaadatud 2018-03-19. 
  4. Kim, Gene. "DevOps Culture Part 1". Vaadatud 2018-03-19. 
  5. Debois, Patrick. "Agile 2008 Toronto". Just Enough Documented Information. Vaadatud 2018-03-19. 
  6. Debois, Patrick (2009). "DevOpsDays Ghent". DevopsDays. Vaadatud 2018-03-19. 
  7. Gartner Market Trends: DevOps – Not a Market, but Tool-Centric Philosophy That supports a Continuous Delivery Value Chain, 18 February 2015 
  8. Edwards, Damon. "Integrating DevOps tools into a Service Delivery Platform". dev2ops.org. Vaadatud 2018-04-13. 
  9. Seroter, Richard. "Exploring the ENTIRE DevOps Toolchain for (Cloud) Teams". infoq.com. Vaadatud 2018-04-13. 
  10. Knorr, Eric (2016-03-21). "Why Jenkins is becoming the engine of devops". infoworld. Vaadatud 2018-03-19. 
  11. Gazitt, Omri (2017-12-11). "Practicing DevOps at Puppet". puppet. Vaadatud 2018-03-19. 
  12. Theakanath, Thomas. "DevOps Stack on a Shoestring Budget". devops.com. Vaadatud 2018-04-13. 
  13. "Stronger DevOps Culture with Puppet and Vagrant". Puppet Labs. Vaadatud 2018-03-19. 
  14. Best Practices in Change, Configuration and Release Management, 14 July 2010 
  15. Humble, Jez; Farley, David (2011). Continuous Delivery: reliable software releases through build, test, and deployment automation. Pearson Education Inc. ISBN 978-0-321-60191-9. 
  16. Hammond, Jeffrey (2011-09-09). "The Relationship between DevOps and Continuous Delivery". Forrester Research (Forester). Vaadatud 2018-04-13. 
  17. Ambler, Scott W. (2014-02-12). "We need more Agile IT Now!". Dr. Dobb’s The world of software Development (San Francisco: UBM). 
  18. "What is DevOps?". NewRelic.com. Vaadatud 2018-03-19.