Vad är AutoScaling i AWS? - Hur det fungerar - Olika komponenter

Innehållsförteckning:

Anonim

Översikt över autoscaling i AWS

Autoskalering, även stavad som automatisk skalning eller ibland automatisk skalning, är en teknik inom molnberäkning, där mängden resurser som krävs för att en servergård ska fungera effektivt, vanligtvis uppmätt som antalet aktiva servrar skalas upp eller skalas ned när det krävs baserat på belastningen på hela servergården. Vi kan nära relatera detta till lastbalansering. Vanligtvis är autoskalering en typ av automatisering för en manuell process. Låt oss ta ett scenario där du har en e-handelswebbplats som kör och betjänar kunder effektivt, ingen av dina kunder klagar på försenad webbplats och inte heller du tappar användare på grund av webbplatsens prestanda. När verksamheten växte gjorde du marknadsföring och människor blev mer medvetna om din webbplats dag för dag trafiken på webbplatsen ökade. På ena sidan var du glad över att se ökningen i affärer men du måste också se att webbplatsen ska tjäna varje kund och inte fördröja. Låt oss säga att det för närvarande kan betjäna 100 kunder i taget betyder att om 100 användare har loggat in på din webbplats så kan alla navigera smidigt och köpa, och allt detta körs över en viss fast konfiguration för anta att t2.micro-instansen av AWS. Nu när en webbplats blir populär förväntar du dig cirka 250 - 300 användare i taget, du behöver helt klart ytterligare två servrar där du kan dela upp trafiken och då kan alla navigera ordentligt.

Det manuella arbetet som är att beräkna hur mycket resurser du skulle behöva för att betjäna dina kunder och skala systemet baserat på belastningen över din servergård och dela trafiken görs manuellt för ovanstående scenario. Vi kan säga att detta faktiskt är en skalning men inte autoskalering eftersom det gjordes manuellt men du kan använda tjänsten AutoScaling med en lastbalancer i AWS som automatiserar ovanstående uppgift och det är vad du kallar Autoscaling eller automatisk skalning när det gäller moln datoranvändning.

Hur fungerar Autoscaling i AWS?

I AWS finns flera enheter involverade i processen för autoskalering, vilket är: - Load Balancer och AMI är två huvudkomponenter som är involverade i denna process. Först måste du skapa AMI för din nuvarande server, i enklare termer kan vi säga att en mall för din nuvarande konfiguration består av alla systeminställningar och nuvarande webbplats. Detta kan du göra i AMI-avsnittet i AWS. Om vi ​​följer vårt ovanstående scenario och du har konfigurerat autoskalering så att ditt system är förberett för framtida trafik.

När trafiken skulle börja öka AWS autoscaling-tjänsten skulle automatiskt initiera lanseringen av en annan instans med samma konfiguration för din nuvarande server med hjälp av AMI på din server.

Sedan kommer nästa del där vi behöver dela eller dirigera vår trafik lika mellan de fall som nyligen har lanserats, detta skulle tas om hand av lastbalansen i AWS. Lastbalancer fördelar trafiken baserat på belastningen över ett visst system, de gör någon intern process för att bestämma var trafiken ska dirigeras.

Skapandet av en ny instans beror enbart på en uppsättning regler som definieras av användaren som konfigurerar autoskalering. Reglerna kan vara lika enkla som CPU-användning, till exempel kan du konfigurera autoscaling när din CPU-användning når 70-80% och du vill starta en ny instans för att hantera trafiken. Det kan också finnas regler för att skala ner.

Autoskaleringskomponenter i AWS

Det finns många komponenter involverade i processen för autoskalering, några av dem som vi redan nämnde tidigare gillar AMI, Load balancers och det finns några andra också.

Komponenter involverade i autoscaling: -

  • AMI (Amazon Machine Image)
  • Lastbalanserare
  • Snapshot
  • EC2-instans
  • Autoskaleringsgrupper

Det kan finnas fler komponenter men du kan säga att de flesta komponenter som kan skalas kan ingå i Autoscaling.

1. AMI

En AMI är en körbar bild av din EC2-instans som du kan använda för att skapa nya instanser. För att skala dina resurser behöver du din nya server för att ha alla dina webbplatsers konfiguration och redo att starta. I AWS kan du uppnå detta genom AMI: er, som inte är något annat än en identisk körbar bild av ett system som du kan använda för att skapa nya bilder och samma skulle användas av AWS i fall av autoskalering för att starta nya instanser.

2. Lastbalancer

Att skapa instans är bara en del av autoskalering som du också behöver för att dela din trafik mellan de nya instanserna och att arbetet hanteras av Load Balancer. En lastbalanserare kan automatiskt identifiera trafiken över de system som den är ansluten till och kan omdirigera förfrågningarna på grundval av regler eller på klassiskt sätt till instansen med mindre belastning. Processen att dela upp trafiken mellan de fall vi kallar det lastbalansering. Lastbalanserare används för att öka tillförlitligheten hos en applikation och effektivitet för att hantera samtidiga användare.

En lastbalansörare spelar en mycket viktig roll i autoskalering. Vanligtvis kan lastbalanserare vara av två typer:

  • Klassisk lastbalancer.
  • Applikation Load Balancer.

Classic Load Balancer: - Klassisk lastbalancer följer en mycket enkel strategi, det kommer bara att fördela trafiken lika till alla instanser. Det är väldigt grundläggande och numera använder ingen klassisk lastbalans. Det kan vara ett bra val för en enkel statisk html-sidwebbplats, men i nuvarande scenarier finns det hybrid-appar, eller multikomponenter och applikationer med hög beräkning som har många komponenter dedikerade till ett visst arbete.

Applikation Load Balancer

  • Den mest använda typen av lastbalanserare där trafiken omdirigeras på grundval av vissa enkla eller komplexa regler som kan baseras på "sökväg" eller "värd" eller som användardefinierad.
  • Det skulle vara bättre om vi tar ett scenario med en dokumentbehandlingsapplikation.
  • Låt oss säga att du har en applikation baserad på mikroservicearkitektur eller monolitisk och sökvägen "/ dokument" är specifik för en dokumentbehandlingstjänst och andra sökvägar "/ rapporter" som bara visar rapporterna från dokumenten som behandlas och statistik om bearbetade data. Vi kan ha en autoscaling-grupp för en server som ansvarar för att bearbeta dokumenten och en annan bara för att visa rapporterna.
  • I applikationsbelastningsbalans kan du konfigurera och ställa in en regel enligt en sökväg som om sökvägen matchar “/ dokument” sedan omdirigerar till en autoskalegrupp för server 1 eller om den matchar med sökväg “/ rapporter”, sedan omdirigerar den till en autoskalegrupp för server 2. Internt kan en grupp ha flera instanser och belastningen kommer att fördelas i klassisk form betyder lika mellan fallen.

3. Snapshot

Kopian av data som du har på din hårddisk är vanligtvis en bild av din lagring. Den typiska skillnaden mellan snapshot och AMI är en körbar bild som kan användas för att skapa en ny instans men snapshot är bara en kopia av de data du har i din instans. Om du har en inkrementell ögonblicksbild av din EC2-instans skulle snapshot vara en kopia av de block som har ändrats sedan föregående ögonblicksbild.

4. EC2 (Elastic Compute Cloud) -instans

En EC2-instans är en virtuell server i Amazons Elastic Compute Cloud (EC2) som används för att distribuera dina applikationer på Amazon Web Services (AWS) infrastruktur. Med EC2-tjänsten kan du ansluta till en virtuell server med en autentiseringsnyckel via SSH-anslutning och låter dig installera olika komponenter i din applikation tillsammans med din applikation.

5. Autoscaling-grupp

Det är en grupp EC2-instanser och kärnan i Amazon EC2 AutoScaling. När du skapar en AutoScaling-grupp måste du ge information om undernät och ett första antal instanser du vill börja med.

Slutsats

Från innehållet ovan fick vi en god uppfattning om vad autoskalering är och hur viktigt det är i dagens värld.

  • Om vi ​​ser teknik och användarnas krav ökar dag för dag och även deras förväntningar på den snabba och effektiva applikationen.
  • En bra applikation är snabb, ger dig bra användarupplevelse och gör saker som den är byggda för och för att uppnå detta behöver du en mycket robust backend och teknikbunt.
  • När du är i affärer och det är en hit träffar din användarbas mycket troligt och det kommer att finnas situationer för att hantera samtidiga användare den tiden du behöver autoskalering för att skala upp och skala ned efter situationer för att ge dina användare en sömlös upplevelse.

Ur min synvinkel är skalning en mycket viktig aspekt i dagens värld och idag eller imorgon måste vi göra detta, gå med AWS autoscaling och skala upp dina produkter.

Rekommenderade artiklar

Detta är en guide till Vad är AutoScaling i AWS? Här har vi diskuterat dess definition, arbete och olika komponenter för autoskalering i AWS. Du kan också titta på följande artikel för att lära dig mer -

  1. Vad är AWS RedShift?
  2. Vad är StringBuilder i C #
  3. Komplett guide till funktionell testning
  4. Vad är Back End Developer?
  5. AWS Storage Services