Skip to content

DevOps

Kuvauksen kirjoitti: Tomi Räisänen / M0444

Lyhyt kuvaus käsitteestä tai aiheesta

DevOps on kokoelma käytäntöjä, joilla pyritään automatisoida ja integroida prosesseja ohjelmistotuotannon ja IT-tiimien välillä. Näillä käytänteillä IT-tiimit voivat testata, rakentaa build-versioita, ja julkaista ohjelmistoja nopeammin ja luotettavammin.

DevOps elämänkaari koostuu kuudesta vaiheesta. Suunnitteluvaihe, ohjelmointivaihe, build-version koontivaihe, testausvaihe, ohjelmiston käyttöönottovaihe, operointivaihe ja monitorointivaihe. Suunnitteluvaiheessa kehitystiimi tekee suunnitelman ohjelmiston rakentamista varten. Kun suunnitelma on valmis, alkaa ohjelmointivaihe, jossa ohjelmoidaan suunnitelman mukainen ohjelmisto. Ohjelmointivaiheessa käytetään apuna versionhallinta työkaluja kuten git. Tämän jälkeen tehdään build-versio, jossa apuna käytetään Maven- ja gradle-työkaluja. Sen jälkeen alkaa testausvaihe. Testaustyökaluna voidaan käyttää esimerkiksi Seleniumia. Kun testaukset on saatu hyväksytysti suoritettua, ohjelmisto lähetetään operaatiotiimille, joka julkaisee ohjelmiston. Tässä prosessissa käytetään apuna työkaluja nimeltä ansible, docker ja kubernetes. Sen jälkeen ohjelmistoa monitoroidaan esimerkiksi nagios-työkalulla. Tämän vaiheen jälkeen saadut tulokset ja palaute lähetetään takaisin suunnittelua tekevälle tiimille ja niin edespäin. Ideana on siis, että kaikkia vaiheita työstetään jatkuvasti ja kaikissa vaiheissa tehdään yhteistyötä kaikkien osapuolien kesken. Työkalut, joita eri vaiheissa käytetään, on tarkoitettu myös automatisoimaan ja nopeuttamaan vaiheiden läpivientiä nopeuden takaamiseksi.

DevOps-termi tulee siis sanoista Development ja operations. Termin tarkoitus on kuvata kuinka näiden kahden prosessin välistä aukkoa pyritään yhdistämään.

Ennen DevOpsin käytänteiden käyttöönottoa, saattoi kehitystiimi olla toimettomana pitkiäkin ajanjaksoja, koska he odottivat operaatiotiimin palautetta ohjelmistosta. Tätä tiimien toimeettomaksi jäämistä pyritään DevOpsilla välttämään.

DevOps on siis ketterässä kehittämisessä tiiviisti mukana ja on sieltä saanutkin paljon vaikutteita.

DevOpsin hyötyjä

Ohjelmistojen tekeminen ja julkaisu on nopeampaa, koska eri tiimeille ei tule toimeetonta aikaa. Jo valmiin ohjelmiston ylläpito on selkeämpää, koska työkaluilla automatisoidaan ja skriptataan käytännössä koko ympäristö. Integrointi ja uusien ohjelmistopäivitysten julkaisu on nopeampaa, jolloin loppukäyttäjä on tyytyväisempi.

Muuta aiheeseen liittyvää

Tunnettuja yrityksiä ja organisaatioita, jotka ovat ottaneet DevOpsin opit käyttöön: Netflix, Amazon, Walmart, Facebook ja Adobe.

DevSecOps

DevSecOps on DevOpsin oppeihin lisättäviä työkaluja ja käytänteitä, joilla voidaan lisätä DevOpsilla tuotettuihin ohjelmistoihin tietoturva-käytänteitä. Tässä tietoturvatiimi lisätään vielä tekemään omat toimenpiteensä ennen kuin ohjelmisto otetaan käyttöön ja lähetetään operaatiotiimille.

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa

Ketterä kehittäminen - Agile development