LFCA: Lær skytilgjengelighet, ytelse og skalerbarhet – del 14


I det forrige emnet i LFCA-serien vår ga vi en introduksjon til Cloud computing, de forskjellige typene og Clouds, og skytjenester og ledet deg gjennom noen av fordelene forbundet med Cloud computing.

Hvis bedriften din fortsatt kjører på det tradisjonelle IT-databehandlingsmiljøet, er det på tide at du går opp og går over til skyen. Det er anslått at innen utgangen av 2021 vil over 90 % av den totale arbeidsmengden bli håndtert i skyen.

Blant de største fordelene forbundet med å omfavne cloud computing er forbedret ytelse, høy tilgjengelighet og skalerbarhet. Faktisk har vi børstet over disse som en av de største fordelene ved å bruke skyteknologi.

I dette emnet fokuserer vi på skytilgjengelighet, ytelse og skalerbarhet og søker å forstå hvordan disse tre smelter sammen for å møte kundenes krav og sikre at brukerne får tilgang til dataene deres når de trenger dem fra alle deler av verden.

1. Skytilgjengelighet

En organisasjons IT-applikasjoner og tjenester er kritiske, og enhver tjenesteavbrudd kan ha en dyp effekt på inntektene. Kundenes forventninger er at tjenestene er tilgjengelige døgnet rundt til enhver tid fra ethvert sted. Og det er hva Cloud-teknologi søker å gi.

Høy tilgjengelighet er det ultimate målet med cloud computing. Den søker å gi maksimal mulig oppetid for et selskaps tjenester selv i møte med forstyrrelser som kan skyldes enestående servernedetid eller nettverksforringelse.

Høy tilgjengelighet er muliggjort ved å ha redundante og failover-systemer. Dette skjer i et klyngemiljø der flere servere eller systemer utfører de samme oppgavene og dermed gir redundans.

Når en server går ned, kan resten fortsette å kjøre og tilby tjenestene levert av den berørte serveren. Et perfekt eksempel på redundans er datareplikering på tvers av flere databaseservere i en klynge. I tilfelle den primære databaseserveren i klyngen opplever et problem, vil en annen databaseserver fortsatt levere dataene som kreves av brukere til tross for feilen.

Redundans eliminerer ett enkelt feilpunkt og sikrer at det er 99,999 % tilgjengelighet av tjenester og applikasjoner. Clustering gir også belastningsbalansering mellom servere og sikrer at arbeidsbelastningen er rettferdig fordelt og at ingen server er overveldet.

2. Skyskalerbarhet

Et annet kjennetegn ved cloud computing er skalerbarhet. Skalerbarhet er muligheten til å justere skyressurser for å møte endrede krav. Enkelt sagt kan du sømløst øke eller redusere ressursene når og når det er nødvendig for å møte etterspørselen uten å gå på akkord med kvaliteten på tjenestene eller nedetiden.

Tenk deg at du driver en blogg som begynner å få treff og mer trafikk. Du kan enkelt legge til flere dataressurser som lagring, RAM og CPU til cloud comput-forekomsten for å håndtere den ekstra arbeidsbelastningen. Motsatt kan du skalere ned ressursene når det er nødvendig. Dette sikrer at du kun betaler for det du trenger, og dette understreker stordriftsfordelene som skyen gir.

Skalerbarhet er todelt: Vertikal skalering og horisontal skalering.

Vertikal skalering

Også referert til som «oppskalering», innebærer vertikal skalering å legge til flere ressurser som RAM, lagring og CPU til cloud comput-forekomsten for å imøtekomme ekstra arbeidsbelastning. Dette tilsvarer å slå av din fysiske PC eller server for å oppgradere RAM eller legge til en ekstra harddisk eller SSD.

Horisontal skalering

Horisontal skalering, også kjent som «utskalering» innebærer å legge til flere servere til utvalget av eksisterende servere for å sikre fordeling av arbeidsbelastningen på tvers av flere servere. Med horisontal skalering er du ikke begrenset til kapasiteten til en enkelt server, i motsetning til vertikal skalering. Dette gir mer skalerbarhet og mindre nedetid.

Utskalering er mer ønskelig sammenlignet med oppskalering

Og her er hvorfor. Med horisontal skalering legger du i utgangspunktet til flere ressurser som servere eller lagring til den allerede eksisterende ressursgruppen din. Dette lar deg kombinere kraften og ytelsen til flere databehandlingsinstanser til én, og dermed få bedre ytelse i motsetning til å bare legge til ressurser på en enkelt server. Ytterligere servere innebærer at du ikke trenger å håndtere underskudd på ressurser.

I tillegg gir horisontal skalering redundans og feiltoleranse på en slik måte at selv om én server er berørt, vil resten fortsette å bevise tilgang til de nødvendige tjenestene. Vertikal skalering er knyttet til ett enkelt feilpunkt. Hvis dataforekomsten krasjer, går alt ned med den.

Horisontal skalering tilbyr også maksimal fleksibilitet i motsetning til vertikal skalering der applikasjoner er bygget som én stor enhet. Dette gjør det mer utfordrende å administrere, oppgradere eller endre deler av kode uten å måtte starte hele systemet på nytt. Utskalering gir mulighet for frakobling av applikasjoner og gir mulighet for en sømløs oppgradering med minimal nedetid.

3. Skyytelse

Å sikre applikasjonsytelsen oppfyller kundenes krav kan være en ganske oppoverbakke oppgave, spesielt hvis du har flere komponenter som sitter i forskjellige miljøer som konstant må kommunisere med hverandre.

Problemer som latens vil sannsynligvis manifestere og påvirke ytelsen. Dessuten er det ikke lett å forutsi ytelse der ressursene deles av ulike enheter. Uansett kan du fortsatt oppnå høy ytelse og holde deg flytende ved å implementere følgende tiltak.

1. Skyforekomst

Sørg for å bruke de riktige skyforekomstene med nok ressurser til å håndtere arbeidsbelastningen til applikasjonene og tjenestene dine. For ressurskrevende applikasjoner, sørg for at du sørger for nok RAM-, CPU- og lagringsressurser til skyforekomsten for å unngå et mulig ressursunderskudd.

2. Load Balancer

Implementer en lastbalanser for å fordele nettverkstrafikk rettferdig mellom ressursene dine. Dette vil sikre at ingen av applikasjonene dine blir overveldet av etterspørselen. Anta at webserveren din får mye trafikk som forårsaker forsinkelser og påvirker ytelsen.

En perfekt løsning ville være å implementere horisontal skalering med totalt 4 webservere som sitter bak en lastbalanser. Lastbalanseren vil distribuere nettverkstrafikk på tvers av de 4 webserverne og sikre at ingen blir overveldet av arbeidsbelastningen.

3. Caching

Bruk hurtigbufferløsninger for å øke hastigheten på tilgangen til filer for applikasjoner. Cacher lagrer ofte leste data og eliminerer dermed konstante dataoppslag som kan påvirke ytelsen. De reduserer latens og arbeidsbelastning ettersom dataene allerede er bufret, og forbedrer dermed responstidene.

Caching kan implementeres på ulike nivåer som applikasjonsnivå, databasenivå. Populære cachingverktøy inkluderer Redis, Memcached og Varnish cache.

4. Ytelsesovervåking

Til slutt, sørg for å overvåke ytelsen til serverne og applikasjonene dine. Skyleverandører tilbyr innebygde verktøy som kan hjelpe deg med å holde øye med skyserverne dine fra en nettleser.

I tillegg kan du ta ditt eget initiativ og installere gratis overvåkingsverktøy med åpen kildekode som kan hjelpe deg å holde oversikt over applikasjonene og serverne dine. Eksempler på slike applikasjoner inkluderer Grafana, Netdata og Prometheus, for å nevne noen.

Konklusjon

Vi kan ikke understreke nok hvordan tilgjengelighet, skalering og ytelse er avgjørende i skyen. De tre faktorene bestemmer kvaliteten på tjenesten du vil få fra skyleverandøren din og trekker til slutt grensen mellom suksess eller fiasko for virksomheten din.