AWS Elastic Beanstalk - Applikationsdistribution görs enkelt



Denna AWS Elastic Beanstalk-handledning hjälper dig att förstå hur du distribuerar webbapplikationer i AWS Cloud med AWS Elastic Beanstalk.

är inte längre i sin första fas. Det är nu väl etablerat ochfungerar som en innovativ plattform som gör det möjligt för företag att implementera applikationer som skulle vara omöjliga att leverera på traditionell infrastruktur.Denna framgång har åtföljts av en exponentiell ökning av , Där PaaS är en av dem. Amazon har lanserat sin egen tjänst som följer PaaS-modellen, vilket är AWS Elastisk bönstång!

Låt oss ta en titt på ämnena i den här AWS Beanstalk-artikeln:





  1. Vad är Amazon Elastic Beanstalk?
  2. Fördelar med AWS Elastic Beanstalk
  3. AWS elastiska bönstjalkomponenter
  4. AWS Elastic Beanstalk Architecture
  5. Demo - Distribuera en applikation på Beanstalk

Vad är Amazon Elastic Beanstalk?

ElasticBeanstalk - Elastic Beanstalk - Edureka

Cloud Computing omformar hela applikationsutvecklingsprocessen. Ett antal molnleverantörer, inklusiveAmazon Web Services och Microsoft Azure erbjuder utvecklingsverktyg för att göra processen enklare och säkrare. AWS Elastic Beanstalk är ett sådant utvecklingsverktyg implementerat baserat på PaaS-modellen.



AWS Elastic Beanstalk är en lättanvänd tjänst för distribution och skalning av webbapplikationer och tjänster utvecklade med Java, .NET, PHP, Node.js, Python, Ruby, Go och Docker på kända servrar som Apache, Nginx, Passenger och IIS.

Med AWS Elastic Beanstalk kan en utvecklare distribuera en applikation utan att tillhandahålla den underliggande infrastrukturen samtidigt som den bibehåller hög tillgänglighet. Ta en titt på följande video för att veta mer om Elastic Beanstalk.

AWS Elastic Beanstalk Tutorial | Edureka

Men varför välja Elastic Beanstalk när vi redan har många andra plattformar? Så, låt oss diskutera fördelarna med Elastic Beanstalk.



Fördelar med AWS Elastic Beanstalk

Nedan följer några fördelar som AWS Elastic Beanstalk erbjuder jämfört med andra PaaS-tjänster

Speed ​​- Elastic Beanstalk - EdurekaErbjuder snabbare distribution: Elastic Beanstalk erbjuder utvecklare det snabbaste och enklaste sättet att distribuera sin applikation. Inom några minuter är applikationen redo att användas utan att användare behöver hantera den underliggande infrastrukturen eller resurskonfigurationen.

Logo - Elastisk bönstjälk - EdurekaStöder MultihyresgästArkitektur: AWS Elastic Beanstalk gör det möjligt för användare att dela sina applikationer på olika enheter med hög skalbarhet och säkerhet. Den ger en detaljerad rapport om applikationsanvändning och användarprofiler.

Logo - Elastisk bönstjälk - EdurekaFörenklar operationer: Beanstalk tillhandahåller och driver infrastrukturen och hanterar applikationsstacken. Utvecklare måste bara fokusera på att utveckla kod för sin applikation snarare än att spendera tid på att hantera och konfigurera servrar, databaser, brandväggar och nätverk.

Erbjuder komplett resurskontroll: Beanstalk ger developersfriheten att välja AWS resurser, som EC2-instans typ, som är optimala för deras tillämpning. Det gör att utvecklare kan behålla full kontroll över AWS-resurser och komma åt dem när som helst.

Nu när vi har solida skäl att tro varför AWS Elastic Beanstalk föredras av utvecklare, låt oss titta på dess grundläggande begrepp.

Vill du bli certifierad AWS-arkitekt?

AWS elastiska bönstjalkomponenter

Det finns vissa nyckelbegrepp som du kommer att stöta på ofta när du distribuerar en applikation på Beanstalk. Låt oss titta på dessa begrepp:

Ansökan:

  • En applikation i Elastic Beanstalk liknar konceptuellt en mapp
  • En applikation är en samling komponenter inklusive miljöer, versioner och miljökonfiguration

Applikationsversion:

  • En applikationsversion hänvisar till en specifik, märkt iteration av distribuerbar kod för en webbapplikation
  • En applikationsversion pekar på ett Amazon S3-objekt som innehåller den distribuerbara koden, till exempel en Java WAR-fil

Miljö:

  • Miljöer inom Elastic Beanstalk Application är där den aktuella versionen av applikationen kommer att vara aktiv
  • Varje miljö kör bara en enda applikationsversion åt gången. Men det är möjligt att köra samma eller olika versioner av en applikation i många miljöer samtidigt

Miljönivå:

Baserat på kravet erbjuder beanstalk två olika miljönivåer: webbserverMiljö, Arbetsmiljö

  • Webbservermiljö: HandtagHTTP-förfrågningar från klienter
  • ArbetstagareMiljö: Processerbakgrundsuppgifter som är resurskrävande och tidskrävande

Här är en illustration som visar hurApplikation, applikationsversion och miljöerrelaterar till varandra:

Och här ser Beanstalk Environment ut med standardbehållartyp:


Nu när du känner till olika nyckelbegrepp som rör Elastic Beanstalk, låt oss förstå arkitekturen för Elastic Beanstalk.

AWS Elastic Beanstalk Architecture

sortera i c ++

Innan vi går in i AWS Elastic Beanstalk-arkitektur, låt oss svara på den vanligaste frågan,

Vad är en elastisk bönstångsmiljö?

Miljö hänvisar till den aktuella versionen av applikationen. När du startar en miljö för din applikation ber Beanstalk dig att välja mellan två olika miljönivåer, dvs. webben Server Miljö eller Arbetarmiljö . Låt oss förstå dem en efter en.

Webbservermiljö

Applikationsversion som är installerad på webbservermiljön hanterar HTTP-förfrågningar från klienten. Följande diagram illustrerar ett exempel på AWS Elastic Beanstalk-arkitektur för en webbservermiljö och visar hur komponenterna i den typen av miljönivå fungerar tillsammans.

Beanstalk-miljö - Miljön är kärnan i ansökan. När du startar en miljö tilldelar Beanstalk olika resurser som behövs för att köra programmet framgångsrikt.

Elastisk belastningsbalans - När applikationen tar emot flera förfrågningar från en klient vidarebefordrar Amazon Route53 dessa förfrågningar till Elastic Load Balancer. Belastningsutjämnaren fördelar förfrågningarna mellan EC2-instanser av Auto Scaling Group.

Grupp för automatisk skalning - Auto Scaling Group startar automatiskt ytterligare Amazon EC2-instanser för att tillgodose ökad belastning på din applikation. Om belastningen på din applikation minskar, stoppar Amazon EC2 automatisk skalning instanser, men lämnar alltid minst en instans igång.

Värdchef - Det är en programvarukomponent som körs på varje EC2-instans som har tilldelats din applikation. Värdchefen ansvarar för olika saker som

  • Generera och övervaka applikationsloggfiler
  • Genererar händelser på instansnivå
  • Övervakning av applikationsserver

Säkerhetsgrupper - Säkerhetsgruppen är som en brandvägg för din instans. Elastic Beanstalk har en standard säkerhetsgrupp som gör att klienten kan komma åt applikationen med HTTP Port 80. Det ger dig också ett alternativ där du också kan definiera säkerhetsgrupper till databasservern. Bilden nedan sammanfattar vad vi har lärt oss om webbservermiljön.

Så det handlar om webbservermiljö. Men vad händer om applikationsversionen installerad på Web Server Tier fortsätter att neka flera förfrågningar eftersom den har stött på tidskrävande och resurskrävande uppgifter medan hanteringen av en begäran? Det är här Worker Tier kommer in i bilden.

Vill du ta din 'moln' -kunskap till nästa nivå?

Arbetarmiljö

En arbetare är en separat bakgrundsprocess som hjälper webbservernivå genom att hantera resurskrävande eller tidskrävande operationer. Dessutom skickar den e-postmeddelanden, genererar rapporter och rensar databaser. Detta gör det möjligt för applikationen att vara lyhörd och hantera flera förfrågningar.

Det är fantastiskt, men hur vet Worker-processen vilka uppgifter som ska hanteras och när? Hur kommunicerar dessa två miljönivåer? För det använder vi en meddelandeköstjänst av AWS-samtalet Amazon Simple Queue Service (SQS). Bilden nedan ger dig en grov uppfattning om hur arbetstagarprocessen tar emot och hanterar bakgrundsuppgifter.

Arbetsflödet för arbetarprocessen är ganska enkelt. När du startar ett arbetsmiljönivå installerar Elastic Beanstalk en demon på varje EC2-instans i gruppen Auto Scaling. Daemon drar förfrågningar som skickas från en Amazon SQS-kö. Baserat på köens prioritet skickar SQS meddelandet via enPOSTAbegäran till HTTP-vägen för arbetarmiljön. Arbetaren vid mottagandet avmeddelandet utför uppgifterna och skickar ett HTTP-svar när operationen är klar. SQS vid mottagande av svarsmeddelande raderar meddelandet i kön. Om det inte får svar kommer det kontinuerligt att försöka skicka meddelandena.

Nu när vi har sett Elastic Beanstalk teoretiskt, i resten av denna blogg kommer vi att se hur man distribuerar en applikation på Elastic Beanstalk.

Distribuera en applikation på elastisk bönstjälk

Att distribuera en applikation på Elastic Beanstalk är en ganska enkel process. Låt oss se hur man distribuerar en applikation stegvis.

Steg 1: Klicka på på Elastic Beanstalk-konsolen Skapa ny applikation alternativ. En dialogruta visas där du kan ge ett namn och lämplig beskrivning för din ansökan.

Steg 2: Nu när applikationsmappen har skapats kan du klicka på Fliken Åtgärder och välj Skapa miljö alternativ. Beanstalk ger dig ett alternativ där du kan skapa flera miljöer för din applikation.

Steg 3: Välj mellan två olika miljönivåalternativ. Välj Webbservermiljö om du vill att ditt program ska hantera HTTP-förfrågningar eller välj Arbetsmiljö för att hantera bakgrundsuppgifter.

Steg 4: En annan dialogruta visas där du måste ange ett domännamn och beskrivning för din ansökan.

Steg 5: Välj en plattform som du väljer för din applikation. Elastic Beanstalk ger dig flera alternativ. Du kan välja en exempelapplikation från Beanstalk eller ladda upp en fil som har kod för din applikation.

Beanstalk tar några minuter att starta en miljö. När miljön har startats kan du i navigeringsfönstret se flera alternativ där du kan ändra konfigurationen för ditt program, visa loggfiler och händelser. Eftersom du redan är på miljösidan kan du prova att utforska olika funktioner som Beanstalk erbjuder.

Steg 6: I det övre högra hörnet hittar du webbadressen till din applikationsversion. Klicka på den webbadressen. Du kommer till en sida som bekräftar att du framgångsrikt har startat din ansökan på Elastic Beanstalk.

Grattis! Du har implementerat en applikation på Elastic Beanstalk Platform.

Jag hoppas att du nu har en tydlig bild av Elastic Beanstalk och hur du kan använda Beanstalk för att distribuera dina applikationer.

Så det här är det! Jag hoppas att den här bloggen var informativ och gav mervärde till din kunskap. Om du är intresserad av att ta din kunskap om Amazon Web Services till nästa nivå kan du registrera dig för kurs av Edureka.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i “AWS Elastic Beanstalk” så återkommer vi till dig så snart som möjligt.