AWS Elastic Beanstalk - Déploiement d'applications simplifié

Ce didacticiel AWS Elastic Beanstalk vous aidera à comprendre comment déployer des applications Web sur AWS Cloud à l'aide d'AWS Elastic Beanstalk.

n’en est plus à ses premiers stades. Il est maintenant bien établi etsert de plate-forme innovante, permettant aux entreprises de mettre en œuvre des applications qui seraient impossibles à fournir sur une infrastructure traditionnelle.Ce succès s'est accompagné d'une augmentation exponentielle de , PaaS étant l'un d'entre eux. Amazon a lancé son propre service qui suit le modèle PaaS, qui est AWS Élastique Beanstalk!



Jetons un coup d'œil aux sujets traités dans cet article AWS Beanstalk:



  1. Qu'est-ce qu'Amazon Elastic Beanstalk?
  2. Avantages d'AWS Elastic Beanstalk
  3. Composants AWS Elastic Beanstalk
  4. Architecture AWS Elastic Beanstalk
  5. Démo - Déployer une application sur Beanstalk

Qu'est-ce qu'Amazon Elastic Beanstalk?

ElasticBeanstalk - Elastic Beanstalk - Edureka

Le Cloud Computing redéfinit l'ensemble du processus de développement d'applications. Un certain nombre de fournisseurs de cloud, dontAmazon Web Services et Microsoft Azure proposent des outils de développement pour aider à rendre le processus plus simple et sécurisé. AWS Elastic Beanstalk est l'un de ces outils de développement implémenté sur la base du modèle PaaS.



AWS Elastic Beanstalk est un service facile à utiliser pour le déploiement et la mise à l'échelle d'applications et de services Web développés avec Java, .NET, PHP, Node.js, Python, Ruby, Go et Docker sur des serveurs familiers tels qu'Apache, Nginx, Passenger et IIS.

Avec AWS Elastic Beanstalk, un développeur peut déployer une application sans provisionner l'infrastructure sous-jacente tout en maintenant une haute disponibilité. Jetez un œil à la vidéo suivante pour en savoir plus sur Elastic Beanstalk.

Didacticiel AWS Elastic Beanstalk | Edureka

Mais pourquoi choisir Elastic Beanstalk alors que nous avons déjà de nombreuses autres plateformes? Alors, parlons des avantages d'Elastic Beanstalk.



Avantages d'AWS Elastic Beanstalk

Vous trouverez ci-dessous quelques avantages qu'offre AWS Elastic Beanstalk par rapport aux autres services PaaS

Vitesse - Haricot élastique - EdurekaOffre un déploiement plus rapide: Elastic Beanstalk offre aux développeurs le moyen le plus rapide et le plus simple de déployer leur application. En quelques minutes, l'application sera prête à être utilisée sans que les utilisateurs aient à gérer l'infrastructure sous-jacente ou la configuration des ressources.

Logo - Haricot élastique - EdurekaPrend en charge Multi-TenantArchitecture: AWS Elastic Beanstalk permet aux utilisateurs de partager leurs applications sur différents appareils avec une évolutivité et une sécurité élevées. Il fournit un rapport détaillé sur l'utilisation des applications et les profils utilisateur.

Logo - Haricot élastique - EdurekaSimplifie les opérations: Beanstalk provisionne et exploite l'infrastructure et gère la pile d'applications. Les développeurs doivent simplement se concentrer sur le développement de code pour leur application plutôt que de passer du temps à gérer et à configurer des serveurs, des bases de données, des pare-feu et des réseaux.

Offre un contrôle complet des ressources: Beanstalk donne developersla liberté de sélectionner l'AWS ressources, comme Instance EC2 type, qui sont optimales pour leur application. Il permet aux développeurs de conserver un contrôle total sur les ressources AWS et d'y accéder à tout moment.

Maintenant que nous avons de solides raisons de croire pourquoi AWS Elastic Beanstalk est préféré par les développeurs, examinons ses concepts fondamentaux.

Vous voulez être un architecte AWS certifié?

Composants AWS Elastic Beanstalk

Il existe certains concepts clés que vous rencontrerez fréquemment lorsque vous déployez une application sur Beanstalk. Examinons ces concepts:

Application:

  • Une application dans Elastic Beanstalk est conceptuellement similaire à un dossier
  • Une application est un ensemble de composants comprenant environnements, versions et configuration de l'environnement

Version de l'application:

  • Une version d'application fait référence à une itération spécifique et étiquetée de code déployable pour une application Web
  • Une version d'application pointe vers un objet Amazon S3 qui contient le code déployable tel qu'un fichier WAR Java

Environnement:

  • Les environnements dans l'application Elastic Beanstalk sont ceux où la version actuelle de l'application sera active
  • Chaque environnement n'exécute qu'une seule version d'application à la fois. Mais il est possible d'exécuter des versions identiques ou différentes d'une application dans de nombreux environnements en même temps

Niveau d'environnement:

Basé sur les exigences, beanstalk propose deux niveaux d'environnement différents: Serveur WebEnvironnement, Environnement de travail

comment créer un ensemble
  • Environnement de serveur Web: PoignéesRequêtes HTTP des clients
  • OuvrierEnvironnement: processustâches d'arrière-plan qui consomment beaucoup de ressources et de temps

Voici une illustration pour montrer commentApplication, version d'application et environnementsse rapportent les uns aux autres:

Et voici à quoi ressemble l'environnement Beanstalk utilisant le type de conteneur par défaut:


Maintenant que vous connaissez les différents concepts clés relatifs à Elastic Beanstalk, comprenons l'architecture d'Elastic Beanstalk.

Architecture AWS Elastic Beanstalk

Avant de vous lancer dans l'architecture AWS Elastic Beanstalk, répondons à la question la plus fréquemment posée,

Qu'est-ce qu'un environnement Elastic Beanstalk?

L'environnement fait référence à la version actuelle de l'application. Lorsque vous lancez un environnement pour votre application, Beanstalk vous demande de choisir parmi deux niveaux d'environnement différents, c'est-à-dire Web Serveur Environnement ou Environnement de travail . Comprenons-les un par un.

Environnement de serveur Web

La version de l'application installée sur l'environnement de serveur Web gère les requêtes HTTP du client. Le diagramme suivant illustre un exemple d'architecture AWS Elastic Beanstalk pour un niveau d'environnement de serveur Web et montre comment les composants de ce type de niveau d'environnement fonctionnent ensemble.

Environnement Beanstalk - L'environnement est au cœur de l'application. Lorsque vous lancez un environnement, Beanstalk attribue diverses ressources nécessaires pour exécuter l'application correctement.

Équilibreur de charge élastique - Lorsque l'application reçoit plusieurs demandes d'un client, Amazon Route53 transmet ces demandes à Elastic Load Balancer. L'équilibreur de charge répartit les demandes entre les instances EC2 d'Auto Scaling Group.

quelle est la différence entre c ++ et java

Groupe Auto Scaling - Auto Scaling Group démarre automatiquement des instances Amazon EC2 supplémentaires pour prendre en charge la charge croissante de votre application. Si la charge de votre application diminue, Amazon EC2 Auto Scaling arrête les instances, mais laisse toujours au moins une instance en cours d'exécution.

Gestionnaire d'hôte - Il s'agit d'un composant logiciel qui s'exécute sur chaque instance EC2 affectée à votre application. Le gestionnaire de l'hôte est responsable de diverses choses comme

  • Génération et surveillance des fichiers journaux d'application
  • Générer des événements au niveau de l'instance
  • Serveur d'applications de surveillance

Groupes de sécurité - Security Group est comme un pare-feu pour votre instance. Elastic Beanstalk dispose d'un groupe de sécurité par défaut, qui permet au client d'accéder à l'application à l'aide du port HTTP 80. Il vous offre également une option vous permettant de définir également des groupes de sécurité sur le serveur de base de données. L'image ci-dessous résume ce que nous avons appris sur l'environnement de serveur Web.

C'est donc une question d'environnement de serveur Web. Mais que se passe-t-il si la version de l'application installée sur le serveur Web continue de refuser plusieurs demandes car elle a rencontré des tâches gourmandes en temps et en ressources lors du traitement d'une demande? Eh bien, c'est là qu'intervient Worker Tier.

Vous voulez faire passer vos connaissances sur le cloud au niveau supérieur?

Environnement de travail

Un worker est un processus d'arrière-plan distinct qui assiste le niveau du serveur Web en gérant des opérations gourmandes en ressources ou en temps. En outre, il envoie également des notifications par e-mail, génère des rapports et nettoie les bases de données. Cela permet à l'application de rester réactive et de gérer plusieurs demandes.

C’est formidable, mais comment le processus Worker sait-il quelles tâches gérer et quand? Comment ces deux niveaux d'environnement communiquent-ils? Pour cela, nous utilisons un service de mise en file d'attente de messages par AWS appelé Amazon Simple Queue Service (SQS). L'image ci-dessous vous donne une idée approximative de la manière dont le processus de travail reçoit et gère les tâches en arrière-plan.

Le flux de travail du processus de travail est assez simple. Lorsque vous lancez un niveau Worker Environment, Elastic Beanstalk installe un démon sur chaque instance EC2 du groupe Auto Scaling. Le démon extrait les demandes envoyées à partir d'une file d'attente Amazon SQS. En fonction de la priorité de la file d'attente, SQS enverra le message via unPUBLIERdemande au chemin HTTP de l'environnement de travail. Le travailleur à la réception dumessage exécute les tâches et envoie une réponse HTTP une fois l'opération terminée. SQS à la réception du message de réponse supprime le message dans la file d'attente. S'il ne parvient pas à recevoir de réponse, il réessayera continuellement d'envoyer les messages.

Maintenant que nous avons vu Elastic Beanstalk théoriquement, dans la suite de ce blog nous verrons comment déployer une application sur Elastic Beanstalk.

Déployer une application sur Elastic Beanstalk

Le déploiement d'une application sur Elastic Beanstalk est un processus assez simple. Voyons comment déployer une application par étapes.

Étape 1: Sur la console Elastic Beanstalk, cliquez sur Créer une nouvelle application option. Une boîte de dialogue apparaît dans laquelle vous pouvez donner un nom et une description appropriée à votre application.

Étape 2: Maintenant que le dossier d'application a été créé, vous pouvez cliquer sur le Onglet Actions et sélectionnez Créer un environnement option. Beanstalk vous offre une option dans laquelle vous pouvez créer plusieurs environnements pour votre application.

Étape 3: Choisissez parmi deux options de niveau d'environnement différentes. Choisissez Environnement de serveur Web si vous souhaitez que votre application gère les requêtes HTTP ou choisissez Environnement de travail pour gérer les tâches en arrière-plan.

Étape 4: Une autre boîte de dialogue apparaît, dans laquelle vous devez fournir un nom de domaine et une description pour votre application.

configurer eclipse pour java

Étape 5: Choisissez une plateforme de votre choix pour votre application. Elastic Beanstalk vous fournira plusieurs options. Vous pouvez choisir un exemple d'application fourni par Beanstalk ou télécharger un fichier contenant du code pour votre application.

Beanstalk prendra quelques minutes pour lancer un environnement. Une fois l'environnement lancé, dans le volet de navigation, vous pouvez voir plusieurs options dans lesquelles vous pouvez modifier la configuration de votre application, afficher les fichiers journaux et les événements. Puisque vous êtes déjà sur la page Environnement, essayez d'explorer les différentes fonctionnalités proposées par Beanstalk.

Étape 6: Dans le coin supérieur droit, vous trouverez l'URL de la version de votre application. Cliquez sur cette URL. Vous serez redirigé vers une page qui confirmera que vous avez lancé avec succès votre application sur Elastic Beanstalk.

Toutes nos félicitations! Vous avez déployé avec succès une application sur la plateforme Elastic Beanstalk.

J'espère que vous avez maintenant une image claire d'Elastic Beanstalk et de la manière dont vous pouvez utiliser Beanstalk pour déployer vos applications.

Alors c'est ça! J'espère que ce blog a été informatif et a apporté une valeur ajoutée à vos connaissances. Si vous souhaitez approfondir vos connaissances sur Amazon Web Services, inscrivez-vous au cours par Edureka.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de «AWS Elastic Beanstalk» et nous vous répondrons dans les plus brefs délais.