Oversigt over Autoscaling i AWS
Autoskalering, også stavet som autoskalering eller sommetider automatisk skalering er en teknik inden for cloud computing, hvor den mængde ressourcer, der kræves for at en servergård kan fungere effektivt, typisk målt som antallet af aktive servere skaleres op eller skaleres ned, når det kræves baseret på belastningen på hele serverfarmen. Vi kan tæt forbinde dette med belastningsbalancering. Typisk er autoscaling en slags automatisering til en manuel proces. Lad os tage et scenarie, hvor du har et e-handelswebsted, der kører og betjener kunder effektivt, ingen af dine kunder klager over forsinkelse af webstedet, eller du mister brugere på grund af webstedsydelsen. Efterhånden som virksomheden voksede markedsførte du, og folk blev mere opmærksomme på dit websted dag for dag blev trafikken på webstedet øget. På den ene side var du glad for at se stigningen i erhvervslivet, men du er også nødt til at se, at webstedet skulle tjene enhver kunde og ikke forsinke. Lad os sige, at det i øjeblikket kan betjene 100 kunder ad gangen, betyder, at hvis 100 brugere logget ind på dit websted, så kan alle navigere jævnt og købe, og alt dette kører over en bestemt konfiguration af formodentlig t2.micro-forekomst af AWS. Efterhånden som et websted bliver populært, forventer du ca. 250 - 300 brugere ad gangen, du har helt klart brug for 2 servere mere, hvor du kan opdele trafikken, og så kan alle navigere korrekt.
Det manuelle arbejde, der er at beregne, hvor mange ressourcer du har brug for til at betjene dine kunder og skalere systemet baseret på belastningen over din serverfarme og opdelingen af trafikken udføres manuelt i ovenstående scenario. Vi kan sige, at dette faktisk er en skalering, men ikke autoskala, fordi det blev udført manuelt, men du kan bruge tjenesten AutoScaling med en belastningsbalancer i AWS, som automatiserer ovennævnte opgave, og det er, hvad du kalder Autoscaling eller automatisk skalering i form af sky computing.
Hvordan fungerer autoscaling i AWS?
I AWS er der flere enheder involveret i processen med autoskala, hvilket er: - Load Balancer og AMI'er er to hovedkomponenter, der er involveret i denne proces. Først skal du oprette AMI på din nuværende server. På enklere vilkår kan vi sige, at en skabelon med din nuværende konfiguration består af al systemindstillingen og det aktuelle websted. Dette kan du gøre i AMI-afsnittet i AWS. Hvis vi følger vores ovenstående scenario, og du har konfigureret autoskala, så dit system er forberedt på den fremtidige trafik.
Når trafikken ville begynde at øge AWS-autoskaleringstjenesten, vil den automatisk starte lanceringen af en anden instans med den samme konfiguration af din nuværende server ved hjælp af AMI på din server.
Derefter kommer den næste del, hvor vi er nødt til at opdele eller rute vores trafik lige mellem de tilfælde, der nyligt er lanceret, dette ville blive taget hånd om af belastningsafbalanceren i AWS. Belastningsafbalancering opdeler trafikken baseret på belastningen over et bestemt system, de foretager en intern proces for at beslutte, hvor trafikken skal dirigeres.
Oprettelsen af en ny instans afhænger udelukkende af et sæt regler defineret af brugeren, der konfigurerer autoskala. Reglerne kan være så enkle som CPU-udnyttelse for eksempel, du kan konfigurere autoscaling, når din CPU-anvendelse når 70-80%, så du vil starte en ny instans til at håndtere trafikken. Der kan også være regler, der skal opdeles.
Autoskaleringskomponenter i AWS
Der er mange komponenter involveret i processen med autoskala, nogle af dem har vi allerede navngivet før som AMI, Load balancers, og der er nogle andre også.
Komponenter involveret i autoscaling: -
- AMI (Amazon Machine Image)
- Indlæs balancer
- Snapshot
- EC2-forekomst
- Autoskaleringsgrupper
Der kan være flere komponenter, men du kan sige, at de fleste af de komponenter, der kan skaleres, kan være en del af Autoscaling.
1. AMI
En AMI er et eksekverbart billede af din EC2-forekomst, som du kan bruge til at oprette nye forekomster. For at skalere dine ressourcer har du brug for din nye server for at have al konfiguration af dine websteder og klar til at starte. I AWS kan du opnå dette ved AMI'er, som ikke er andet end et identisk eksekverbart billede af et system, som du kan bruge til at oprette nye billeder, og det samme ville blive brugt af AWS i tilfælde af autoskala til at starte nye tilfælde.
2. Indlæs balancer
Oprettelse af eksempel er kun en del af autoskalering, du har også brug for at opdele din trafik mellem de nye tilfælde, og at arbejdet håndteres af Load Balancer. En belastningsafbalancering kan automatisk identificere trafikken over de systemer, som den er forbundet til, og kan omdirigere anmodningerne på grundlag af regler eller på klassisk måde til forekomsten med mindre belastning. Processen med at opdele trafikken mellem de tilfælde, vi kalder det lastbalancering. Belastningsbalancere bruges til at øge pålideligheden af en applikation og effektivitet til at håndtere samtidige brugere.
En belastningsbalancer placerer en meget vigtig rolle i autoskala. Belastningsbalancere kan typisk være af to typer:
- Klassisk belastningsbalancer.
- Ansøgning Load Balancer.
Klassisk belastningsbalancer: - Klassisk belastningsbalancer følger en meget enkel tilgang, det vil bare distribuere trafikken lige til alle tilfælde. Det er meget grundlæggende, og i dag bruger ingen en klassisk belastningsafbalancering. Det kan være et godt valg til et simpelt statisk html-websted, men i nuværende scenarier er der hybrid-apps eller multikomponenter og applikationer med høj beregning, som har adskillige komponenter dedikeret til et bestemt arbejde.
Ansøgning Load Balancer
- Den mest anvendte type belastningsafbalancering, hvor trafikken omdirigeres på grundlag af visse enkle eller komplekse regler, der kan være baseret på "sti" eller "vært" eller som brugerdefineret.
- Det ville være bedre, hvis vi tager et scenarie med en dokumentbehandlingsapplikation.
- Lad os sige, at du har en applikation, der er baseret på mikroservicearkitektur eller monolitisk, og stien "/ dokument" er specifik for en dokumentbehandlingsservice og andre stier "/ rapporter", der bare viser rapporterne om dokumenter, der bliver behandlet og statistik om behandlede data. Vi kan have en autoskaleringsgruppe til en server, der er ansvarlig for at behandle dokumenterne og en anden kun for at vise rapporterne.
- I applikationsbelastningsbalancer kan du konfigurere og indstille regel i henhold til en sti, der, hvis stien matcher “/ dokument”, så omdirigerer til en autoskalegruppe til server 1, eller hvis den stemmer overens med stien “/ rapporter”, så omdirigerer den til en autoskalegruppe for server 2. Internt kan en gruppe have flere forekomster, og belastningen vil blive fordelt i klassisk form betyder ens mellem forekomsterne.
3. Snapshot
Kopien af de data, du har på din harddisk, er typisk et billede af dit lager. Den typiske forskel mellem snapshot og AMI er et eksekverbart billede, der kan bruges til at oprette en ny instans, men snapshot er bare en kopi af de data, du har i din instans. Hvis du har et inkrementelt snapshot af din EC2-forekomst, ville snapshot være en kopi af de blokke, der er ændret siden det forrige snapshot.
4. EC2 (Elastic Compute Cloud) -forekomst
En EC2-forekomst er en virtuel server i Amazons Elastic Compute Cloud (EC2), der bruges til at distribuere dine applikationer på Amazon Web Services (AWS) infrastruktur. EC2-service giver dig mulighed for at oprette forbindelse til en virtuel server med en godkendelsesnøgle via SSH-forbindelse og giver dig mulighed for at installere forskellige komponenter i din applikation sammen med din applikation.
5. Autoskaleringsgruppe
Det er en gruppe af EC2-forekomster og kernen i Amazon EC2 AutoScaling. Når du opretter en AutoScaling-gruppe, skal du give oplysninger om undernettene og et første antal tilfælde, du vil starte med.
Konklusion
Fra ovenstående indhold fik vi en god idé om, hvad autoscaling er, og hvor vigtigt det er i dagens verden.
- Hvis vi ser teknologi og brugernes krav stiger dag for dag og også deres forventninger til den hurtige og effektive applikation.
- En fantastisk applikation er hurtig, giver dig god brugeroplevelse og gør de ting, som det er bygget til, og for at opnå dette har du brug for en meget robust backend og teknologiback.
- Når du er i forretning, og det er et hit, vil din brugerbase meget sandsynligvis øges, og der vil være situationer til at håndtere samtidige brugere, den gang du har brug for autoskalering for at skalere og skalere efter situationer for at give dine brugere en problemfri oplevelse.
Fra mit synspunkt er skalering et meget vigtigt aspekt i dagens verden, og i dag eller i morgen er vi nødt til at gøre det, gå med AWS autoscaling og skalere dine produkter.
Anbefalede artikler
Dette er en guide til Hvad er AutoScaling i AWS? Her har vi diskuteret dens definition, arbejdsgang og forskellige komponenter til autoskala i AWS. Du kan også se på den følgende artikel for at lære mere -
- Hvad er AWS RedShift?
- Hvad er StringBuilder i C #
- Komplet guide til funktionel test
- Hvad er Back End Developer?
- AWS Storage Services