AWS Elastic Beanstalk: distribuzione delle applicazioni semplificata



Questo tutorial su AWS Elastic Beanstalk ti aiuterà a capire come distribuire applicazioni web sul cloud AWS utilizzando AWS Elastic Beanstalk.

non è più nelle sue fasi primordiali. Ora è ben consolidato efunge da piattaforma innovativa, consentendo alle aziende di implementare applicazioni che sarebbero impossibili da fornire su infrastrutture tradizionali.Questo successo è stato accompagnato da un aumento esponenziale di , PaaS è uno di loro. Amazon ha lanciato il proprio servizio che segue il modello PaaS, ovvero AWS Elastic Beanstalk!

Diamo un'occhiata agli argomenti trattati in questo articolo di AWS Beanstalk:





  1. Che cos'è Amazon Elastic Beanstalk?
  2. Vantaggi di AWS Elastic Beanstalk
  3. Componenti di AWS Elastic Beanstalk
  4. Architettura AWS Elastic Beanstalk
  5. Demo: distribuisci un'applicazione su Beanstalk

Che cos'è Amazon Elastic Beanstalk?

ElasticBeanstalk - Elastic Beanstalk - Edureka

Il cloud computing sta rimodellando l'intero processo di sviluppo dell'applicazione. Numerosi fornitori di cloud, tra cuiAmazon Web Services e Microsoft Azure offrono strumenti di sviluppo per rendere il processo più semplice e sicuro. AWS Elastic Beanstalk è uno di questi strumenti di sviluppo implementato sulla base del modello PaaS.



AWS Elastic Beanstalk lo è un servizio di facile utilizzo per la distribuzione e il ridimensionamento di applicazioni e servizi Web sviluppati con Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker su server familiari come Apache, Nginx, Passenger e IIS.

Con AWS Elastic Beanstalk, uno sviluppatore può distribuire un'applicazione senza eseguire il provisioning dell'infrastruttura sottostante mantenendo un'elevata disponibilità. Dai un'occhiata al seguente video per saperne di più su Elastic Beanstalk.

Tutorial AWS Elastic Beanstalk | Edureka

Ma perché scegliere Elastic Beanstalk quando abbiamo già molte altre piattaforme? Quindi, parliamo dei vantaggi di Elastic Beanstalk.



Vantaggi di AWS Elastic Beanstalk

Di seguito sono riportati alcuni vantaggi offerti da AWS Elastic Beanstalk rispetto ad altri servizi PaaS

Speed ​​- Elastic Beanstalk - EdurekaOffre una distribuzione più rapida: Elastic Beanstalk offre agli sviluppatori il modo più rapido e semplice per distribuire la loro applicazione. In pochi minuti, l'applicazione sarà pronta per l'uso senza che gli utenti debbano occuparsi dell'infrastruttura sottostante o della configurazione delle risorse.

Logo - Elastic Beanstalk - EdurekaSupporta Multi-tenantArchitettura: AWS Elastic Beanstalk consente agli utenti di condividere le proprie applicazioni su diversi dispositivi con elevata scalabilità e sicurezza. Fornisce un rapporto dettagliato sull'utilizzo dell'applicazione e sui profili utente.

Logo - Elastic Beanstalk - EdurekaSemplifica le operazioni: Beanstalk fornisce e gestisce l'infrastruttura e gestisce lo stack dell'applicazione. Gli sviluppatori devono concentrarsi solo sullo sviluppo del codice per la loro applicazione piuttosto che dedicare tempo alla gestione e alla configurazione di server, database, firewall e reti.

Offre un controllo completo delle risorse: Beanstalk dà developersla libertà di selezionare l'AWRisorse S, come Istanza EC2 genere, che sono ottimali per la loro applicazione. Consente agli sviluppatori di mantenere il pieno controllo sulle risorse AWS e di accedervi in ​​qualsiasi momento.

come terminare un programma in java

Ora che abbiamo solidi motivi per credere perché AWS Elastic Beanstalk è preferito dagli sviluppatori, diamo un'occhiata ai suoi concetti fondamentali.

Vuoi essere un architetto AWS certificato?

Componenti di AWS Elastic Beanstalk

Ci sono alcuni concetti chiave che incontrerai frequentemente quando distribuisci un'applicazione su Beanstalk. Diamo un'occhiata a questi concetti:

Applicazione:

  • Un'applicazione in Elastic Beanstalk è concettualmente simile a una cartella
  • Un'applicazione è una raccolta di componenti inclusi ambienti, versioni e configurazione dell'ambiente

Versione dell'applicazione:

  • Una versione dell'applicazione si riferisce a una specifica iterazione etichettata del codice distribuibile per un'applicazione web
  • Una versione dell'applicazione punta a un oggetto Amazon S3 che contiene il codice distribuibile come un file WAR Java

Ambiente:

  • Gli ambienti all'interno dell'applicazione Elastic Beanstalk sono i luoghi in cui sarà attiva la versione corrente dell'applicazione
  • Ogni ambiente esegue solo una singola versione dell'applicazione alla volta. Ma è possibile eseguire versioni uguali o diverse di un'applicazione in molti ambienti contemporaneamente

Livello ambientale:

In base ai requisiti, il beanstalk offre due diversi livelli di ambiente: Web ServerAmbiente, Ambiente dei lavoratori

  • Ambiente server Web: ManiglieRichieste HTTP dai client
  • LavoratoreAmbiente: processiattività in background che richiedono risorse e tempo

Ecco un'illustrazione per mostrare comeApplicazione, versione dell'applicazione e ambientirelazionarsi tra loro:

Ed ecco come appare l'ambiente Beanstalk che utilizza il tipo di contenitore predefinito:


Ora che conosci i diversi concetti chiave relativi a Elastic Beanstalk, comprendi l'architettura di Elastic Beanstalk.

Architettura AWS Elastic Beanstalk

Prima di entrare nell'architettura AWS Elastic Beanstalk, rispondiamo alla domanda più frequente,

Cos'è un ambiente Elastic Beanstalk?

L'ambiente si riferisce alla versione corrente dell'applicazione. Quando avvii un ambiente per la tua applicazione, Beanstalk ti chiede di scegliere tra due diversi livelli di ambiente, ovvero Web server Ambiente o Ambiente dei lavoratori . Vediamoli uno per uno.

Ambiente server Web

La versione dell'applicazione installata nell'ambiente del server Web gestisce le richieste HTTP dal client. Il diagramma seguente illustra un esempio di architettura AWS Elastic Beanstalk per un livello di ambiente server Web e mostra come i componenti in quel tipo di livello ambiente interagiscono.

Beanstalk Environment - L'ambiente è il cuore dell'applicazione. Quando avvii un ambiente, Beanstalk assegna varie risorse necessarie per eseguire correttamente l'applicazione.

Elastic Load Balancer - Quando l'applicazione riceve più richieste da un client, Amazon Route53 inoltra queste richieste a Elastic Load Balancer. Il sistema di bilanciamento del carico distribuisce le richieste tra le istanze EC2 di Auto Scaling Group.

Gruppo Auto Scaling - Auto Scaling Group avvia automaticamente istanze aggiuntive di Amazon EC2 per gestire un carico crescente sulla tua applicazione. Se il carico sulla tua applicazione diminuisce, Amazon EC2 Auto Scaling arresta le istanze, ma lascia sempre almeno un'istanza in esecuzione.

Gestore host - È un componente software che viene eseguito su ogni istanza EC2 assegnata alla tua applicazione. Il gestore host è responsabile di varie cose come

  • Generazione e monitoraggio dei file di registro dell'applicazione
  • Generazione di eventi a livello di istanza
  • Monitoraggio del server delle applicazioni

Gruppi di sicurezza - Security Group è come un firewall per la tua istanza. Elastic Beanstalk dispone di un gruppo di sicurezza predefinito, che consente al client di accedere all'applicazione utilizzando la porta HTTP 80. Fornisce inoltre un'opzione in cui è possibile definire anche gruppi di sicurezza per il server del database. L'immagine sotto riassume ciò che abbiamo appreso sull'ambiente server web.

Quindi questo è tutto sull'ambiente server web. Ma cosa succede se la versione dell'applicazione installata sul livello server Web continua a negare più richieste perché ha incontrato attività che richiedono molto tempo e risorse durante la gestione di una richiesta? Bene, è qui che entra in gioco il livello dei lavoratori.

Vuoi portare la tua conoscenza del 'cloud' al livello successivo?

Ambiente dei lavoratori

Un worker è un processo in background separato che assiste il livello del server Web gestendo operazioni che richiedono molte risorse o che richiedono molto tempo. Inoltre, invia notifiche tramite posta elettronica, genera report e pulisce i database. Ciò consente all'applicazione di rimanere reattiva e gestire più richieste.

È fantastico, ma come fa il processo Worker a sapere quali attività gestire e quando? Come comunicano questi due livelli di ambiente? Per questo, utilizziamo un servizio di accodamento dei messaggi di AWS chiamato Amazon Simple Queue Service (SQS). L'immagine seguente offre un'idea approssimativa di come il processo di lavoro riceve e gestisce le attività in background.

Il flusso di lavoro del processo di lavoro è abbastanza semplice. Quando avvii un livello Ambiente di lavoro, Elastic Beanstalk installa un daemon su ogni istanza EC2 nel gruppo Auto Scaling. Il daemon richiama le richieste inviate da una coda Amazon SQS. In base alla priorità della coda, SQS invierà il messaggio tramite un fileINVIARErichiesta al percorso HTTP dell'ambiente di lavoro. Il lavoratore dopo aver ricevuto ilmessaggio esegue le attività e invia una risposta HTTP una volta completata l'operazione. SQS alla ricezione del messaggio di risposta elimina il messaggio nella coda. Se non riesce a ricevere una risposta, tenterà continuamente di inviare i messaggi.

final infine e finalizzare in java

Ora che abbiamo visto Elastic Beanstalk in teoria, nel resto di questo blog vedremo come distribuire un'applicazione su Elastic Beanstalk.

Distribuisci un'applicazione su Elastic Beanstalk

La distribuzione di un'applicazione su Elastic Beanstalk è un processo abbastanza semplice. Vediamo come implementare gradualmente un'applicazione.

Passo 1: Nella console Elastic Beanstalk fare clic su Crea nuova applicazione opzione. Viene visualizzata una finestra di dialogo in cui è possibile fornire un nome e una descrizione appropriata per l'applicazione.

Passo 2: Ora che la cartella dell'applicazione è stata creata, puoi fare clic sul file Scheda Azioni e seleziona Crea ambiente opzione. Beanstalk ti offre un'opzione in cui puoi creare più ambienti per la tua applicazione.

Passaggio 3: Scegli tra due diverse opzioni del livello ambiente. Scegli Ambiente server Web se desideri che la tua applicazione gestisca le richieste HTTP o scegli Ambiente di lavoro per gestire le attività in background.

Passaggio 4: Viene visualizzata un'altra finestra di dialogo in cui è necessario fornire un nome di dominio e una descrizione per l'applicazione.

come usare tostring in java

Passaggio 5: Scegli una piattaforma di tua scelta per la tua applicazione. Elastic Beanstalk ti fornirà più opzioni. Puoi scegliere un'applicazione di esempio fornita da Beanstalk o caricare un file contenente il codice per la tua applicazione.

Beanstalk impiegherà alcuni minuti per avviare un ambiente. Una volta avviato l'ambiente, nel riquadro di navigazione è possibile visualizzare più opzioni in cui è possibile modificare la configurazione dell'applicazione, visualizzare i file di registro e gli eventi. Dato che sei già nella pagina Ambiente, prova a esplorare le diverse funzionalità offerte da Beanstalk.

Passaggio 6: Nell'angolo in alto a destra, troverai l'URL della versione dell'applicazione. Fare clic su quell'URL. Verrai indirizzato a una pagina che confermerà che hai avviato correttamente la tua applicazione su Elastic Beanstalk.

Congratulazioni! Hai distribuito correttamente un'applicazione su Elastic Beanstalk Platform.

Spero che ora tu abbia un quadro chiaro di Elastic Beanstalk e di come puoi utilizzare Beanstalk per distribuire le tue applicazioni.

Quindi è questo! Spero che questo blog sia stato informativo e abbia aggiunto un valore alla tua conoscenza. Se sei interessato a portare la tua conoscenza di Amazon Web Services al livello successivo, iscriviti al corso di Edureka.

Hai domande per noi? Indicalo nella sezione commenti di 'AWS Elastic Beanstalk' e ti risponderemo il prima possibile.