115 votes

Déploiement manuel contre Amazon Elastic Beanstalk

Quels sont les avantages que nous obtenons en utilisant Elastic Beanstalk sur maually la création d'instance EC2 et la configuration de serveur tomcat et déployer etc pour un type java web applicaion. Sont équilibrage de la charge, de Suivi et de mise à l'échelle automatique les seuls avantages?

Supposons que, pour mon application web qui utilise la base de données j'ai installé la base de données dans l'instance EC2 lui-même. Lorsque Autoscalling prend place la base de données est créée dans l'instance nouvellement créée ou elle aura accès à la base de données que j'ai créé dans l'instance maître... Si il crée juste une réplique lors de la mise à l'échelle automatique se produit quelle sera la synchronisation des données entre les instances?

146voto

stepanian Points 2867

Toutes les choses que vous avez mentionnées, comme l'équilibrage de la charge, de suivi et d'auto-mise à l'échelle sont certainement des avantages.

Cependant, vous devez sorte de penser de cette façon: En une véritable Plate-forme en tant que Service (PAAS), le but est de séparer l'application à partir de la plate-forme. En tant que développeur, vous avez seulement à vous soucier de votre application. La plate-forme est "loué" pour vous. La plate-forme "instances" sont automatiquement mis à jour, administré, à l'échelle, équilibré, etc. pour vous. Vous venez de télécharger votre fichier WAR et ça marche (au moins théoriquement).

EC2 en lui-même n'est pas PAAS. C'est plus de l'IAAS (Infrastructure as a Service). Vous devez toujours prendre soin des instances de serveur, installez le logiciel sur eux, de les garder à jour, etc.

Elastic Beanstalk est un PAAS système. Sont donc App Engine et Azure parmi beaucoup d'autres.

Dans un vrai PAAS système, le SGBD est un composant distinct de l'application web serveur(s). La raison en est évidente: Le SGBD ne peut pas être installé sur les instances qui sont utilisés pour le serveur d'application, parce que, comme des instances sont créées et détruites en fonction de votre trafic, le SGBD serait perdu! Avoir le SGBD et serveur d'applications sur la même machine/de l'instance n'est généralement pas une bonne idée de toute façon.

Dans un PAAS système, le SGBD est un service distinct. Pour Amazon, il serait Amazon RDS. tout comme avec Elastic Beanstalk, où vous n'avez pas à vous inquiéter au sujet de l'application serveur et que vous venez de télécharger votre fichier WAR, avec RDS, vous n'avez pas à vous soucier de le SGBD et que vous venez de déployer votre base de données(s).

Elastic Beanstalk et RDS fonctionnent très bien ensemble, surtout lorsqu'il est déployé dans la même zone de disponibilité, d'où le temps de latence serait très faible.

Enfin, à l'aide d'aws Elastic Beanstalk ne coûte rien de plus que les ressources déployées (instances EC2 et l'équilibrage de charge). Toutefois, RDS n'est pas pas cher et serait certainement plus cher que d'utiliser une seule instance EC2 pour le serveur d'application et le SGBD.

38voto

Ken Liu Points 7779

Elastic Beanstalk n'est plus que juste l'équilibrage de la charge, de suivi et de mise à l'échelle automatique.

1) Gère les versions d'application par le stockage et la gestion de différentes versions de votre application, vous permettant de basculer facilement d'avant en arrière entre les différentes versions de vos applications.

2) A la notion de "milieux" pour chaque application, vous permettant de déployer les différentes versions de votre application dans chaque environnement. C'est pratique par exemple si vous voulez mettre en place distincte de l'AQ et environnements de DEV, et que vous souhaitez déployer facilement une accumulation d'abord en DEV puis déployer la même version de l'application de l'assurance de la qualité lors de votre équipe de QA est prêt pour la prochaine génération.

3) s'Extériorise l'important conteneur des propriétés de configuration (Tomcat paramètres de la mémoire, par exemple) à la console d'aws Elastic Beanstalk et de l'API. En raison de cela, vous pouvez facilement enregistrer les paramètres et de les copier entre les environnements.

4) Afficher les fichiers journaux dans la console automatiquement roll et archiver les fichiers journal à S3. (Il est vrai que cette fonctionnalité est actuellement un peu faible.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X