Cloudflare – suorituskykyä ja turvallisuutta sivustolle

Saamme paljon kyselyitä siitä, mitä ovat Cloudflare CDN ja lisäpalveluna myytävä Railgun. Monet myös pohtivat, mitä hyötyä niistä on sivustolle ja miten ne käytännössä toimivat.

Käymme tässä kirjoituksessa läpi, miksi ne sisältyvät jo oletuksena Zonerin WP-Cloud WordPress-optimoituun palveluun ja miten paljon ne testitulostemme mukaan nopeuttavat sivuston latausaikaa.

Mikä on Cloudflare?

Cloudflare on verkon suorituskykyyn ja turvallisuuteen erikoistunut yritys, joka on perustettu vuonna 2009. Sillä on yli 175 datakeskusta ympäri maailmaa, Suomen datakeskus sijaitsee Helsingissä. Cloudflaren ovat perustaneet Matthew Prince, Lee Holloway ja Michelle Zatly.

Käytännössä Cloudflaren nopeuttaa sivuja kansainvälisen sisällönjakoverkostonsa avulla. Se mahdollistaa sivuston sisällön tarjoamisen mahdollisimman lähellä sivuston kävijää. Cloudflare tarjoaa sivustolle myös parempaa turvallisuutta ja suojaa erilaisia hyökkäyksiä sekä roskaliikennettä vastaan.

Cloudflare nopeuttaa ja suojaa sivustoa

Cloudflare onkin panostanut siihen, että heidän turvallisuusjärjestelmänsä kehittyvät jatkuvasti. Järjestelmät oppivat koko ajan lisää eri hyökkäysmenetelmistä ja haittaliikenteen tunnistamisesta, jotta voivat tarjota parhaan mahdollisen suojan palveluitaan käyttäville sivustoille.

Cloudflaren käytön voi aloittaa ilmaiseksi, mutta maksupakettien avulla saa kattavampia palveluita. Maksupakettien avulla sivusto saa esimerkiksi monille eri julkaisujärjestelmille optimoidun sovellustason palomuurin ja monia sivustoa nopeuttavia teknologioita.

Ketkä käyttävät Cloudflarea?

Esimerkiksi Zonerin WP-Cloud-palvelussa on Cloudflaren CDN jo oletuksena kaikkien asikkaiden käytössä. Suosittelemme sen käyttöä, koska se sekä nopeuttaa että suojaa sivustoa. Lisäpalveluna on mahdollista tilata myös Railgun, joka nopeuttaa sivuston latautumista entisestään.

Cloudflarea käyttävät myös monet oman alansa johtavat toimijat, kuten esimerkiksi lentoyhtiö Norwegian, markkinoinnin automaatiojärjestelmä HubSpot, tikettijärjestelmä Zendeskin yli 125 000 asiakassivustoa ja pelaajien suosiossa oleva reaaliaikainen keskusteluohjelmisto Discord.

Sisällönjakoverkosto eli CDN

Cloudflaren sisällönjakoverkosto (Content Delivery Network, CDN) on maantieteellisesti hajautettu verkko, joka koostuu välityspalvelimista. Sen päätarkoitus on nopeuttaa sivuston tarjoamista kävijälle. Erilaisten CDN-palveluiden suosio on kasvanut jatkuvasti ja nykyään suurin osa verkkosivustoista palveleekin kävijöitä eri CDN:ien kautta.

Cloudflaren CDN:n on havaittu tehokkaasti vähentävän myös haitallista liikennettä ja tarjoavan suojaa erilaisia hyökkäyksiä vastaan. Sisällönjakoverkosto pyrkii tunnistamaan roskaliikenteen, esimerkiksi asiattomat robotit ja estämään niiden pääsyn sivulle. Se osaa kuitenkin päästää hyödylliset robotit edelleen sivustolle, kuten esimerkiksi sivuja analysoivat Googlen hakukonerobotit.

Miksi käyttää CDN:ää?

  1. Sivuston latausaikojen parantaminen – sivustot latautuvat kävijöille nopeammin, kun sisältö haetaan suoraan kävijää lähimpänä sijaitsevan CDN-palvelimen välimuistista.
  2. Enemmän kävijöitä pienemmillä resursseilla – CDN:n välimuistin ansioista sivusto pystyy käsittelemään suurempia kävijämääriä pienemmillä palvelin resursseilla.
  3. Turvallisuuden parantaminen – CDN tarjoaa lisää turvaa erilaisia hyökkäyksiä vastaan ja se suojaa tehokkaasti myös haitalliselta liikenteeltä.
Cloudflaren datakeskuksia on yli 175
Cloudflaren datakeskuksia on kaikkiaan yli 175 ympäri maailmaa.

Miten CDN toimii?

Käytännössä Cloudflaren CDN tallentaa välimuistiin (cache) sivuston käyttämiä staattisia resursseja, kuten metatiedostoja sekä sivuston teeman käyttämät tyyli- ja javascript-tiedostot. Tällöin ainoa sivuston alkuperäiseltä palvelimelta haettava tieto on generoidun sivuston lähdekoodi (HTML). Cloudflaren Railgun sen sijaan pystyy välimuistittamaan myös dynaamisia resursseja, eli esimerkiksi sivuston HTML-koodia.

Sisällönjakoverkosto myös poistaa kuormitusta sivuston alkuperäiseltä palvelimelta, joten se mahdollistaa isommat kävijämäärät jo pienemmilläkin palvelinresursseilla. Esimerkiksi Cloudflaren oman arvion mukaan kaksi kolmasosaa CDN:ää käyttävien sivustojen pyynnöistä voidaan tarjota suoraan välityspalvelimien välimuistista ilman Railgunia. Railgunin avulla myös tuo jäljelle jäävä kolmasosa saadaan tarjottua suoraan välimuistin kautta.

Cloudflare on sijoittanut palvelimensa myös verkkojen välisiin vaihtopisteisiin, vähentääkseen kustannuksia ja tiedon kuljetusaikoja. Internet-vaihtopisteet (Internet Exchange Points, IXP) ovat paikkoja, joissa eri internet-palveluntarjoajat muodostavat yhteyden toisiinsa, jotta ne voivat tarjota pääsyn eri verkkojen liikenteeseen. CDN:llä onkin yhteys näihin suurten nopeuksien ja voimakkaasti verkottuneisiin paikkoihin.

Hyvä huomioida

CDN:n käytöstä voi aiheutua myös muutamia haittoja, jotka on hyvä huomioida sitä käytettäessä. Sisällönjakoverkosto tallentaa tietoja välityspalvelimien välimuistiin, joten jos sen välimuistia ei tyhjennä sivustolle tehtyjen muutosten jälkeen, se saattaa hakea sieltä vanhentunutta tietoa sivustosta.

Jos sivustollasi on vain vähän kansainvälistä liikennettä eli liikenne on pääasiassa hyvin paikallista, on mahdollista, ettei sisällönjakoverkoston käyttö paranna sivuston latausaikaa.

Cloudflare kerää tietoa heidän kauttaan kulkevasta liikenteestä, kuten monet muutkin vastaavat ilmaiset palvelut. Toki kerättyä dataa hyödynnetään esimerkiksi haitallisen liikenteen tunnistamiseen ja näin kerätyllä datalla voidaan havaita ja estää haitallista liikennettä tehokkaammin.

Cloudflare Railgun

Cloudflare Railgun nopeuttaa sivustosi latautumista käyttämällä huippunopeaa yhteyttä alkuperäisen palvelimen ja Cloudflaren CDN-palvelimen välillä. Railgun on Cloudflaren CDN:ään käytettävä lisäpalvelu, eli jos sivustolla ei ole sisällönjakoverkostoa käytössä, ei Railgunistakaan ole hyötyä. Sisällönjakoverkostot lisäävät tavallisesti viivettä alkuperäisen sivuston lataukseen kuluvassa ajassa dynaamisen HTML-sisällön hakemisen takia. Railgunin avulla kyseistä viivettä ei kuitenkaan tule ja dynaaminen sisältö latautuu jopa nopeammin kuin ilman CDN:ää.

Railgun pystyy myös välimuistittamaan dynaamisia resursseja, kuten HTML-koodia. Tällöin Cloudflaren välimuistissa on sivustosta yksi versio, ja Railgunin avulla loppupalvelin välittää vain muuttuneet osat Cloudflarelle, jolloin saavutetaan Cloudflaren mukaan 99.6% kompressointiteho, eli vain 0.4% sivuston sisällöstä pitää hakea erikseen palvelimelta.

Esimerkiksi WooCommerce-kaupoissa sivut latautuvat nopeammin asiakkaan sijainnista riippumatta, kun Railgun hoitaa tiedonsiirron Cloudflaren ja alkuperäisen palvelimen välillä.

Kaikkia tietoja ei voida tallentaa CDN:n välimuistiin, vaan jotkut tiedot täytyy aina hakea alkuperäiseltä palvelimelta. Tämä voi johtua esimerkiksi siitä, että sivusto päivittyy säännöllisesti tai se on personoitu jokaiselle kävijälle. Esimerkiksi uutissivustot päivittyvät jatkuvasti sitä mukaa, kun uusia uutisia julkaistaan.

Kenelle Railgunista on hyötyä?

  1. Sivustolle, jolla on paljon kävijöitä ympäri maailmaa, esimerkiksi kansainväliset verkkokaupat.
  2. Sivustolle, jolla on paljon dynaamista sisältöä, esimerkiksi uutissivustot.
  3. Sivustoille, joilla on paljon personoitua sisältöä, esimerkiksi käyttäjille personoidut uutisvirrat.

Esimerkiksi WooCommerce-kaupoissa sivut latautuvat nopeammin asiakkaan sijainnista riippumatta, kun Railgun hoitaa tiedonsiirron Cloudflaren ja alkuperäisen palvelimen välillä.

Miten Railgun toimii?

Kun Cloudflaren palvelin saa pyynnön verkkosivusta, joka ei löydy suoraan välimuistista, Cloudflare ottaa tavallisesti HTTP-yhteyden alkuperäiseen palvelimeen pyytääkseen sivustoa ja sen tietoja, jolloin sivun lataamisessa kestää hieman kauemmin. Railgunin ollessa käytössä, Cloudflare välimuistittaa myös sivuston dynaamisen osuuden ja koko sivun lataamisen sijaan, se lähettää vain muuttuneen tiedon suoran huippunopean TCP-yhteyden kautta Cloudflarelle.

Cloudflare Railgun nopeuttaa yhteyttä
Yhteys ilman Railgunia
Cloudflaren Railgun tarjoaa huippunopean yhteyden palvelinten välille
Yhteys Railgunilla

Railgun koostuu kahdesta ohjelmistokomponentista: kuuntelijasta ja lähettäjästä. Railgun-kuuntelija on asennettu esimerkiksi Zonerin WP-Cloudissa asiakkaan palvelimen kanssa samassa laitetilassa sijaitsevalle palvelimelle. Se on pieni ohjelmisto, joka toimii Cloudflaren palvelimen standardipalvelin- ja palvelupyyntöjen mukaan, käyttäen salattua yhteyttä. Railgun-lähettäjä on puolestaan asennettu kaikkiin Cloudflare-datakeskuksiin ympäri maailmaa ja se ylläpitää yhteyksiä kuuntelijoihin.

Kun alkuperäistä palvelinta tarvitseva pyyntö tulee, Cloudflare määrittää, onko se tarkoitettu Railgun-yhteensopivalle sivustolle. Jos sivustolle ei ole tilattu Railgun-palvelua, sille käytetään normaalisti hitaampaa HTTP-standardia. Jos sivustolle on puolestaan tilattu Railgun, pyyntö ohjataan suoraan lähettäjälle käsittelyä varten.

Cloudflaren Railgun käyttää useita eri tekniikoita, joiden avulla se nopeuttaa tietojen hakemista alkuperäiseltä palvelimelta. Vaikka alkuperäistä palvelinta tarvitaan, saadaan sivusto tarjottua kävijälle nopeasti Railgunin avulla.

Railgun-lähettäjä kääntää pyynnön pakatuksi ja lähettää sen alkuperäisen palvelimen kuuntelijalle. Railgun-kuuntelija käsittelee pyynnön ja suorittaa HTTP-pyynnön alkuperäiselle palvelimelle. Alkuperäisen palvelimen näkökulmasta HTTP-yhteys tuli suoraan Cloudflare-palvelimelta, mutta koska se on todellisuudessa peräisin alkuperäisen palvelimen omasta infrastruktuurista, pyyntö ei aiheuta viivästystä.

Käytännössä esimerkiksi uutissivustojen sivut kyllä muuttuvat ja päivittyvät, mutta varsinainen täyte-HTML pysyy saman. Sivulla saattaa myös olla esimerkiksi sama pääuutinen koko päivän. Sivulla on siis paljon myös muuttumattomia elementtejä. Tämä tarkoittaa sitä, että verkkosivujen lataaminen nopeutuu selvästi, jos muuttuvat elementit voidaan havaita ja hakea ainoastaan ne palvelimelta.

Railgun käyttääkin uutta välimuistimekanismia, joka perustuu sivuversioiden vertailuun ja selvittää, mitä on tarpeen siirtää Railgun-lähettäjälle. Tämän mekanismin avulla vain muuttuneet tiedot siirretään Cloudflaren palvelimelle.

Miksi suosittelemme Cloudflarea?

Seurantamme mukaan Cloudflare tarjoaa suoraan omasta välimuististaan yli 80% kaikista sivustojen latautumiseen liittyvistä pyynnöistä. Se on myös estänyt ja vähentänyt erittäin tehokkaasti haitallista liikennettä, jolloin asiakkaidemme palvelimille on kohdistunut vähemmän hyökkäysyrityksiä. Käytännössä esimerkiksi WP-Cloudin asiakkaille jää enemmän palvelinresursseja käytettäväksi. Cloudflare on myös lähes täysin estänyt roskapostiviestit sivustoille, joilla kommenttikenttää ei ole suojattu erikseen esimerkiksi ReCaptchalla.

Testasimme, kuinka Cloudflare nopeuttaa sivustoa

Suoritimme Cloudflarelle myös muutamia testejä. Testisivustona toimi WP-Cloudin oma sivusto ja testi suoritettiin kaikkiaan 10 kertaa, jonka jälkeen laskettiin testien keskiarvo lopullisten tulosten saamiseksi. Testisivustosta otettiin pois kaikki kolmannen osapuolen pyynnöt eli kaikki resurssit ladattiin suoraan palvelimelta, näin testitulokset saatiin yhteneviksi.

Testiemme mukaan Cloudflaren sisällönjakoverkoston ja Railgunin päällä ollessa sivuston dynaaminen HTML-sisältö saadaan tarjottua keskimäärin 50% nopeammin verrattuna palvelimeen ilman Cloudflarea. Esimerkiksi San Josessa Kaliforniassa testattu dynaaminen sisältö latautui 0,2 sekunnissa Cloudflaren avulla, kun taas ilman Cloudflarea se latautui 0,8 sekunnissa.

Cloudflare nopeuttaa sivuston latausaikaa tutkitusti

Dynaamisen sisällön lisäksi sivuston toimintaa testattiin Googlen Lighthouse-työkalulla ja keskimäärin jokaisella sivuston nopeutta mittaavilla osa-alueella tulokset parantuivat. Lighthousea testattiin kolme kertaa jokaisen eri testikerran aikana.

Testi: Nopeuttaako Cloudflare sivuston latausaikaa?

Haluatko nopeuttaa sivustoasi Cloudflarella?

Ota meihin yhteyttä, niin me autamme sinua ottamaan Cloudflaren CDN:n ja Railgunin käyttöön. Palveluihimme sisältyy aina ilmainen siirto ja 30 päivän tyytyväisyystakuu tekevät siirtymisestä helppoa.

Asiakaspalvelu: 010 235 6688 (ark. 8 – 18 ja la-su 10 – 16) tai myynti@zoner.fi.

Oliko kirjoitus hyödyllinen? Jaa se eteenpäin: