Oletko tullut ajatelleeksi, kuinka monet päivittäiset tehtävämme hyödyntävät taustalla palvelimia? Kun lähetät sähköpostin kollegallesi tai kun etsit Googlesta vastausta kysymykseesi, taustatyön tekee palvelin. Palvelinratkaisuja on monenlaisia, ja sopivimman valitseminen voi olla haastavaa.
Palvelimet ovat tietokoneita, jotka välittävät erilaisia tietoteknisiä ratkaisuja käyttöömme. Ne koostavat yhteen järjestelmäkokonaisuuksia, joihin voi asentaa sovelluksia. Sovellukset tuottavat käyttötarkoituksensa mukaisia palveluita, jotka avustavat meitä muun muassa tietojen säilömisessä, hakemisessa, jakamisessa ja laskemisessa.
Palvelimia on monenkokoisia ja mitä erilaisimpiin käyttötarkoituksiin räätälöityjä. Yleensä yrityksellä on useita työkuormia eli palvelimille tarkoitettuja tehtäviä, jotka on rakennettu erilaisten palvelimien päälle. Yksi palvelinratkaisu ei siis riitä, vaan yrityksen täytyy tunnistaa, mikä alusta on paras minkäkin työkuorman suorittamiseen.
Koska vaihtoehtoja on monia, valinnan tekeminen ei ole helppoa. Tässä blogisarjassa käsittelen neljää suosituinta ratkaisua: fyysinen palvelin, virtuaalipalvelin, container ja serverless. Ensimmäisessä osassa vuorossa ovat fyysinen palvelin ja virtuaalipalvelin.
Mitä etuja on fyysisellä palvelimella?
Fyysiset palvelimet ovat tietokoneita, jotka koostuvat erilaisista laitteistoista kuten prosessoreista, keskusmuistista, tallennuslevystä, rekistereistä, tietoväylistä ja liitäntäporteista.
Fyysinen palvelin on nimensä mukaisesti konkreettisesti kosketeltavissa olevaa laite, joka on fyysisesti sijoitettava jonnekin, yleensä konesaliin. Puhekielessä fyysinen palvelin usein kääntyy raudaksi, minkä alkuperä on johdettavissa englanninkieliseen vastineeseen hardware.
Fyysiset palvelimet syövät sähköä ja nauttivat viileästä ilmasta, tuottaen laskentatehoa ja lämpöä. Fyysiseen palvelimeen yleensä asennetaan yksi käyttöjärjestelmä, kuten Windows tai Linux. Koska kaikkia sovelluksia ei haluta kiinnittää yhteen fyysiseen palvelimeen työkuormien tasaamiseksi tai vikaantumisen pelossa, on aiemmin jouduttu hankkimaan useita palvelimia eri sovelluksille. Teknologioiden kehittymisen myötä saadaan nyt yksittäisistä palvelimista enemmän tehoa irti kuin sitä ehkä yksittäisille sovelluksille tarvittaisiin. Palvelintoimittajan näkökulmasta katsottuna fyysisiä palvelimia käytetään entistä harvemmin suorittamaan vain yksittäistä tehtävää. Tämän sijaan fyysiset laitteet usein virtualisoidaan ja laitteen tuomat resurssit saadaan jaettua usean palvelimen käyttöön.
Fyysisillä palvelimilla on kuitenkin yhä oma paikkansa, myös yksittäisiä sovelluksia pyörittäessä. Usein tämä johtuu esimerkiksi
- Lisensointivaatimuksista –Lisenssiehdot saattavat vaatia lisenssien kohdistamista fyysisiin laiteresursseihin.
- Vaativista työkuormista – Kun sovellukset vaativat merkittävän suurta laskentatehoa, voi olla kustannustehokkaampaa hankkia käyttötarkoitusta varten mitoitettu palvelin, jonka tuottama laskentateho on taattua eikä käyttö vie resursseja miltään muulta tarpeelta.
- Tietojen eristäminen – Voi olla, että palvelimella suoritetaan arkaluontoisia tehtäviä, minkä johdosta halutaan käyttää kaikesta muusta ympäristöstä eristettyä laitetta.
- Virtualisointialustoista – Virtuaalipalvelimet tarvitsevat alleen alustapalvelimen, joka yleensä on fyysinen palvelin.
Mitä etuja on virtuaalipalvelimella?
Virtuaalinen palvelin on kasa tiedostoja ja virtualisoinnin esittämiä laitteistoja, jotka näyttäytyvät käyttöjärjestelmille samaan tapaan kuin fyysiset laiteresurssit.
Käytännössä virtualisointiteknologiat muuttavat fyysisten palvelimien tuottamat ominaisuudet hyllytavaraksi jäljitellen fyysisiä laitteistoja. Näiltä “hyllyiltä” virtuaaliset palvelimet voivat hakea kulloinkin tarvitsemansa resurssit käyttöönsä ilman, että niille täytyy varata omaa fyysistä palvelinta konesalipaikkoineen.
Virtuaalipalvelimien keskeisimpiä etuja
Kustannustehokkuuden parantaminen
Fyysiset laitekomponentit kehittyvät hurjaa vauhtia tuottaen entistä parempaa suorituskykyä palvelimien käyttöön. Loppupeleissä sovellukset eivät välttämättä osaa käyttää tai edes tarvitse enempää tehoa ja laiteresursseja jää käyttämättä.
Kustannusten kannalta tehokkainta olisi käyttää hankitut resurssit kokonaan. Virtualisointi mahdollistaa palvelinresurssien jakamisen usealle eri työkuormalle siten, että kaikki saatavilla olevat resurssit saadaan käyttöön.
Alustojen ja työkuormien mitoitukset on osattava kuitenkin tehdä oikein, sillä mikäli niitä jaetaan liikaa, alustaresurssit voivat loppua kesken. Tällöin virtuaalipalvelimen työkuormia ei voida ajaa suunnitellusti ja sovellukset hidastelevat tai jopa lakkaavat toimimasta.
Ideaalitilanteessa kaikki alustaresurssit olisivat 100 % käytössä ilman, että sovelluksissa tapahtuu viiveitä esim. prosessorin käyttöjonojen kasvamisessa tai muistin saatavuuden loppumisena.
Vikasietoisuuden parantaminen
Kun alustapalvelimia liitetään yhteen, tuottavat ne yhdessä ryhmän koneita, klusterin, joiden tuottamat laitteistoresurssit on mahdollista jakaa eri virtuaalipalvelimien kesken.
Koska virtuaalipalvelin käyttää fyysisten laiteresurssien jäljiteltyjä vastineita, sitä ei kärjistäen sanottuna kiinnosta, mikä fyysinen laite tuottaa sen laitteistoresurssit. Tästä syystä virtuaalipalvelin on mahdollista siirtää alustapalvelimelta toiselle milloin ja mistä syystä tahansa. Mikäli klusteroidussa virtuaaliympäristössä fyysinen palvelin vikaantuu, on sillä sijaitsevat virtuaalipalvelimet helposti siirrettävissä tai automaattisesti käynnistettävissä toisella alustalla. Näin palvelimet palautuvat käyttöön nopeasti ja vaivattomasti.
Riippuen virtualisointiteknologiasta virtuaalipalvelimia on myös mahdollista hajauttaa eri fyysisille alustapalvelimille siten, että toinen palvelimista toimii aktiivisena palveluiden tuottajana ja toinen palvelin kopioi siihen tapahtuvat muutokset. Tällaisen ympäristön fyysisen laitteen vikaantuessa toisella alustalla oleva kopio voi jatkaa palveluiden tuottamista ilman katkoja.
Useat eri käyttöjärjestelmät
Virtualisoinnin avulla on mahdollista asentaa eri käyttöjärjestelmillä olevia palvelimia yksittäiselle fyysiselle palvelimelle. Mikäli yrityksellä olisi käyttötarpeita esimerkiksi sekä Linux- että Windows-palvelimille, ei niitä varten tarvitse hankkia erillisiä alustapalvelimia.
Hallinnan parantaminen
Virtualisointialustoissa on yleensä hallintanäkymä alustapalvelimen määrityksiin ja sillä sijaitseviin virtuaalipalvelimiin. Hallintanäkymien kautta on mahdollista tehdä muutamilla klikkauksilla muutoksia virtuaalisten palvelinten laiteresursseihin, kuten tallennustilojen, prosessoreiden ja saatavilla olevan keskusmuistin asetuksiin. Hallintanäkymät tuottavat virtuaalipalvelimille näennäisen pääsyn konesaliin fyysisten palvelinten ääreen.
Virtualisointi mahdollistaa myös toimintatilan tallentamisen, joka on merkittävä etu muutoksia tehdessä. Virtuaalipalvelimiin voidaan määrittää palautumispiste ja tallentaa sen tila esimerkiksi juuri ennen päivitysten ajamista. Mikäli päivitykset epäonnistuvat, aiempi tila on helppo palauttaa takaisin.
Heikki Lavanko