Konttiteknologiat ohjelmistokehityksen apuna

 
Rakettitiede konttiteknologiat
 
 

Kontit tarjoavat omaa konesalia enemmän vaihtoehtoja palvelinresurssien mukauttamiseen ja tarkkaan hyödyntämiseen. Rakettitieteilijät Veli-Pekka Kestilä (#35) ja Joonas Muhonen (#6) kertovat Ite wikin haastattelussa konttien hyödyistä ja kumoavat yleisimmät harhaluulot. Lue koko juttu alta, alkuperäinen ilmestyi täällä.

Hiljattain julkaistu Flexeran State of the Cloud 2021 -raportti kertoo yritysten kiinnostuksesta konttiteknologioiden käytön lisäämiseen. Ensimmäiset askeleet on jo otettu. Suomessakin konttien hyödyntäminen on yleistynyt viime vuosina niin kiivaasti, että suurin hypetys niiden ympärillä on voitu lopettaa, kertoo Rakettitieteen konsultti Joonas Muhonen.

“Aiemmin konteista puhuttiin alan medioissa enemmän, sillä niiden käyttö ei ollut näin yleistä. Viime vuosina kontit ovat arkipäiväistyneet sitä tahtia, että ylimääräinen markkinointipuhe on voitu lopettaa. Itse olen ollut samalla asiakkaalla töissä neljä vuotta. Siellä kaikki kehitys ja ylläpito projekteissa, joissa olen mukana, tehdään konteilla.”

Samaa kertoo Muhosen kollega Veli-Pekka Kestilä. Hänenkin nykyinen asiakkaansa luottaa kontteihin kaikessa uudessa tekemisessä. Kestilän mukaan hiukan kinkkisempiä ovat esimerkiksi vanhimmat toiminnanohjausjärjestelmät, jotka eivät taivu kontteihin yhtä näppärästi kuin uudemmat sovellukset.

Kaksikko on ennen haastattelua pohtinut sopivan tiivistä määritelmää termille konttiteknologia

“Lyhyesti ja ytimekkäästi sanottuna kontit ovat tapa paketoida sovellus ja sen ajoympäristö eli käyttöjärjestelmä yhteen”, Muhonen sanoo.

Hiukan laajemmassa määritelmässä kerrotaan lisäksi, että konttiteknologian avulla luodaan standardoitu ympäristö, jossa sovellusten ajaminen, ylläpito ja kehittäminen tapahtuu.

Moni on voinut törmätä vertaukseen logistiikkakonttien kanssa. Usein konttiteknologioita käsittelevät artikkelit kuvitetaan rahtilaivojen kyydissä seilaavilla konteilla. Kestilän ja Muhosen mukaan yhteys on lähinnä siinä, että molemmissa tapauksissa kontit ovat “vakiintuneita paketteja”.

Muhonen sanoo Dockerin olevan tällä hetkellä yleisin konttien ajoympäristö. Toinen suosittu on alun perin Googlen kehittämä Kubernetes.

“Dockerilla voi tehdä kontteja ja ajaa niitä. Kubernetes taas on ympäristö useamman kontin ajamiseen eli sillä voi ajaa muitakin kuin Dockerilla tehtyjä kontteja. Lisäksi se tarjoaa palvelukerroksen, skaalautumistyökalut sekä resurssienhallintaan liittyvät ominaisuudet. Useimmiten Kubernetes-palvelu ostetaan pilvipalvelun tarjoajalta, mutta kubernetesta voi ajaa myös omassa konesalissa, jos tykkää haasteista”, hän kertoo.

Konttiteknologiat eivät poista työnteon tarvetta

Muhosen mukaan yritykset pyrkivät eroon omista konesaleistaan lähinnä tehostakseen työtään.

“Näitä teknologioita otetaan käyttöön pilviympäristössä sen takia, että halutaan yksinkertaistaa omaa työtä ja siirtyä dynaamisempaan suuntaan. Kubernetes ja kontit tarjoavat omaa konesalia enemmän mahdollisuuksia palvelinresurssien skaalaamiseen ja tarkempaan hyödyntämiseen.”

Kestilä antaa esimerkin mahdollisista kustannussäästöistä.

“Perinteisessä konesaliratkaisussa suorituskykytestin ympäristö vaatii tuotannon verran palvelimia, jotka pahimmillaan odottavat tyhjinä testin aloitusta. Fiksussa pilviratkaisussa täysi testausympäristö on määriteltynä, mutta ilman ostettuja palvelinresursseja. Testin alkaessa testauksen vaatimat palvelimet vuokrataan palveluntarjoajalta ja testin lopuksi vuokraaminen lopetetaan. Oikein määriteltynä tämä pystytään tekemään nappia painamalla.”

Turhan usein yritykset kuitenkin erehtyvät luulemaan, että pilvimaailmaan siirtyminen on automaattinen tie rahan säästöön tai kevyisiin työpäiviin. 

“Työn tekemisen tarve ei poistu pilveen siirtymällä. Konttiympäristöjä on edelleen ylläpidettävä ja niiden tietoturvallisuus on varmistettava”, Kestilä painottaa.

Konttien kanssa työskennellessä kaksikko on oppinut uudella tavalla arvostamaan perinteisissä konesaleissa tehtyä työtä.

“Pilvimaailmassa on valtavasti sudenkuoppia ja uusia haasteita, joihin voi törmätä. Aina kaikki ei ole yhtä kypsää kuin perinteisessä konesalissa. Eräässä isossa pilvisiirtymäprojektissa aiempi palveluntarjoaja oli tehnyt asiat konesalissa mallikkaasti. Siirtymän jälkeen tiimi on ollut tyytyväisempi, mutta heillä on ollut työläitäkin hetkiä. Matkan varrella on oppinut arvostamaan aiemmin tehtyjä töitä. Eivät konesaliympäristössä tehdyt ratkaisut ole automaattisesti huonoja”, Muhonen toteaa.

Kontit asteittain käyttöön

Serverless-ajattelu on tällä hetkellä muutenkin valtavirtaa. Muhonen korostaa, etteivät suosituimmat konttien ajoympäristöt ole “palvelimettomuuden” syvimmästä päästä. 

“Esimerkiksi Googlella on konttien ajoon Cloud Run -ympäristö, joka tekee konttien ajamisesta vielä Kubernetestakin yksinkertaisempaa. Palveluntarjoaja tekee osan töistä, jotka muuten jäävät asiakasyrityksen työntekijöiden omille harteille.”

Konttiteknologioiden käytön lisäämistä miettiville yrityksille Kestilällä on selvät terveiset. Hän toivoo yritysten varmistavan, että liikkeelle lähdetään riittävillä resursseilla.

“Ongelmia on varmimmin luvassa, jos liian pienellä osaamisella ja resursseilla tavoitellaan liian suuria asioita. Pilveen ja kontteihin voi siirtyä myös asteittain. Jos pilviloikka halutaan ottaa rytinällä, on parempi varmistaa riittävän osaamisen olemassaolo. Isoissa muutoksissa on aina riski, että joku kuvittelee teknologian olevan ihmekivi, jonka omistaja voi vain vierestä katsella mammonan satamista”, Kestilä päättää.