Valtiokonttori on ottanut ensimmäiset askeleet kohti tekoälyavusteista ohjelmistokehitystä eli AI DevOpsia. Organisaatiossa on otettu käyttöön ensimmäinen tekoälyagentti, joka tukee ohjelmistokehitystiimien arkea kahdella tavalla:
- Tehtävien kuvausten parantaminen Jirassa – agentti ehdottaa tarkennuksia ja selkeyttää työjonossa olevien työtehtävien määrittelyjä.
- Hyväksymistestausten luominen automaattisesti – jokaiselle uudelle käyttäjätarinalla tai kehitystehtävälle generoidaan valmiit hyväksymistestauksen tehtävät, mikä nopeuttaa testauksen käynnistämistä ja parantaa laatua.
Lisäksi olemme jo yli vuoden käyttäneet GitHub Copilottia koodaamisen apuna ja nyt käyttöön tulee GitHub copilot agent mode. Kokeilemme myös tekoälyagenttia automaattisessa hyväksymistestauksessa. Nämä ovat pieniä, mutta merkittäviä askelia, jotka osoittavat, kuinka tekoäly voi alkaa integroitua osaksi DevOps-prosessia. Ja tämä on vasta alkua.
DevOps on viime vuosikymmenen aikana noussut keskeiseksi toimintamalliksi ohjelmistokehityksessä. Sen avulla kehitys (Development) ja tuotantotoiminta (Operations) lähentyvät, jolloin ohjelmistojen toimitusnopeus ja laatu paranevat. Nyt olemme uuden vaiheen kynnyksellä: AI DevOps yhdistää DevOpsin periaatteet ja tekoälyn (Artificial Intelligence) voiman.
Miksi AI DevOps?
Perinteinen DevOps ratkaisi ongelmia, jotka liittyivät hitaaseen julkaisuun, ympäristön epävakauteen ja manuaalisiin prosesseihin. Silti nykyiset järjestelmät voivat olla monimutkaisia ja ne sisältävät tuhansia palveluita, vaativat jatkuvaa monitorointia, sisältävät valtavan määrän lokidataa ja aiheuttavat jatkuvasti hälytyksiä.
Tekoäly voi auttaa kehittämisessä, sillä se:
- nopeuttaa koodin tuottamista ja parantaa laatua,
- auttaa tehtävien kuvausten laadun parantamisessa,
- automatisoi testitapausten tekemisen ja suorittamisen,
- tunnistaa automaattisesti virheitä ja tekee korjausehdotuksia,
- automatisoi koko kehitysprosessia,
- ennakoi kapasiteetinhallinnassa tarvittavia muutoksia (skaalaus ennen ongelmaa),
- tukee turvallisuusanalyysissä, esimerkiksi CI/CD-putken automaattisessa haavoittuvuuksien skannauksessa tai testaa järjestelmää automaattisesti.
Chat-apuri, agentti ja luonnollinen kieli
Perinteisen ”koodaa, kokeile, erehdy, korjaa” -työn sijaan ohjelmistoa ja infraa voidaan ohjata keskustellen. Esimerkiksi yksinkertainen käsky voi tuottaa koodia, testata ja julkaista sen: “Tee suomi.fi-kirjautumisnappi ja ota käyttöön uusi versio QA-ympäristöön”. Tämä tekee DevOpsista saavutettavampaa myös muille kuin syvälle teknisiin työkaluihin perehtyneille.
Älykäs monitorointi ja hälytysten hallinta
Tekoäly kykenee yhdistämään eri lähteistä tulevan datan (loki, metriikat) ja havaitsemaan poikkeamat ennen kuin käyttäjä huomaa niitä. Tekoälymallit voivat ennustaa resurssitarpeita tai sovelluksen kuormitusta. Näin kapasiteettia voidaan lisätä tai vähentää dynaamisesti, kustannuksia säästäen ja suorituskykyongelmia välttäen. Enää ei tarvitse seurata hälytyksiä ja reagoida niihin jälkijättöisesti.
Testauksen ja laadunvarmistuksen automatisointi
Generatiivinen tekoäly voi tuottaa yksikkötestejä, simuloida käyttäjän toimintaa ja arvioida koodimuutosten riskejä. Tämä nopeuttaa kehitystä ja vähentää virheiden päätymistä tuotantoon.
Turvallisuus
Tekoäly voi tarkastaa konfiguraatioita, löytää riskialttiita riippuvuuksia ja analysoida CI/CD-putken tietoturvaheikkouksia. Se voi myös tehdä tietoturvatestauksia automaattisesti. Näin tietoturvasta tulee entistä enemmän sisäänrakennettu osa DevOpsia.
Myös haasteet syytä huomioida
AI DevOps ei ole pelkkää hypeä, sillä se tuo mukanaan myös uusia haasteita ratkaistavaksi. Voiko esimerkiksi luotuun koodiin ja sen laatuun luottaa? Jos kehittäjä luottaa liikaa tekoälyn tuottamaan koodiin, tuotantoon voi päätyä virheellisiä toiminnallisuuksia. Tarvitaan siis uudenlaista valvontaa ja testaamista. Väärä hälytys tai epäluotettava suositus voi aiheuttaa lisäongelmia. Tekoälyyn perustuvat järjestelmät on suojattava, etteivät hyökkääjät voi manipuloida niitä. Ihmisen rooli ei poistu kokonaan eikä automaatio poista tarvetta osaaville DevOps-ammattilaisille, vaan muuttaa heidän työnkuvaansa kohti valvontaa, päätöksentekoa ja tekoälyn ohjaamista.
AI DevOpsissa yhdistyy älykkyys, ketteryys ja tehokkuus
AI DevOps on seuraava evoluutiovaihe ohjelmistokehityksessä ja pilvioperaatioissa. Se ei ole vain trendisana, vaan käytännön mahdollisuus lisätä tehokkuutta, laatua ja nopeutta. Tulevaisuudessa DevOps-insinöörit eivät enää ainoastaan automatisoi, vaan he myös opettavat tekoälyä toimimaan yhdessä järjestelmien kanssa. Ne organisaatiot, jotka onnistuvat yhdistämään tekoälyn älykkyyden ja DevOpsin ketteryyden, tehostavat merkittävästi ohjelmistotuotantoa.