Ensisukellus DevOpsin maailmaan

Kirjoittaja jakaa työaikansa Wapicen ja Vaasan Ammattikorkeakoulun välillä. Softanläheinen projektinhallinnan ammattilainen, joka nauttii uusista haasteista ja kokeilee kaikkea edes kerran. Myös DevOpsia.

TEKSTI | Anna-Kaisa Saari
Artikkelin pysyvä osoite http://urn.fi/URN:NBN:fi-fe2022112366619

Työuraa takana teknologian huippuyrityksessä Wapicella yli 20 vuotta – true professional? Pohojalaasittaan trossaten, tottakai! Omalla työuralla olen päässyt kokeilemaan useita erilaisia tehtäviä. Ohjelmointia, testausta, suunnittelua, projektinhallintaa, konsultointia, tuotemallinnusta, laatuauditointeja, koulutusta, esimiestehtäviä, paljon kaikkea ja samalla kuitenkin vain pieni osa isosta kokonaisuudesta. Siispä nöyryyttä kehiin. IT-ala on niin laaja, että harva hallitsee kaikkea, eikä kaikkien tietysti tarvitsekaan hallita kaikkea. Tunnustankin näin julkisesti, yksi akilleen kantapäistäni tällä hetkellä on DevOps. Kuuminta hottia, mutta itselle täysin harmaa alue.

Dockerit, Microservicet, REST Apit, Swaggerit, CI/CD pipelinet – kaikki termeinä tuttuja. DevOps on vahvasti läsnä töissä, ei kuitenkaan omalla työpöydälläni ja siksipä se tietysti epäselvää onkin. Vedän sujuvasti projekteja joissa nämä kaikki on olemassa, mutta olen autuaan pihalla miten. Rehellisyyden nimessä on toki sanottava, ettei Wapicella projektipäällikön tarvitsekaan osata DevOps-käytäntöjä, ison yrityksen etuna on osaavat työntekijät, jokainen osaa jotakin ja yhdessä toisia täydentäen asiat onnistuu. Seuraan mielenkiinnolla kollegoitteni kertomuksia DevOpsista, miten se helpottaa työtä, nopeuttaa julkaisuja, suoraviivaistaa asioita. Näen laatuauditoinneissa näitä käytössä, aidosti vaikutun. Ymmärrän, mutta kuitenkaan en ymmärrä.

No mikäs neuvoksi? Olisiko vastaus elinikäisessä oppimisessa, asioista selvän ottamisessa? Tuumasta toimeen. Näinpä ilmoittauduin tälle syksylle Ciscon DevNet Associate Instructor training-kurssille ihan puhtaasti mielenkiinnosta, oman osaamisen päivittämisen ja aiheen ajankohtaisuuden vuoksi. Eikä sitä toki tiedä, josko pääsisin kurssista läpikin ja voisin tulevaisuudessa opettaa sitä meillä VAMK:lla. Suuria suunnitelmia! Ainakin voin sivistän itseäni ja viisastella aiheesta sujuvasti kahvitunneilla jollei muuta.

Kurssilla on etäluentoja 12 viikon ajan, 1,5 tuntia viikossa. Riittääkö että käy vain siellä kuuntelemassa ja tekemässä opettajan ohjauksessa? Ei todellakaan riitä. Ensimmäinen oppi ja muistutus myös opiskelijoille! Pelkkä tunnilla käyminen ja siellä osittain kuunteleminen samalla kun pelaat/snäppäät/surffaat ei riitä. Oppiminen vaatii aidosti työtä, työtä ja työtä. Koodaaminen vaatii koodin kirjoittamista, yrittämistä, erehtymistä, korjaamista, kirjoittamista ja lopulta – kun huomaat onnistuneesi ja ratkaisseesi tehtävän, se on mahtava tunne! Suosittelen kaikkia kokeilemaan edes kerran.

Ensimmäinen kompastuskivi tuli ohjelmointikielen osalta – kurssilla koodataan Pythonilla. Itsellä tausta vain Javasta ja Javascriptistä, opiskeluajoilta 20v takaa perusteet C/C++. Olen koko työurani väittänyt että kieli kun kieli, kun osaat yhden kunnolla, niin muutkin on helposti otettavissa haltuun. Syntaksi ja rakennehan siinä vain vaihtuu, mutta perusperiaate pysyy samana. Logiikka ei muutu mihinkään. Ja nyt olen taas siinä tilanteessa että on testattava pitääkö väite paikkaansa. Näin viiden viikon jälkeen M.O.T, ja olen edelleen samaa mieltä. Samalla jaan kyllä myös opiskelijoideni tuskaa siitä miten aina pitää muistella miten joku asia nyt tällä kielellä kirjoitettiinkaan. Pythonissa on ihan omanlainen, välillä tuntuu että hölmökin syntaksi. Funktion sisältö määritetään tabulointien ja kaksoispisteen avulla, voi miten kaipaan selkeitä aaltosulkeita määrittämään sisältöä. Mutta yrityksen ja erehdyksen kautta. Pari iltaa Pythonilla ja taas saa tunnilla hetken hakea, mitenkäs nämä syntaksit Javascriptissä menevätkään. Ainakin pysyy mieli virkeänä. No takaisin sinne Devopsin maailmaan. Mitä se DevOps siis ihan oikeasti on?  DevOps tulee sanoista Development and Operations. Itewikin mukaan ”DevOps on digitaalisten palveluiden kehitys- ja tuotantomalli, jonka periaatteita ovat ketterä kehitys, jatkuva integraatio (continuous integration) ja jatkuva toimitus (continuous delivery). Lisäksi keskeistä on automatisoitu testaaminen ja ympäristöjen automatisoitu konfiguraatio”. DevOps on siis toimintamalli, joka pyrkii automatisoimaan ohjelmistokehitykseen, testaamiseen ja ylläpitoon liittyvät rutiinitoimet projekteissa. Tähän mennessä olen kurssilla nähnyt lukemattomia esimerkkejä REST-kutsuista, puhunut vanhaa tuttua jsonia ja opetellut yamlia, tutustunut curliin, vahvistanut gitin käyttöä, saanut kokeilla yksikkötestien tekemistä, nähnyt pintaraapaisun micro serviceistä, oppinut että HTTP error 418 tarkoittaa I’m a teapot, olen siis teepannu ja monta monta uutta ja mielenkiintoista asiaa. Ihan näillä tiedoilla ei vielä pärjää projekteissa, mutta jostainhan on aloitettava! Kuten sanottu, viisi viikkoa takana, seitsemän edessä. Minä tiedän mitä teen joululomalla, tiedätkö sinä? Puhutaanko ensi vuonna yhdessä DevOpsia?