Når servere arbeider sammen
En enkelt datamaskin har en begrenset mengde systemressurser som prosessorkraft, arbeidsminne og lagringsplass. Internt i maskinen er det også begrenset hvor mye og hvor raskt informasjon kan flyttes mellom komponentene (I/O).
På serversida i større systemer vil derfor én enkelt servermaskin sjelden være nok for å dekke behovet. Bruk av én enkelt server gir også lav feiltoleranse for systemet, siden en enkeltstående feil som får den serveren til å stoppe, også vil resultere i at hele systemet stopper opp.
Å sette flere servere til å samarbeide er derfor vanlig innen serverdrift og gjøres på forskjellige måter avhengig av behovet som skal dekkes. En server som er del av et større system, kalles ofte for en servernode. Dette gjenspeiler at den er en liten del av det totale systemet.
Når maskiner arbeider sammen for å gjøre oppgaver, brukes som oftest én av de tre metodene
regneklynge (cluster)
grid
sky (cloud computing)
Disse er strukturert forskjellig fra hverandre og har forskjellige bruksområder.
Regneklynge (cluster) | Grid | Sky (cloud computing) | |
---|---|---|---|
Kort beskrivelse | Servernodene har rask tilgang til felles ressurser, som lagring og noen ganger arbeidsminne. Dette gjør det mulig for dem å arbeide parallelt med den samme arbeidsoppgaven. | Arbeidsoppgavene som skal løses, deles opp i mindre selvstendige deloppgaver som fordeles ut til de tilgjengelige servernodene. | Servernodene blir tildelt virtuelle maskiner eller konteinere de skal kjøre fra et håndteringssystem (orchestration system). |
Hvordan økt kapasitet oppnås | Servernodene fungerer som deler av en større sammenhengende maskin. Dette gjør dem spesielt nyttige for bearbeidelse av store og komplekse oppgaver som må løses i en lineær rekkefølge. | Hver deloppgave inneholder alle data som trengs for å bli løst. Så lenge det er ugjorte deloppgaver og håndteringssystemet som sender disse ut og tar imot endelig resultat har kapasitet, kan det bare legges til flere servernoder for mer kapasitet. | Ved behov kan virtuelle maskiner eller konteinere kopieres og kjøres på flere samtidige fysiske servere. Dette gir en kapasitet utover det som én enkelt fysisk server kan levere. |
Plassering av utstyr | Behovet for rask kommunikasjon og lav forsinkelse mellom servernodene gjør at disse må være plassert nært hverandre. | Kommunikasjon over Internett er nødvendig, men utstyret kan være plassert hvor som helst. | Eksterne skyleverandører har ofte datasentre rundt omkring i verden og hver av disse har mange servernoder. |
Krav til servernoder | Servernodene som er en del av en regneklynge, må ha lik maskinvare. | Maskinene som fungerer som servernoder, kan ha helt forskjellig maskinvare. | Bruk av lik maskinvare på kryss av mange servernoder er praktisk og vanlig, men ikke påkrevd for skyoppsett. |
Eksempler på bruk | Forskningsprosjekter, værvarsel | Forskningsprosjekter, desentraliserte tjenester som torrent, cryptovaluta | Skytjenester som IaaS, Paas og SaaS |
Regneklynger og grid brukes for store spesialiserte arbeidsoppgaver, ofte relatert til forskning. For drifting av systemer ute i ordinære bedrifter er det vanlig å bruke sky og egne serverklynger. Servernodene der samarbeider om kjøre nødvendige virtuelle maskiner eller konteinere for å dekke behovet til systemet.
Et eksempel på dette kan være driften av ei større nettside. Hver deltjeneste som nettsida avhenger av (som backend, frontend, database, nettbutikk og så videre) er skilt ut i separate konteinere. Én eller flere kopier (instanser) av hver konteiner kjører så på én eller flere fysiske servere, avhengig av behovet akkurat da. Dette kan for eksempel være som i modellen under.
Guoskevaš sisdoallu
Serverkonteinere (containers) er en virtualiseringstype som brukes mye både i driftsmiljøer og utvikling. Hver konteiner inneholder ofte en tjeneste.