Serveritöntä verkkopalveluiden pystytystä ja ylläpitoa Cloudflarella

Kun verkossa halutaan tarjota ja ylläpitää sujuvaa palvelua, on muistettava, että palvelinten pyörittämisestä koituu yleensä kuukausittaisia kuluja. Yrityksille aktiivisten virtuaalikonepalvelimien pyöritys on yksityishenkilöihin verrattuna edullisempaa – jossain vaiheessa saattaa kuitenkin olla kannattavaa pysähtyä miettimään, voisiko omaa verkkosivustoa pyörittää vieläkin kustannustehokkaammin ja helpommin. 

Yhdysvaltalainen Cloudflare on reititys- ja sisällönjakelupalveluita pitkään tuottanut yritys, joka tarjoaa asiakkailleen maailmanlaajuisesti esimerkiksi verkkoreititystä ja palvelimia toimintansa ylläpitoon. Yritys on kuitenkin vallannut muutaman viime vuoden aikana tilaa myös DevOpsin eli yleistettynä automatisoidun IT-palveluiden pystyttämisen ja ylläpidon alueelta. 

Cloudflaren tarjoaman palvelumallin avulla verkkosivustoja ja niiden eri kerrosten toiminnallisuuksia, kuten käyttöliittymiä ja rajapintoja, voidaan pitää toiminnassa ilman omaa ja jatkuvasti käynnissä olevaa palvelinta. 

Lähtökohtana käyttäjäystävällisyys ja edullisuus

Cloudflaren keskeinen ero palvelimia vuokraaviin palveluntarjoajiin on ns. serverless-palvelumalli, jossa esimerkiksi verkkosivusto ei siis hyödynnä aktiivista ja jatkuvasti käynnissä olevaa serveriä, vaan alusta ylläpitää toimintoja, jotka aktivoituvat, kun niitä tarvitaan, ja sammuvat käytön jälkeen. 

Alusta on käyttäjälleen ilmainen tiettyyn pisteeseen asti, koska se ei suoranaisesti perustu jatkuvasti käyttäjälleen varattuna oleviin, palvelua pyörittäviin koneisiin. Huokeampi hinta syntyy siis siitä, että Cloudflaren ei tarvitse varata palvelulle omaa konetta, vaan palvelun ominaisuuksia suoritetaan vain tarvittaessa käyttäen jonkin sillä hetkellä vapaana olevan koneen resursseja. 

Esimerkiksi Google ja Amazon tarjoavat samantyyppisiä serverittömiä palveluita, mutta ne ovat maksullisia tai vaativat ainakin tilauksen käyttöä varten, vaikka saattavatkin olla alussa ilmaisia. Cloudflaren palvelutarjonta onkin siinä mielessä edellä mainittuja tarjoajia käyttäjäystävällisempi. Mikäli käyttäjä haluaa käyttää vain ilmaista palvelua ja maksullisen toiminnan raja ylittyy, palvelu vain sammuu sen sijaan, että sen käyttö siirtyisi käyttäjän huomaamatta automaattisesti maksulliseen versioon. Ilmaisen palvelun käyttörajat kuitenkin riittävät hyvin pienen käyttäjäkunnan palveluihin.

Kokonaisvaltainen tarjonta verkkopalvelun pyörittämiseen

Mitä muita hyötyjä Cloudflare tarjoaa edullisen tai jopa ilmaisen hinnan lisäksi?

  • Pages-alustalla sivuston pystytys onnistuu minuuteissa

Sujuvan sivuston pystyttämisen mahdollistaa Cloudflaren alusta Pages. Jos käyttäjällä on säilössä käynnistettävä ja käytännössä valmis projekti, Pagesiin voidaan vain ilmoittaa projektin koodien sijainti sekä komento, jolla projekti lähtee käyntiin. Näin yksinkertaisesti sivusto on pystyssä viidessä minuutissa.

Pagesin ansiosta verkkopalveluiden pystyttäminen ja ns. continuous deployment eli jatkuva käyttöönotto ovat äärimmäisen helppoja toteuttaa. Näin esimerkiksi React-pohjaisen verkkosivun pystyttäminen on alustalle todella vaivatonta – React-verkkosivu voidaan helposti toteuttaa ns. staattisena sivuna, jolloin se ei tarvitse taustalleen palvelinta toimiakseen.

Alustan avulla hoidetaan siis käyttäjän puolesta kaikki käyttöönoton taustalla tapahtuva säätäminen, jota käyttäjän ei tarvitse osatakaan yksinkertaisessa sovelluksessa. Palvelu on siis erinomainen ratkaisu, mikäli käyttäjä haluaa saada sivustonsa helposti ja nopeasti pystyyn.

Cloudflaren palvelutarjonta mahdollistaa myös palvelinpuolen toiminnallisuuksien tukemisen. Yrityksen Workers-tuotteen avulla voidaan luoda Javascript-pohjaisia serverless-palveluita, joita suoritetaan vain, kun palvelu vastaanottaa liikennettä. Koodit ovat hyvin integroituja Pagesin kanssa, eli ne on helppo yhdistää toisiinsa ja toimivat saumattomasti yhdessä. 

  • Workers ja ympäri maailmaa leviävä data

Workersin ja Cloudflaren palvelukokonaisuuden etuna yleisesti on myös se, palvelut ovat äärimmäisen skaalautuvia. Tämä johtuu siitä, että yrityksellä on todella mittava määrä servereitä ympäri maailmaa. Maailmanlaajuisesti sijoitettujen, ns. edge-servereiden eli reunapalvelimien avulla palvelut sijoittuvat lähelle käyttäjiä. Reunapalvelimet yhdistyvät jatkuvaan käyttöönottoon niin, että koodi jakautuu automaattisesti palvelimille lyhyen ajan kuluessa. Käyttäjällä on siis palvelut aina saatavillaan, mutta koodi ei ole vain yhdellä palvelimella tietyssä paikassa jumissa vaan maailmanlaajuisesti saatavilla. 

Jos haluttaisiin ottaa vaikkapa Mikkelistä yhteys johonkin alkuperältään maantieteellisesti kaukaiseen palveluun, signaalin vastaanottava ja siihen vastaamaan kykenevä palvelin löytyy hyvinkin varmasti jopa samasta tai viimeistään viereisestä kaupungista. Servereiden runsauden takia käyttäjä saa siis aina nopean yhteyden ja vastauksen.

  • Workers KV mahdollistaa datan kätevän hyödyntämisen

Palvelintoimintojen ja sivustojen sekä käyttöliittymien lisäksi Cloudflare tuo oman hyötynsä myös tietovarantojen käyttöön. Tietovarantoja varten on olemassa Cloudflare Workers KV (Key-Value), tietokanta, joka toimii Workersin periaatteella. Ajatus on siinä, että myös kaikki tallennettava data pyörii reunapalvelimilla ja on ympäri maailmaa käytettävissä ja siten nopeasti hyödynnettävissä. Tietoa ei siis tarvitse hakea kaukaa pääpalvelimelta, vaan tarvittava data löytyy aina läheltä. 

Workers KV sopii monen tyyppisiin toteutuksiin, mutta ei kaikkiin; käytettävä data päivittyy vähän hitaammin, eli koska datasta on kopioita jaettuna ympäri maailmaa, päivittyneen version siirtyminen kaikille palvelimille kestää aikaa maksimissaan minuutin. Tästä syystä tuote ei sovellu kovin hyvin usean henkilön reaaliaikaiseen käyttöön, jossa useiden käyttäjien pitäisi editoida samaa datakokonaisuutta yhtä aikaa. 

Kuitenkin esimerkiksi normaalin verkkosivun pyörittämiseen palvelu sopii hienosti. Normaaleilla ja suhteellisen yksinkertaisilla verkkosivuilla sisällöt eivät yleensä vaihdu kovinkaan usein, ja jos vaihtuvat, niitä vaihtamassa on yleensä vain yksi henkilö. Koska data ei vaadi usein tapahtuvia muutoksia, se voidaan jakaa verkkoon ympäri maailmaa ja tarjota sen avulla mahdollisimman nopea saatavuus. 

Cloudflaren ehdottomana etuna on siis se, että palvelut ovat kaikkiaan todella sujuvia ja vievät vain minimaalisesti aikaa. Verkkosivut vastaavat käyttäjälleen todella ripeästi, minkä vuoksi niitä on myös aidosti mukavampi käyttää. 

Kohderyhmänä etenkin rajatun skaalan toteutukset

Serveritön palvelumalli ei sinänsä ole uusi ilmiö vaan itse asiassa keksintönä suhteellisen vanha. Malli on kuitenkin ollut aiemmin nykyistä huomattavasti pienimuotoisemmassa käytössä, sillä se ei sovellu aivan kaikkien yritysten tarpeisiin ja toimintamalleihin. 

Jos käyttäjän on vaikkapa tarkoitus säilyttää joitakin oleellisia asioita välimuistissa, sitä ei voi tehdä serverittömällä alustalla, joka ottaa hoitaakseen ainoastaan yksittäisen toimeksiannon ja käytön jälkeen hylkää kaiken siihen liittyvän sisällön. Juoksevassa eli aktiivisesti käynnissä olevassa palvelussa on siis toki puolensa: välimuisti on erinomainen tapa säilyttää palvelun pyörittämiseen tarvittavaa dataa.

On siis toki olemassa paljonkin yrityksiä ja palveluita, jotka ovat sen verran laajoja kokonaisuuksia ja vaativat sellaisia ominaisuuksia, ettei Cloudflare sovellu palvelemaan niitä vaihtoehdoista parhaiten. Kuitenkin, jos on tarve esimerkiksi suhteellisen yksinkertaiselle verkkosivulle tai vaikkapa palvelun hallintaan suunnitellulle käyttöliittymälle, Cloudflare on todella hyvä ratkaisu – etenkin, jos sivustoa käyttää vain harva ihminen tai jokaiselle käyttäjälle on oma datakokonaisuutensa ilman edellytyksiä päällekkäiseen muokkaukseen.  

Serverittömät palvelut skaalautuvat kuitenkin todella tehokkaasti, minkä ansiosta ne soveltuvat hyvinkin monenlaisiin toteutuksiin. Ongelmia alkaa tulla vasta, mikäli palvelut tarvitsevat jatkuvasti tai epäsäännöllisesti suoritettavia toimintoja, jotka eivät välttämättä aiheudu suoraan ulkoa päin tulevasta liikenteestä. Hyvä esimerkki tällaisesta on esimerkiksi sessiopohjainen pääsynhallintapalvelu. 

Cloudflare Metatavulla

Cloudflare on helpottanut toimintaamme huomattavasti sekä tuonut nopeampia ja kustannustehokkaampia ratkaisuja verkkopalveluiden kehittämiseen.

Metatavulla käytetään tällä hetkellä todella paljon Pagesia, ja lähtökohtaisesti kaikki käyttöliittymät pystytetään kyseiselle alustalle. Koska kaikki käyttöliittymämme ovat React-pohjaisia, ne soveltuvat Pagesille erinomaisesti. Myös Workersin lisääminen repertuaariimme on tähtäimessä.

Palveluiden pystyttäminen on alustan avulla jouhevampaa, eli pystyttäminen ei vaadi meiltä juurikaan muokkaamista tai sen vahtimista, että tietyt asiat menevät täsmälleen oikein. Koska kaikki pystyttämiseen vaadittava tekninen säätö hoidetaan automatisoidusti Cloudflaren päässä, meidän täytyy vain osoittaa heille pystytettäväksi toivomamme sivusto tai käyttöliittymä. Menettely on siis nopea, tehokas ja vaivaton.


Automatisaation myötä Cloudflaren käyttö on suorassa yhteydessä ylläpitokuluihin, eli palvelun ylläpito on vain yksinkertaisesti halvempaa: ensinnäkin palvelun eteen ei tarvitse tehdä niin paljoa ylläpitotyötä, ja koska palvelu säästää meiltä kuluja, se on edullisempaa myös asiakkaallemme.