Mis on DevOps?

DevOps on protsess, kus keskendutakse tarkvaarenduse elutsükli automatiseerimisele ja sujuvamaks
muutmisele, et kood liiguks arendusest tootmisse kiiresti, usaldusväärselt ja turvaliselt.


Mis etapid seal on?

Devops koosneb neljast etappidest.


Konstruktsioon etappis arendajad kirjutavad ning organiseerivad koodi, kasutades versioonkontrolli tööriistad
nagu Git muudatuse jälgimiseks. Süsteemi automaatselt koostab ning pakendab koodi kasutuselevõetavas formaadis.
Sõltuvused on lisatud, et tagada sujuvat operatsiooni. Levinud vahendid, mida kasutataks on näiteks Git, Jenkins, Gitlab.


Testimis etappis, tarkvara läbib enne avaldamist põhjaliku testimise, et avastada vigu ja turvariske. Kasutatakse er
testimis meetodeid. Need on üksustestimine, integratsiooni testimine, jõudluse testimine ja turvalissue testimine.
Üksuse testimisel knotrollitakse üksikud koodi osasid. Integratsiooni testimisel tagatakse, et eri osad süsteemil
töötavad koos. Jõudluse testimisel mõõdetakse kiirust ning skaleeritavus. Turvalisuse testimisel tuvastakse
potentsiaalseid haavatavused. Kasutatksed ka automatiseeritud teste, mis aitavad tagada, et tarkvara on stabbilne
liikudes edasi. Levinud vahendid, mis kasutatkse etappil on JUnit, Selenium, TestNG.


Väljastamis etappis, tarkvara on kasutusele võetud lavastuskeskkonnas, et simuleerida reaalseid tingimusi. Kui kõik on
korras, tarkvara on viidud tootmisele kasutades kasutuselevõtu strateegiaid nagu sinine-roheline kasutuselevõtt, kanaari
kasutuselevõtt ja jooksvad uuendused. Sinine - roheline kasutuselevõttus, kaks identset keskkonda vahetavad liiklust sujuva
värskenduse tagamiseks Kanaari kasutuselevõttus, väike protsent kasutajad saavad uue versiooni esimesena, ohutuse tagamiseks.
Jooksvad uuendustes, uuendus on järk-järgult välja toodud kõikidele kasutajatele. Levinud tööriistad on Docker, Kubernetes, Ansible, Helm.


Pidev tagasiside ahel etappis õppitakse pärismaailma jõudlusest ning kasutatakse seda tagasisidet, et täiendada tuleivku väljustamist.
Järgitakse süsteemi jõudlust ning püütakse märgata vigasid. Kogutakse arusaamu klientidelt, et funktsioone paremaks teha. Kasutatakse
hoiatussüsteemid, et teatada meeskonda vigadest, et nad saaksid teha kiiret lahendust. Meeskonnad analüüsivad varem väljustamisi, et
optimeerida automatiseerimist ja töövoogu. Levinumad vahendid on Prometheus, Grafana, Datadog.


Kas arendusmudelil on alamvariante?


Jah, arendusmudelil on olemas alamvariante. Näitena on seitse.


DevSecOps on pideva turvatestimise kaasamine tarkvaraarenduse elutsükli kõikidesse etappidesse. Arendus-, turbe- ja operatsioonimeeskonnad jagavad
vastutust turvalise tarkvara loomise eest.


BizDevOps on alamvariant, mis optimiseerib tarkvara arendus elutsükli tehes koostööd äri, arendus ning operatsioon meeskonna vahel.


AIOps on protsess, kus kasutatakse AI, et paremaks teha ning automatiseerida IT operatsioone, analüüsides suur osa andmeid, mis on kogutud mitmesugustest
DevOps seadmetelt ning vahenditelt, automaatselt tuvastades ning vastates vigadele reaalajas.


GitOps on alamvariant, kus kasutatakse Git ainus tõeallikana, kuhu soovitud konfiguratsiooniolek on salvestatud. Operatsioone automatiseeritakse kasutades Git.


DataOps on koostööpõhine andmetehaldus praktikad mõeldud kiire kohaletoimetamise, kvaliteedi haldamine, meeskondadevahelist kooskõla edendamine ning maximum väärtuse
genereerimine andmetest.


NoOps on protsess, kus kasutatakse täiustatud automatiseerimistööriistad ing AI, et minimiseerida inimese sekkumist. Traditsioonilised operatiivülesanded, nagu serveri
jälgimine, hooldus ja turvalisus, on kõik automatiseeritud.


DevTestOps on alamvariant, mille peamine ülesanne on kaasata DevOps protsessi pidev testimist, rõhutades testimisprotsessi olulisust. Sel viisil on testijatest saanud
tarkvaraarenduse põhiliikmed ning nende testimistegevus on oluline kogu arendusprotsessis, nagu ka arendajate ja operatsiooniinseneride jaoks.


Milline näeb välja arendusmudel joonisena?


Joonis:


Mis on arendusmudeli tähtsaim omadus, ja miks?


DevOps arendusmudeli tähtsaim omadus on koostöö, sest arendusmeeskond ning operatsioonimeeskond töötavad koos ning neil on jagatud vastatus. Mõlematel meeskonnatel on sama arusaam tarkvarast
ning seetõttu konflikte ei tekki sest mõlemad meeskonnad pidevalt töötavad koos omavahel.


Võta arendusmudel kokku Heade ja Veade tabelina.


Head: Vead:
Paranenud koostöö; Turvaprobleemid;
Kiire kohaletoimetamine; Esialgsed rakendamise väljakutsed;
Suurenenud efektiivsus; Tööriistaahela keerukus;
Hea klientide rahulolu; Pidev jälgimine ja haldavus;
Hea ressursside kasutamine; Juurdepääsu kontroll ja luba;

Viited:


DevOps arendusmudel: geeksforgeeks
DevSecOps: jfrog
BizDevOps: ibm
AIOps: wikipedia
GitOps: ibm
DataOps: ibm
NoOps: dev
DevTestOps: sipsa
Mis on tähtis DevOpsis: graphite
Head ja Vead: vivasoftltd