Tekoälyn hyödyntäminen pilvipalveluiden optimoinnissa – AI ja FinOps

Pilvipalveluiden kustannustehokkuus on merkittävä tekijä yrityksille ja muille organisaatioille, jotka siirtyvät yhä enemmän pilvipohjaisiin ratkaisuihin. Kustannusten hallinta ja optimointi ovat avainasemassa, kun pyritään varmistamaan, että investoinnit pilviteknologiaan tuottavat toivotun kaltaisia tuloksia.
Kustannusten hallinta keskeisenä teemana
Tuoreiden tutkimusten perusteella pilvipalveluiden kustannusten hallinta (FinOps) ohitti tietoturvan merkittävimmäksi koettuna pilvipalveluiden käyttöön kohdistuvana haasteena1.
Netum on panostanut vahvasti sekä tekoälyratkaisuihin että pilvipalveluiden kustannustehokkaaseen hallintaan tuottaakseen parhaan mahdollisen arvon asiakkailleen. Netum on virallinen AWS-yhteistyökumppani ja osallistunut yhteiskunnallisesti merkittävien AWS-alustalle kehitettyjen ratkaisujen toteutukseen. Netumin asiantuntijat osallistuivat hiljattain pohjoismaiden AWS Stockholm Summit 2024 -pilvipalvelutapahtumaan ja valtionhallinnon päätapahtumaan Valtio Expoon, joista jälkimmäisessä esittelimme näkemyksiämme pilvipalveluiden kustannustenhallinnan erityispiirteistä julkisen sektorin hankkeissa. Erilaiset tekoälyratkaisut ja FinOps olivat keskeinen teema useissa AWS Summit -tapahtumassa pidetyissä esityksissä ja työpajoissa. Tapahtumassa esiteltiin tuoreita case-ratkaisuja, joita osallistujat voivat sen jälkeen muokata omiin projekteihinsa asiakkaidensa tarpeiden mukaisesti.
Oikealla mitoituksella merkittävimmät kustannussäästöt
Kokemus ja tutkimukset viittaavat siihen, että virtuaalipalvelimet ovat usein työkuormaan nähden ylimitoitettuja ja merkittävä osa kapasiteetista menee hukkaan. Esimerkiksi Cast AI on tutkimuksessaan päätynyt siihen, että julkipilvipalveluissa keskimääräinen palvelimen prosessorikuorma olisi vain 13%2. Koska suurin osa pilvipalveluiden kustannuksista muodostuu edelleen virtuaalipalvelimista ja palvelimen hinta määräytyy useimmiten suoraan sen koon perusteella, palvelimien mitoitus oikein mahdollistaa useimmiten myös merkittävimmät kustannussäästöt. Netumin asiantuntijat arvioivat parhaillaan tekoälyratkaisun käyttöä virtuaalipalvelinten mitoituksen arvioinnissa ja sen mahdollisuuksia alentaa asiakkaiden pilvipalveluiden käytöstä aiheutuvia kustannuksia.
Pilvi-infrastruktuuri koodina
Yleinen käytäntö pilvipalveluiden toteutuksessa on jo pitkään ollut pilvi-infrastruktuurin määrittely ohjelmakoodina. Koodina konfiguroidaan esimerkiksi virtuaalipalvelimet ja erilaiset verkkokomponentit. Pilvi-infrastruktuuri luodaan ja sitä hallinnoidaan siten pitkälti samaan tapaan kuin sovellukset. Tämä infrastruktuuri koodina -lähestymistapa (Infrastructure as a Code, IaC) on edellytyksenä myös AWS Summit Stockholm 2024 -tapahtumassa esitellylle esimerkkiratkaisulle, jossa AWS CloudFormation -työkalua käyttävän AWS infrastruktuurin muutosten arviointiin käytettiin teköälyratkaisua3. Kuten sovelluskehityksessäkin, pilvikehittäjät tekevät pilviresursseja koskevat muutokset GitHub-palveluun sijoitettuun lähdekoodiin ja tekevät muutoksista pull request -pyynnön, joka vastuuttaa toisen kehittäjän katselmoimaan ja hyväksymään muutokset. Vasta hyväksytyn katselmoinnin jälkeen muutos voidaan viedä eteenpäin eri ympäristöihin.
Yksi pilvipalveluiden kustannusten näkökulmasta erityisen merkittävä esimerkki infrastruktuuria koskevasta koodimuutoksesta on virtuaalipalvelimen koon kasvattaminen. Vertaiskatselmoinnin lisäksi koodimuutokset analysoidaan Anthropic Claude-3-Sonnet -tekoälymallin avulla. Malli käyttää muutoksia arvioidessaan apuna metriikkaa, kuten palvelimen historiallista prosessorikäyttöä, päätelläkseen sen, ovatko ehdotetut muutokset kustannustehokkaita. GitHub-palveluun palautetaan vertaiskatselun tekevälle henkilölle pull request -pyynnön yhteyteen päätöksenteon tueksi kommentti, joka kertoo tekoälyn suorittaman analyysin lopputuloksen.
Tekoälyn turvin kohti älykkäämpää ja tehokkaampaa pilvipalveluiden käyttöä
Netum soveltaa kuvatun ratkaisun menetelmiä palveluidensa jatkuvassa kehityksessä tavoitteenaan tarjota asiakkailleen entistä kustannustehokkaammin toimivat pilvialustaratkaisut. Ratkaisu tarjoaa perustan pilvialustan kehitystä tai ylläpitoa koskevien GitHub pull requestien varmentamiseen ja perusarkkitehtuuriin. Yksi jatkossa ratkaistavia seikkoja on se, että YAML- tai JSON-muodossa kirjoitettavan AWS CloudFormation -koodin käyttäminen pilvi-infrastruktuurin määrittelyssä ainakin sellaisenaan on vähenemään päin, ja ratkaisun soveltaminen edellyttää siksi jatkokehitystä. CloudFormationin sijaan suositaan aidoilla ohjelmointikielillä toteuttavia ratkaisuja, joista esimerkkejä ovat Pulumi ja CDK. Huomioitava on myös Terraform, jolla on kokonaan oman HCL-syntaksinsa.
Yksityiskohtina edellisten vuoksi muokkausta vaativat ainakin tekoälyn promptaus (kehotteiden kirjoittaminen), millä kerrotaan tekoälylle, mitä sen halutaan tekevän. Tutkintaa vaatii lisäksi se, miten tekoäly suoriutuu muutosten tunnistamisesta mainittujen muiden IaC-työkalujen tapauksessa. Käytännön ratkaistava seikka on myös palvelimen id-tunnisteen noutaminen historiallista prosessorikäyttöä koskeviin kutsuihin, mikä vaatii muutoksia erityisesti Pulumin ja Terraformin tapauksissa, koska ne eivät käytä AWS CloudFormationia pilvipalveluiden tilan hallinnointiin.
Kuvattu lähestymistapa ei ainoastaan säästä aikaa ja resursseja, vaan myös edistää läpinäkyvyyttä ja perusteltuja päätöksiä pilvi-infrastruktuurin muutoksissa. Se osoittaa, kuinka tekoäly ja automatisoidut työkalut voivat parantaa pilvipalveluiden kustannustehokkuutta, mikä on erityisen hyödyllistä IaC-menetelmiä käyttäville kehittäjille. Tämä on tärkeä askel kohti älykkäämpää ja kustannustehokkaampaa pilvipalveluiden käyttöä.