Palvelut pilvessä, so what? Osa 1/2

Otsikon reaktion olen lukenut rivien välistä useita kertoja, enkä ihmettele. Onhan pilveä, virtualisointia, singlesignonnia, Saassia, Paassia jne. tuputettu viime vuosina yhä useampien ohjelmien ja jopa joidenkin laitteiden, kuten älypuhelimien ja chromebookkien, myyntivalttina. Ymmärrän hyvin hengästyksen määrän, kun vielä hetki sitten puhuttiin vain palvelimista ja ohjelmista.

Tavoitteenani tässä blogipäivityksessä olisikin avata tätä mysteerihattaraa niille, jotka eivät ymmärrettävästi ole aivan kelkassa siitä, mitä pilvi itseasiassa on ja miksi siitä pitäisi välittää. Päätin aloittaa kertomalla mitä se ei ole. Pyrin pitämään tekniset yksityiskohdat minimissä, vaikka niiden viljely “hieman” ammattisairaus onkin.


Mitä pilvi ei ole

Pilvi ei ole oman tietokoneesi kiintolevy, ulkoinen tai sisäinen. Pilvi ei ole yrityksesi intranetissä toimivan palvelimen kiintolevy eikä siellä sijaitseva sovellus vaikka sitä useat käyttäjät pystyisivät samanaikaisesti ajamaan.

Tässä saattaa herätä kysymys, “jos vuokraan esimerkiksi Microsoftin tarjoamasta Azuresta tai Amazonin Cloudista palvelimen ja pyöritän ohjelmaani siellä, miksi se sitten lasketaan pilvipalveluksi, mutta näennäisesti täysin samalla tavalla yritykseni sisäiselle palvelimelle asennettu ohjelma ei ole?” Vastaus tähän on, että pilvipalveluntarjoajalta vuokrattu palvelin on kolmannen osapuolen tarjoama virtualisoitu palvelin. Mielestäni ei ole ollenkaan väärin sanoa pilviohjelmistoa internetohjelmaksi. Mutta miksi kolmannen osapuolen? Ja mikä ihmeen virtualisointi? Jatketaan.

Virtualisointi

Virtualisointi tarkoittaa sitä, että käytetään massiivinen määrä palvelimia ja niiden suorituskykyä jotta käyttäjälle voitaisiin luoda ympäristö, jonka suoritusteho skaalautuu käyttöasteen perusteella ja on aina ylhäällä. Vuokraamasi pilvipalvelin saattaakin olla oikeasti kolmen tehomyllyn yhteistyö, jotka pitävät yllä sinulle välittyvää kuvaa yhdestä palvelimesta. Mitä tällä “feikkauksella” sitten saavutetaan? Pari asiaa nyt ainakin:

Toiminnan varmuus. Jos yksikin näistä esimerkkimyllyistä – vaikkapa Microsoftin puolella kaatuu – niin eipä hätää, sillä taustalla pyörii tuhansia koneita ja automatiikka tekee heti korjausliikkeen saadakseen tarvittavat tehot ja tallennustilat toiselta sisarkoneelta. Oma virtuaalipalvelimesi ei edes yskäise, saati vaadi uudelleenkäynnistystä.

Skaalautuvuus. Jos palvelusi laajenee käyttöasteeltaan, ominaisuuksiltaan tai tallennuskapasiteetin tarpeen tiimoilta, edellä mainittu automatiikka hoitaa sen. Täydessä hiljaisuudessa taustalla voidaan ottaa neljäs kone avuksi.

Kolmannen osapuolen palvelimet

Pilvi siis tarkoittaa sitä, että altistat tai jopa luovutat sovellustesi fyysisen hallinnan kolmannelle osapuolelle. Tämä asettaa tietysti rajoitteita todella arkaluontoisen datan suhteen, jonka vuoksi tämä täytyy aina pitää mielessä pilven kanssa toimivien sovellusten suunnittelussa. Onneksi pilveä on helppo hyödyntää myös vain osittain, jopa pelkkien ohjauskomentojen välittämiseen ohjelmien välillä ilman että datatietokannasta lähtee yhtään minnekään intranetistä.

Vaihtoehtona on myöskin oman private cloudin pystyttäminen, jolloin kolmas osapuoli toteutuu yksinkertaisesti yrityksen omalla eristetyllä laitteistolla.

Toinen mahdollinen harkinnan paikka on se, että pilvipalvelujen käyttäminen edellyttää internet-yhteyttä. Tosin melkein jokainen perinteinenkin sovellus nykyaikana tätä vaatii, oli se sitten identiteetin varmennuksen tai datan liikuteltavuuden vuoksi.

Tämä voi muutenkin äkkiseltään tuntua oudolta, mutta miksi ihmeessä haluaisimme ylimääräisen lenkin sovellusten ja datan välille? Itseasiassa tämä heikkoudelta kuulostava ominaisuus onkin pilvipalvelujen ehkä suurin vahvuus. Heitetäänpäs pari tarkastelun arvoista plussaa:

  • Ei fyysisiä laitteita, joita pitäisi huoltaa, päivittää ja kantaa pelkoa sähkökatkoksista ynnä muista ympäristöhazardeista.
  • Varmuuskopiot. Myös pilvipalveluntarjoajan kontolla. Et tarvitse valtavia kiintolevyjä niiden säilömiseen eikä huolta niiden katoamisesta.
  • Uusien laitteiden lisääminen nopeaa. Tarvitsetko uuden palvelimen käyttöösi? Klik, klik. Valmis.
  • Yhteensopivuus. Mielestäni kutkuttava mahdollisuus integraatioissa on se, että erilaiset ohjelmistot voitaisiinkin integroida aina pilveä vasten, eikä staattisesti vastassa olevan rajapinnan ehdoilla. Tällöin vuorovaikuttajien rajapinta- tai laitteistomuutokset eivät mm. vaadi muilta osapuolilta toimenpiteitä.
  • Yleisesti voisi sanoa, että käyttäjällä on vähemmän huolta kannettavana.

Teknisiin yksityiskohtiin lupasin olla menemättä, joten omasta vinkkelistäni mainittakoon, että pilveä vasten kehittäessä, integroitaessa tai ylläpidettäessä karsiutuu monta menetelmien, laitteistojen ja sovellusloogiikan eroista johtuvaa ongelmaa.

Seuraavassa blogikirjoituksessani tulen avaamaan hieman lyhenneviidakkoa ja mitä eroa näillä kaikilla saasseilla ja paasseilla oikein on. Pysy kuulolla.


Kirjoittaja: Ernesto Koskinen

Sovelluskehittäjä. EmCeläinen 2014 elokuusta lähtien. Ohjelmistotekniikan lisäksi harrastelukuaineina fysiikka ja avaruus. Voi myös tiukan paikan tullen tarttua kitaraan ja bassoon.