Skaalautuviin järjestelmiin kohdistuu muitakin vaatimuksia – skaalautuvuudesta ei hirveästi ole hyötyä ilman hyväksyttävää suorituskykyä ja lisäksi kokonaisuuden pitäisi vielä olla vikasietoinen ja ylläpidettävä. Toisin kuin toiminnalliset vaatimukset, skaalautuvuuden tapaiset ei-toiminnalliset vaatimukset ovat usein käänteisesti riippuvaisia toisistaan. Yhden vaatimuksen naiivi ratkaisu heikentää tai hankaloittaa toisen vaatimuksen saavuttamista.
Osittain tästä syystä skaalautuvien järjestelmien [...]
Kuten arvata saattaa, kevät on ollut kiireistä aikaa – sen takia edellisen ja tämän osan välillä on ehtinyt vierähtää aika pitkä tovi. Valitettavasti näillä näkymin seuraavaakin pitää odottaa jonkin verran – pahoitteluni jo etukäteen!
Istunnot
Käytännössä kaikki verkkopalvelut seuraavat käyttäjien istuntoja eli “sessioita.”
Koska HTTP-pyynnöt ovat itsessään tilattomia, tarvitaan istuntojen käsitettä (sekä niiden toteutusta palvelimessa) yhdistämään muuten irralliset [...]
Tämä kirjoitus on osa Skaalautuvuuden abc-sarjaa (osat 1, 2, 3 ja 4.)
Edellisessä osassa esitin miten yksinkertaisella välimuistin käytöllä voidaan siirtää esimerkkipalvelun pullonkaula pois tietokannasta. Hypin nyt aiheesta toiseen ja välimuistien sijaan ensin sana jos toinenkin kuorman tasauksesta ja -jakamisesta (palaan välimuisteihin myöhemmin).
Tähän asti suorituskyvyn kasvattamisessa on edetty suoraviivaisesti:
Ensin varmistetaan, ettemme ole vahingossa toteuttanet bogosorttia.
Sitten pilkotaan [...]
Tämä kirjoitus on kolmas osa kirjoitussarjassa – aiemmat osat: yksi ja kaksi.
Tästä lähtien ei enää sanaakaan komponenttien tehostamisesta eikä vertikaalisesta skaalautumisesta. Jatkossa kaikki mitä tehdään, liittyy joko uusien skaalautuvien rakenteiden, komponenttien tai käytettävien koneiden määrän kasvattamiseen.
ABC
Edellisessä osassa annoin jo viitteitä siitä, että monet skaalautuvuutta ja sitä kautta suorituskykyä parantavat toimenpiteet eivät ole yhtä haastavia. Jatkossa [...]
Tämä kirjoitus on toinen osa kirjoitussarjassa – aiemmin on ilmestynyt ensimmäisen osa.
Suorituskyvyn rajojen tunteminen on tärkeää suorituskyvyn kasvattamiseksi kustannustehokkaasti. Järjetelmien pullonkauloihin on ratkaisuja, jotka lisäävät suorituskykyä ja/tai skaalautuvuutta monin eri tavoin.
Suorituskyky
Ensimmäinen pohtimisen aihe on siis järjestelmän suorituskyky sellaisena kuin se on nyt – joko tuotannossa tai kehityksen alla.
Onko järjestelmän suorituskyky hyväksyttävä suhteutettuna käytössä oleviin [...]
Mainitsin jo aiemmin Nicklas Anderssonin kanssa käymästäni keskustelusta parisen viikkoa sitten pidetyn It-viikon tilaisuuden yhteydessä. Siitä sain kipinän pohtia syvällisemmin mitä a) skaalautuvuus on ja b) kuinka paljon sitä oikeasti tarvitaan.
Tarvitaanko skaalautumista? Monet asiakkaistamme pitävät sitä – ainakin aluksi – kriittisenä vaatimuksena palveluilleen. Kuitenkaan puhdas skaalautuminen ei monesti silti ole lopullisissa järjestelmän vaatimuksissa. Miksi? Yksi [...]