AWS Elastic Beanstalk est une manière encore plus facile pour vous de rapidement déployer et gérer des applications sur le nuage AWS. Vous téléchargez simplement votre application, et Elastic Beanstalk s'occupe automatiquement des détails du déploiement que sont la mise en service de capacité, la répartition de charge, l'auto-scaling et la surveillance de l'état de l'application. En même temps, les développeurs Elastic Beanstalk gardent le contrôle complet sur les ressources AWS alimentant leur application et peuvent accéder aux ressources sous-jacentes à tout moment. Elastic Beanstalk tire profit des services AWS, tels qu'Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Simple Notification Service (Amazon SNS), Elastic Load Balancing et Auto Scaling, pour fournir la même infrastructure à haute fiabilité, évolutive et économique dont dépendent aujourd'hui des centaines de milliers d'entreprises. AWS Elastic Beanstalk est facile à démarrer et impossible à dépasser.
La plupart des containers d'applications existants ou des solutions de plateforme-as-a-service, même si elles réduisent la quantité de programmation requise, diminuent significativement la flexibilité et le contrôle des développeurs. Les développeurs sont forcés d'accepter toutes les décisions prédéterminées par le vendeur - avec très peu voir aucune opportunité de reprendre le contrôle sur différentes parties de l'infrastructure de leur application. Toutefois, avec Elastic Beanstalk, vous gardez le contrôle total sur les ressources AWS alimentant votre application. Si vous décidez que vous voulez gérer une partie (ou tous) des éléments de l'infrastructure, vous pouvez le faire de manière transparente en utilisant les capacités de gestion de Elastic Beanstalk.
Pour garantir la portabilité de votre application en toute simplicité, la conception d'Elastic Beanstalk repose sur des piles logicielles courantes telles qu'Apache HTTP Server pour PHP et Python, Passenger pour Ruby, IIS 7.5 pour .NET et Apache Tomcat pour Java. Aucuns frais supplémentaires ne sont appliqués pour Elastic Beanstalk : vous payez seulement les ressources AWS nécessaires pour stocker et exécuter vos applications.
Pour déployer des applications .NET en utilisant AWS Elastic Beanstalk, vous devez simplement :
Pour déployer des applications PHP à l'aide d'AWS Elastic Beanstalk, vous devez simplement :
http://myapp.elasticbeanstalk.com/). Pour déployer des applications Java en utilisant Elastic Beanstalk, vous devez simplement :
http://myapp.elasticbeanstalk.com/).
Une fois l'application lancée, Elastic Beanstalk fournit plusieurs fonctionnalités de gestion telles que:
Avec Elastic Beanstalk, les développeurs gardent un contrôle total sur les ressources AWS alimentant leur application, et peuvent accomplir une multitude de fonctions en ajustant simplement les paramètres de configuration par défaut depuis la console de gestion de Elastic Beanstalk, y compris :
Mise en route facile – Elastic Beanstalk est une façon rapide et simple de déployer votre application sur AWS. Vous utilisez simplement AWS Management Console, un déploiement Git ou un environnement de développement intégré (IDE) tel qu'Eclipse ou Visual Studio pour charger votre application, et Elastic Beanstalk effectue automatiquement les étapes du déploiement que sont le dimensionnement des capacités, la répartition de la charge, la mise à l'échelle automatique et la surveillance de l'état de l'application. En quelques minutes, votre application sera prête à être utilisée sans aucun travail d'infrastructure ou de configuration de ressources de votre côté.
Impossible à dépasser – Elastic Beanstalk redimensionne automatiquement votre application verticalement sur la base des réglages par défaut de Auto Scaling. Vous pouvez facilement ajuster les paramètres Auto Scaling en fonction des besoins spécifiques à votre application. Par exemple, vous pouvez utiliser l'utilisation CPU comme déclencheur d'actions Auto Scaling. Avec Elastic Beanstalk, votre application peut faire face à des pics de charge de travail ou de trafic tout en minimisant vos coûts.
Contrôle total – Elastic Beanstalk vous laisse "ouvrir le capot" et garder le contrôle total sur les ressources AWS alimentant votre application. Si vous décidez que vous voulez gérer une partie (ou tous) les éléments de votre infrastructure, vous pouvez le faire de manière transparente en utilisant les capacités de gestion de Elastic Beanstalk. Par exemple, vous pouvez parcourir les fichiers de journaux, surveiller l'état de l'application, ajuster les règles d'auto-scaling, régler les notifications d'emails, et même passer des variables d'environnement par le biais de la console de Elastic Beanstalk.
Flexible – Vous êtes libre de sélectionner le type d'instances Amazon EC2 optimal pour votre application en termes de besoins CPU et mémoire, et vous pouvez choisir entre différentes options de bases de données disponibles. Par exemple, vous pouvez spécifier un déploiement consistant en des instances à haute-mémoire si votre application a une large empreinte mémoire.
Fiable – Elastic Beanstalk exécute dans l'infrastructure réseau et les centres de données éprouvés de Amazon, et fournit un environnement où les développeurs peuvent exécuter des applications nécessitant une autre durabilité et une haute disponibilité.
Il n'y a pas de frais supplémentaires pour Elastic Beanstalk : vous payez seulement les ressources AWS sous-jacentes (ex: Amazon EC2, Amazon S3) que votre application consomme.
Les nouveaux clients AWS qui remplissent les conditions pour le niveau d'utilisation gratuite de AWS peuvent déployer une application sur Elastic Beanstalk gratuitement, car les paramètres par défaut pour Elastic Beanstalk permettent à une application à faible trafic d'être exécutée dans le niveau gratuit sans encourir de frais. Si ces applications nécessitent plus de ressources que l'environnement par défaut n'en fournit, les clients seront facturés les tarifs AWS normaux pour les ressources incrémentées que l'application consomme.
Les coûts de fonctionnement d'un site Web reposant sur Elastic Beanstalk peuvent varier en fonction de plusieurs facteurs tels que le nombre d'instances Amazon EC2 nécessaires par rapport au trafic de votre site Web, la bande passante consommée par votre application et le type de base de données ou d'options de stockage que votre application utilise. Les principaux coûts d'une application Web sont généralement liés aux instances Amazon EC2 et à Elastic Load Balancing qui répartit le trafic entre les instances exécutant votre application.
Le tableau ci-dessous est un exemple montrant les coûts mensuels pour l'exécution d'un site à faible trafic en utilisant les paramètres par défaut d'Elastic Beanstalk, à la fois avec et sans le niveau d'utilisation gratuite AWS :
| Service et ressource | Unité | Décomposition du coût | Coût |
|---|---|---|---|
| Instance t1.micro Amazon EC2 Linux | 1 | 0,02 USD/h * 24 heures * 30 jours | 14,40 USD |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 heures * 30 jours | 18,00 USD |
| Traitement de données Elastic Load Balancer | 15 Go | 0,008 USD/Go * 15Go | 0,12 USD |
| volume Elastic Block Store | 8 Go | 0,10 USD/Go * 8Go | 0,80 USD |
| Stockage S3 pour fichier WAR et accès | 1 Go | 0,125 USD/1Go + 0,01 USD pour <1k demandes PUT + 0,01 USD pour <10k demandes GET | 0,15 USD |
| Bande passante entrante et sortante | 15 Go | L'entrant est gratuit, 15 Go sortant x 0,12 USD | 1,80 USD |
| Coût mensuel total sans le niveau d'utilisation gratuite | 35,27 USD | ||
| Coût mensuel total avec le niveau d'utilisation gratuite | 0 USD |
| Service et ressource | Unité | Décomposition du coût | Coût |
|---|---|---|---|
| Instance t1.micro Amazon EC2 Windows | 1 | 0,03 USD/h * 24 heures * 30 jours | 21,60 USD |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 heures * 30 jours | 18,00 USD |
| Traitement de données Elastic Load Balancer | 15 Go | 0,008 USD/Go * 15Go | 0,12 USD |
| volume Elastic Block Store | 8 Go | 0,10 USD/Go * 8Go | 0,80 USD |
| Stockage S3 pour fichier WAR et accès | 1 Go | 0,125 USD/1Go + 0,01 USD pour <1k demandes PUT + 0,01 USD pour <10k demandes GET | 0,15 USD |
| Bande passante entrante et sortante | 15 Go | L'entrant est gratuit, 15 Go sortant x 0,12 USD | 1,80 USD |
| Coût mensuel total sans le niveau d'utilisation gratuite | 42,47 USD | ||
| Coût mensuel total avec le niveau d'utilisation gratuite | 0 USD |
Pour plus de détails sur la tarification des service AWS, consultez la section tarifs des pages détails des services AWS concernés:
Tarifs Amazon EC2 (inclut le tarif des instances, l'équilibrage de charge, le stockage élastique en mode bloc et le transfert de données)
Tarifs Amazon S3 (inclut les tarifs pour le stockage et le transfert de données)
Si vous voulez utiliser un service de base de données AWS avec Elastic Beanstalk, consultez les liens ci-dessous pour les tarifs:
Tarifs Amazon RDS (incluent les tarifs pour les instances de base de données, le stockage de sauvegarde et les transferts de données)
Tarifs Amazon DynamoDB (incluent les tarifs pour le stockage de données, le débit et le transfert de données)
Tarifs Amazon SimpleDB (incluent les tarifs pour le stockage, le traitement de données et le transfert de données)
Quand vous vous inscrivez à Elastic Beanstalk, afin d'éviter d'avoir à vous inscrire séparément à tous les services AWS que Elastic Beanstalk peut utiliser, nous vous inscrivons automatiquement pour ces services. Avec tous les services AWS, vous ne payez que ce que vous utilisez, sans frais minimum ou engagement d'avances.
Elastic Beanstalk vous permet de déployer une application rapidement tout en gardant autant de contrôle que vous le souhaitez sur l'infrastructure sous-jacente. Vous commencez par créer un version d'application, qui est simplement une itération cataloguée (ex: "Version 1.5") du code déployable de votre application, que vous stockez dans Amazon S3. Ainsi, une version d'application fait référence à un déploiement Git particulier d'une application PHP. Elastic Beanstalk fournit différents outils pour créer facilement des versions d'application, notamment AWS Management Console, le déploiement Git et l'interface de ligne de commande, ainsi qu'AWS Toolkit for Visual Studio et AWS Toolkit for Eclipse. Vous spécifiez ensuite quelle version d'application vous souhaitez déployer et vous l'exécutez au sein d'un environnement. Un environnement représente les ressources AWS (programme d'équilibrage de charge, groupe de mise à l'échelle automatique et instances EC2) créées spécifiquement pour exécuter votre application. Lorsque vous lancez un environnement, Elastic Beanstalk s'occupe automatiquement des détails de déploiement que sont la mise en service de capacité, l'équilibrage des charges, l'auto-scaling et la surveillance de l'état d'applications sans rien avoir à spécifier sur la taille ou le type de ces ressources, et vous notifie une fois que l'environnement a été lancé. Vous pouvez aussi déployer une version d'applications différente sur un environnement en cours d'exécution si, par exemple, vous avez une nouvelle version de votre code que vous souhaitez déployer ou si vous voulez retourner à une version antérieure.
Un environnement utilisant les paramètres par défaut exécutera une seule micro instance Amazon EC2 (serveur d'application) et un programme d'équilibrage de charge extensible. L'instance EC2 est configurée pour un mise à l'échelle automatique, ce qui signifie que des instances supplémentaires seront automatiquement ajoutées pour gérer les pics de charge de travail ou de trafic (et les instances ajoutées seront retirées si le trafic diminue). Elastic Beanstalk fournit à votre application une URL (ex: http://myapp.elasticbeanstalk.com/), qui peut être saisie dans votre navigateur pour voir votre application en cours d'exécution. Le programme d'équilibrage de charge distribue aussi le trafic entrant dans plusieurs instances Amazon EC2 en même temps que votre application redimensionne à la hausse ou à la baisse, et dirige automatiquement le trafic entrant uniquement vers une instance saine pour fournir un environnement fiable pour votre application. Chaque instance Amazon EC2 est construite à partir d'une Amazon Machine Image (AMI), qui contient toutes les informations nécessaires pour créer une nouvelle instance d'un serveur. Elastic Beanstalk utilise l'AMI Amazon Linux ou Windows Server 2008 R2 par défaut. Ces AMI contiennent tous les composants logiciels requis afin d'agir à la fois en tant que serveur Web et serveur d'applications (ex. : Linux, Apache et PHP). Si vous souhaitez exécuter plus de 10 environnements, charger plus de 500 versions d'application ou lancer plus de 20 instances Amazon EC2, veuillez remplir le formulaire de demande d'augmentation de limites d'AWS Elastic Beanstalk ; nous évaluerons votre demande dans les plus brefs délais.
Pour commencer à utiliser AWS Elastic Beanstalk dans de bonnes conditions, nous vous recommandons d'étudier le manuel Getting Started Guide, disponible au sein de notre documentation technique. En quelques minutes, vous serez capable de déployer et d'utiliser un exemple d'application ou de charger votre propre application.
Votre utilisation de ce service est soumise au Contrat client Amazon Web Services.