Hva er AutoScaling i AWS? - Slik fungerer det - Ulike komponenter

Innholdsfortegnelse:

Anonim

Oversikt over autoscaling i AWS

Autoskalering, også stavet som automatisk skalering eller noen ganger automatisk skalering, er en teknikk innen skyberegning, hvor mengden ressurser som kreves for at en servergård skal fungere effektivt, typisk målt som antall aktive servere, skaleres opp eller skaleres når det er nødvendig basert på belastningen på hele serverfarmen. Vi kan knytte dette nært til lastbalansering. Typisk er autoscaling en slags automatisering for en manuell prosess. La oss ta et scenario der du har et e-handelsnettsted som kjører og betjener kunder effektivt, ingen av kundene dine klager på forsinkelse av nettstedet, og du mister ikke brukere på grunn av ytelsen til nettstedet. Etter hvert som virksomheten vokste, markedsførte du og folk ble mer bevisste på nettstedet ditt dag for dag, trafikken på nettstedet ble økt. På den ene siden var du glad for å se økningen i virksomheten, men du må også se at nettstedet skal tjene alle kunder og ikke etterslep. La oss si at for øyeblikket det kan betjene 100 kunder om gangen, betyr at hvis 100 brukere logget inn på nettstedet ditt, så kan alle navigere jevnt og kjøpe, og alt dette kjører over en fast konfigurasjon av antar at t2.micro-forekomsten av AWS. Nå som en webside blir populær, forventer du rundt 250 - 300 brukere om gangen. Det er klart at du trenger to servere til der du kan dele trafikken og så kan alle navigere ordentlig.

Det manuelle arbeidet som er å beregne hvor mye ressurser du vil kreve for å betjene kundene dine og skalere systemet basert på belastningen over serverfarmen din og dele trafikken gjøres manuelt for scenariet ovenfor. Vi kan si at dette faktisk er en skalering, men ikke autoskalering, fordi det ble gjort manuelt, men du kan bruke tjenesten til AutoScaling med en lastbalancer i AWS som vil automatisere oppgaven ovenfor, og det er det du kaller Autoscaling eller automatisk skalering i form av sky databehandling.

Hvordan fungerer autoscaling i AWS?

I AWS er ​​det flere enheter involvert i prosessen med autoscaling, som er: - Load Balancer og AMI er to hovedkomponenter som er involvert i denne prosessen. Først må du opprette AMI av din nåværende server, i enklere vilkår kan vi si at en mal for din nåværende konfigurasjon består av alle systeminnstillingene og den nåværende nettsiden. Dette kan du gjøre i AMI-delen av AWS. Hvis vi går i henhold til scenariet ovenfor, og du har konfigurert autoskalering slik at systemet ditt er forberedt på fremtidig trafikk.

Når trafikken skulle begynne å øke AWS autoscaling-tjenesten, vil den automatisk starte lanseringen av en annen instans med samme konfigurasjon av din nåværende server ved hjelp av AMI på serveren din.

Så kommer neste del der vi trenger å dele eller rute trafikken vår likt mellom de tilfeller som nylig ble lansert, dette vil bli ivaretatt av lastbalansen i AWS. Lastbalanser fordeler trafikken basert på belastningen over et bestemt system, de gjør noen interne prosesser for å bestemme hvor de skal rute trafikken.

Opprettelsen av en ny forekomst avhenger bare av et sett med regler definert av brukeren som konfigurerer autoskalering. Reglene kan være så enkle som CPU-bruk, for eksempel, du kan konfigurere autoscaling når CPU-bruken din når 70-80%, og du vil starte en ny instans for å håndtere trafikken. Det kan være regler for å skalere ned også.

Autoskaleringskomponenter i AWS

Det er mange komponenter involvert i prosessen med å autoskalere, noen av dem vi allerede har navngitt før, liker AMI, Load balancers, og det er noen andre også.

Komponenter involvert i autoscaling: -

  • AMI (Amazon Machine Image)
  • Last balancer
  • snapshot
  • EC2-forekomst
  • Autoskaleringsgrupper

Det kan være flere komponenter, men du kan si at de fleste komponentene som kan skaleres kan være en del av Autoscaling.

1. AMI

En AMI er et kjørbart bilde av EC2-forekomsten din som du kan bruke til å opprette nye forekomster. For å skalere ressursene dine, trenger du den nye serveren for å ha all konfigurasjonen av nettstedene dine og klar til å starte. I AWS kan du oppnå dette med AMI-er, som ikke er annet enn et identisk kjørbart bilde av et system som du kan bruke til å lage nye bilder, og det samme vil bli brukt av AWS i tilfelle autoscaling for å starte nye forekomster.

2. Last balancer

Å lage forekomst er bare en del av autoskalering du også trenger for å dele trafikken mellom de nye forekomstene, og at arbeidet blir håndtert av Load Balancer. En lastbalanser kan automatisk identifisere trafikken over systemene den er koblet til og kan omdirigere forespørslene på grunnlag av regler eller på klassisk måte til forekomsten med mindre belastning. Prosessen med å dele trafikken mellom de tilfellene vi kaller det lastbalansering. Lastbalanserer brukes for å øke påliteligheten til en applikasjon og effektivitet for å håndtere samtidige brukere.

En belastningsbalanse spiller en veldig viktig rolle i autoskalering. Vanligvis kan belastningsbalanserere være av to typer:

  • Klassisk belastningsbalanse.
  • Bruksbelastningsbalanse.

Classic Load Balancer: - Classic load Balancer følger en veldig enkel tilnærming, den vil bare fordele trafikken likt til alle tilfeller. Det er veldig grunnleggende og i dag er det ingen som bruker en klassisk belastningsbalanse. Det kan være et godt valg for et enkelt statisk nettsted for HTML-side, men i nåværende scenarier er det hybrid-apper, eller multikomponenter og applikasjoner med høy beregning som har mange komponenter dedikert til et bestemt arbeid.

Bruksbelastningsbalanse

  • Den mest brukte typen lastbalanser der trafikken omdirigeres på grunnlag av visse enkle eller komplekse regler som kan være basert på "bane" eller "vert" eller som brukerdefinert.
  • Det ville være bedre hvis vi tar et scenario med et dokumentbehandlingsapplikasjon.
  • La oss si at du har en applikasjon basert på mikroservicearkitektur eller monolitisk og banen "/ document" er spesifikk for en dokumentbehandlingstjeneste og andre baner "/ rapporter" som bare viser rapportene til dokumentene blir behandlet og statistikk om behandlede data. Vi kan ha en autoskaleringsgruppe for en server som er ansvarlig for å behandle dokumentene og en annen bare for å vise rapportene.
  • I applikasjonsbelastningsbalanser kan du konfigurere og sette regel i henhold til en bane som hvis banen samsvarer med "/ dokument" og deretter omdirigerer til en autoskalegruppe for server 1 eller hvis den samsvarer med banen "/ rapporter", så omdirigerer den til en autoskalegruppe server 2. Internt kan en gruppe ha flere forekomster og belastningen vil bli fordelt i klassisk form betyr likt mellom forekomstene.

3. Stillbilde

Kopien av dataene du har på harddisken er vanligvis et bilde av lagringsplassen. Den typiske forskjellen mellom øyeblikksbilde og AMI er et kjørbart bilde som kan brukes til å lage en ny forekomst, men øyeblikksbilde er bare en kopi av dataene du har i din forekomst. Hvis du har et inkrementelt øyeblikksbilde av EC2-forekomsten, ville øyeblikksbildet være en kopi av blokkene som er endret siden forrige øyeblikksbilde.

4. EC2 (Elastic Compute Cloud) -forekomst

En EC2-forekomst er en virtuell server i Amazons Elastic Compute Cloud (EC2) som brukes til å distribuere applikasjonene dine på Amazon Web Services (AWS) infrastruktur. EC2-tjenesten lar deg koble til en virtuell server med en autentiseringsnøkkel via SSH-tilkobling og lar deg installere forskjellige komponenter av applikasjonen sammen med applikasjonen din.

5. Autoskaleringsgruppe

Det er en gruppe EC2-forekomster og kjernen i Amazon EC2 AutoScaling. Når du oppretter en AutoScaling-gruppe, må du gi informasjon om undernettene og et første antall forekomster du vil starte med.

Konklusjon

Fra innholdet ovenfor ga vi en god ide om hva autoskalering er og hvor viktig det er i dagens verden.

  • Hvis vi ser at teknologi og brukerkrav øker dag for dag, og også forventningene til den raske og effektive applikasjonen.
  • En flott applikasjon er rask, gir deg god brukeropplevelse og gjør de tingene den er bygget for, og for å oppnå dette trenger du en veldig robust backend og teknologibunke.
  • Etter at du er i virksomhet og det er en hit, vil brukerbasen din sannsynligvis øke, og det vil være situasjoner å håndtere samtidige brukere den gang du trenger autoskalering for å skalere opp og skalere i henhold til situasjoner for å gi brukerne en sømløs opplevelse.

Fra mitt synspunkt er skalering et veldig viktig aspekt i dagens verden, og i dag eller i morgen må vi gjøre dette, gå med AWS autoscaling og skalere opp produktene dine.

Anbefalte artikler

Dette er en guide til Hva er AutoScaling i AWS? Her har vi diskutert dens definisjon, arbeid og forskjellige komponenter av autoscaling i AWS. Du kan også se på følgende artikkel for å lære mer -

  1. Hva er AWS RedShift?
  2. Hva er StringBuilder i C #
  3. Komplett guide til funksjonell testing
  4. Hva er Back End Developer?
  5. AWS Storage Services