Enterprise-tason tietojärjestelmäarkkitehtuuri on muutosten kourissa. Jos aikaisemmin yritysarkkitehtuuri oli suunnaton ponnistus yrityksille, mahdollistavat nykyaikaiset pilvipalveluarkkitehtuurit innovatiivisen ja ennen kaikkea tehokkaan sovelluskehityksen. Fiksusti tehty vastuiden jakaminen (separation of concerns) on hyvä perusta koodipohjalle jota on helppo kehittää ja ylläpitää. Sovelluskehityksen näkökulmasta hyvin suunniteltu kokonaisarkkitehtuuri on modulaarinen; jokaisella palikalla on oma tehtävänsä, ja näitä palasia voidaan vaihtaa, korvata uusilla tai skaalata tarpeen mukaan.

Ambientia on hypännyt pilvipalvelukelkkaan yhdessä Red Hatin kanssa, ja toteuttanut useita verkkopalveluita OpenShift-alustan päälle. OpenShift mahdollistaa erilaiset arkkitehtuuriratkaisut, ja siirtyy heti tarvittaessa pois sovelluskehityksen tieltä niin, ettei alustan olemassaoloa tiedostakaan. Kaiken keskiössä ei siis ole infrastruktuuri vaan itse sovellus.

Sovellukset kontteihin

OpenShiftin peruselementteihin kuuluvat “kontit” (container). Kontit ovat eräänlaisia säiliöitä, joiden sisällä sovelluksia tai sen osia pyörii. Yhdessä kontissa voi olla esimerkiksi tietokanta, kun taas toinen kontti sisältää sovelluksen tietyn osakokonaisuuden tai yksinkertaisimmillaan mikropalveluarkkitehtuurille tyypillisen yksittäisen palvelun. Näitä kontteja voidaan tarpeen mukaan skaalata erikseen, eli antaa resurssiahneille palveluille käyttöön enemmän muistia ja prosessoriaikaa. Kontteja pystyy myös monistamaan, jonka avulla palvelun tiettyjä osia voidaan myös klusteroida tarpeen niin vaatiessa. Skaalaamista voidaan tehdä myös automaattisesti, jolloin tiettyjen raja-arvojen ylittyessä OpenShift polkaisee käyntiin uuden kontin, joka on pienellä varoitusajalla valmis auttamaan esimerkiksi ruuhkapiikin purkamisessa.

Konttien maailmassa on muutamia periaatteita mitkä on hyvä pitää muistissa. Etenkin niiden kertakäyttöisyys on asia joka on hyvä pitää mielessä; kun kontista luodaan uusi versio, se todellakin on täysin uusi. Vanha kontti heitetään roskiin. Tämä on otettava huomioon esimerkiksi tietokantojen kanssa, jossa tietokanta itsessään on tilallista dataa – sitä ei voida niin vain heittää pois. Tähän liittyen OpenShift tarjoaa erilliset pysyvät levyosiot, joissa itse tietokannan data sijaitsee.

Valitse parhaat päältä

OpenShift on hyvin agnostinen käytettyjen tekniikoiden suhteen, halutut teknologiat voi valita itse. Eikä kaiken tarvitse välttämättä edes pyöriä OpenShiftin päällä, vaan esimerkiksi käyttöliittymäkerros voidaan toteuttaa miten tahansa. Käyttöliittymä voi olla esimerkiksi Liferay-asennus tai vaikkapa mobiilisovellus, joka käyttää OpenShiftin päällä julkaistujen palvelujen tarjoamia rajapintoja esittäessään ja muokatessaan dataa.

Viimeisimpänä esimerkkinä toteuttamastamme modernimmasta arkkitehtuurista toimii Linnunmaa Lex Oy:lle uusittu lakiseurantapalvelu. Lakiseurantapalvelun arkkitehtuurin olennaisimmat osat ovat palvelun käyttöliittymän rakentamiseen ja käyttäjähallintaan käytettävä Liferay, sekä OpenShiftin päällä pyörivä lakiseurantasovellus. Liferay hoitaa sivuston pääsynhallinnan ja sivustorakenteen, sekä portletteina toteutetut käyttöliittymät. Nämä käyttöliittymät taas kommunikoivat OpenShiftin päällä toimivan Lex-sovelluksen kanssa, joka onkin palvelun ydin: sovellus, joka tuottaa yrityskohtaista lakiseurantadataa ja tarjoaa sitä eri rajapintojen yli käyttöliittymäkerrokselle. Toteutetun ratkaisun avulla taustapalvelua voidaan skaalata tarvittaessa raskaammallekin kuormalle. Tehdyn ratkaisun myötä lakiseurantaa varten voidaan toteuttaa käyttöliittymiä myös muille alustoille kuin Liferaylle. Tämän lisäksi myös itse sovellus voidaan monistaa helposti ja ennen kaikkea tietoturvallisesti uudeksi instanssiksi.

Kokemukset OpenShiftistä ovat olleet positiivisia. Kun yleiset sudenkuopat on kerran kohdattu, tuntuu palveluiden kehittäminen alustan päällä helpolta ja vaivattomalta. OpenShiftin avulla kehittäjät pääsevät keskittymään siihen mitä he parhaiten osaavat, eli koodaamiseen ja asiakkaan toiveiden täyttämiseen. Ja se puolestaan tekee projektityöstä kustannustehokkaampaa ja rutkasti älykkäämppää – asiakkaan hyväksi.

ambientia

Blogi