Tagi: "skaalautuvuus"

Miten rakennat järjestelmän, joka skaalautuu 100 miljoonalle käyttäjälle? Vastaus: Et rakenna.

Onko tämä kompa vai yritänkö vetää lukijaa nenästä? Kyllä ja ei. Siksi vähän pidempi vastaus: Älä rakenna itse sellaista skaalautuvuutta, jonka joku muu on jo ratkaissut (ja jota voit hyödyntää).

IaaS- ja PaaS -markkinoilla on paljon skaalautuvia infra- ja middlewareratkaisuja joissa toimittaja ottaa vastuun [...]

Jatka lukemista

Minkä tahansa palvelun suorituskyvyn ja skaalautumisen ytimenä on yksinkertainen käyttäjien (kuorma) ja resurssien (palvelimien) suhde:

Jos tämä suhdeluku on suuri, riittää suuren määrän käyttäjiä palveluun pieni määrä palvelimia. “Pieni määrä palvelimia” on tietysti suhteellinen käsite – Facebookilla arvioitiin vuonna 2010 olevan 60000 palvelinta 400 miljoonaa käyttäjää varten (suhdeluku noin [...]

Jatka lukemista

Onko tavoitteenasi skaalautuva softa – vaikkapa viraalinen facebook-peli? Tarvitset toki hyvän arkkitehtuurin, hyvän toteutuksen, hyvän testauksen jne. jne. mutta tärkeintä on silti tietää, että …

Mitä skaalautuvuutta haluat? Mitä skaalautuvuus on? Wikipedia:

“scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or [...]

Jatka lukemista

En ole lopettanut tätä sarjaa aivan vielä! Mutta on pakko myöntää, että olen sortunut mammuttitautiin – kirjoitettavaa tuntuu riittävän, eikä loppua näy.  Silti, jatketaan.

Melkein kaikissa palvelusovelluksissa käytetään tietovarastoa. Tietovarastona käytetään useimmiten tietokantaa. Tietokannalla tarkoitan yleiskäyttöisiä järjestelmiä, joihin voidaan skeeman kautta määritellä erilaisia tietomalleja ja tallentaa näiden mukaan jäsenneltyä tietoa pysyvästi. Tässä kirjoituksessa [...]

Jatka lukemista

Google keittää kahvia

13.10.2010 Kirjoittanut

Olen viime aikoina tutustunut Googlen uuteen datatyökaluun Percolatoriin. Se onkin erikoinen kone, vahvasti C-luokkaa.

Mennään ajassa kuusi vuotta taaksepäin. Google julkaisee MapReduce-laskentamallin ja kertoo toteuttaneensa indeksointijärjestelmänsä sen päälle. Sen lisäksi M/R luikertelee osaksi lähes jokaista Googlen merkittävää tuotetta. Googleplexin ulkopuolella MapReduce todetaan skaalautuvuudeltaan hyväksi ja avoimen lähdekoodin mullasta ponnistaa Hadoop — MapReduce meille [...]

Jatka lukemista

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 rakentaminen on vähän kuin [...]

Jatka lukemista

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 [...]

Jatka lukemista

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).

[...]

Jatka lukemista

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 [...]

Jatka lukemista

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.

[...]

Jatka lukemista