Comparatif AWS Beanstalk vs Heroku

Comparatif AWS Beanstalk vs Heroku

Publié le


Do not index
Do not index
Primary Keyword
Lié à Analyse sémantique (Articles liés) 1
Lié à Analyse sémantique (Articles liés)
Statut rédaction
A optimiser SEO
Lié à Analyse sémantique (Articles liés) 2

Introduction

Amazon beanstalk et Heroku sont deux services cloud couramment utilisés qui nous permettent de déployer, surveiller et faire évoluer des applications Web et mobiles.
Ces deux services fournissent des ressources de cloud computing et sont parfaits pour l’hĂ©bergement d’applications.
La question qui se pose, est quelle solution choisir selon pour ma problématique qui convient le mieux à mes besoins métiers.
Cet article va donc vous expliquer les forces et les faiblesses des deux solutions afin que vous puissiez par la suite plus facilement faire un choix.
Plongeons-nous dans les fonctionnalitĂ©s d’AWS et Heroku – et considĂ©rons les solutions clĂ©s qu’ils offrent – pour trouver votre meilleure option!

AWS Elastic Beanstalk

AWS Elastic Beanstalk est le service PaaS d’AWS. Il permet de dĂ©ployer et mettre Ă  l’échelle des applications et services Web dĂ©veloppĂ©s dans divers langage (Java, .NET, PHP, Node.js, Python, Ruby, Go)
En utilisant cette solution vous serez amenĂ© Ă  charger votre code via git ou archive afin qu’Elastic Beanstalk effectue automatiquement les Ă©tapes du dĂ©ploiement, le dimensionnement des capacitĂ©s, l’équilibrage de la charge, le dimensionnement automatique et la surveillance de l’état de l’application.
Ce faisant, vous conservez la maßtrise totale des ressources AWS alimentant votre application et pouvez accéder aux ressources sous-jacentes à tout moment.
Il n’est gĂ©nĂ©ralement pas nĂ©cessaire de configurer le provisionnement de capacitĂ©, l’équilibrage de charge ou la mise Ă  l’échelle, bien que vous puissiez toujours accĂ©der Ă  l’infrastructure et si nĂ©cessaire enregistrer plusieurs options de configuration pour votre application.
Elastic Beanstalk utilise des instances EC2 pour héberger votre application vous serez donc facturé en fonction des instances provisionnés.

Heroku

Heroku une solution PaaS basĂ© sur du AWS. Elle offre aussi la possibilitĂ© de dĂ©ployer et mettre Ă  l’échelle ses applications dans les langages suivants (Ruby, Python, PHP, Clojure, Go, Java, Scala, and Node.js apps).
Cette solution est légÚrement différente dans son utilisation, en effet, il faudra passer par le terminal et push votre application directement sur heroku via git.
AprĂšs cela, la magie opĂšre, vous n’avez plus rien Ă  vous prĂ©occuper. Votre application, les certificats, le support et le CI/CD sont totalement gĂ©rĂ©s par la plateforme.
Si vos besoins augmentent, vous devrez toutefois notifier Heroku pour augmenter votre niveau de service (et donc votre facture). Tout cela se fait en une commande et ne demande aucune connaissance technique particuliĂšre.
Heroku s’occupe commodĂ©ment des dĂ©tails. Ainsi, vous pouvez consacrer tous vos efforts au dĂ©veloppement d’applications. Vous n’avez besoin que d’un dĂ©veloppeur Web – ou de plusieurs dĂ©veloppeurs – pour crĂ©er une application et la pousser vers Heroku en utilisant Git. Toute la gestion se fait via l’interface de ligne de commande ou dans le tableau de bord.

Quand choisir Aws Elastic Beanstalk ou Heroku ?

Si vous ĂȘtes Ă  l’état de conception, je vous conseille Heroku.
Heroku est beaucoup plus simple Ă  utiliser qu’AWS Elastic Beanstalk. Vous n’avez pas besoin de penser Ă  la gestion de l’infrastructure, contrairement Ă  AWS beanstalk ou vous pouvez ĂȘtre amenĂ© Ă  faire quelques modifications.
Heroku est génial pour les projets ou vous avez besoin de livrer le plus vite possible (POC, MVP). Le forfait gratuit suffira généralement à répondre à vos besoins.
À partir du moment ou vous commencez à avoir beaucoup de trafic, Heroku deviendra rapidement cher voir trùs cher. Le plus petit plan est à 7€ / mois, mais vous n’obtenez que 512 Mo de RAM.
TrĂšs rapidement, vous devrez passer au plan professionnel avec plusieurs dynos Standard (25 $ – 50 $ / dyno / mois) ou mĂȘme Performance (250 $ – 500 $ / dyno / mois). Un dyno Ă©tant l’équivalent d’un petit container contenant votre application (un seul suffit rarement).
C’est pourquoi, si votre application consomme beaucoup de ressources (>4-8Go RAM) il peut ĂȘtre intĂ©ressant d’utiliser AWS Elastic Beanstack.
Le risque pour vous, sera de savoir gĂ©rer le support. Aws Elastic Beanstalk Ă©tant dĂ©ployĂ© de sorte Ă  Ă©viter les incidents, le risque de rencontrer un problĂšme est faible. Cependant, en cas de problĂšme si vous n’avez pas les compĂ©tences dans votre entreprises, vous devrez faire appel Ă  un consultant et dans cette situation vos coĂ»ts explosent (700€/j pour un expert AWS Ă  Paris).

Conclusion

Lors du choix entre AWS et Heroku, vous devez principalement tenir compte des coĂ»ts. La gestion de l’infrastructure vous coĂ»tera-t-elle moins cher, ou est-il rentable de rĂ©pondre sur une plate-forme prĂȘte (mais quelque peu coĂ»teuse) qui gĂšre votre infrastructure pour vous ?
Pour un projet court et simple, Heroku est probablement ce dont vous avez besoin, mais gardez Ă  l’esprit que la mise Ă  l’échelle coĂ»te cher. Si votre application est fortement utilisĂ© il est probablement prĂ©fĂ©rable d’utiliser AWS, d’autant plus qu’Elastic Beanstalk vous aide beaucoup dans la configuration.
En rĂ©sumĂ©, je vous recommande d’utiliser AWS Elastic Beanstalk lorsque:
  • Vous avez besoin d’une flexibilitĂ© d’infrastructure dĂšs le premier dĂ©ploiement de votre application.
  • Vous pouvez vous permettre un ingĂ©nieur DevOps ou plusieurs ingĂ©nieurs DevOps pour gĂ©rer l’infrastructure.
  • Vous ĂȘtes prĂȘt Ă  consacrer plus de temps au dĂ©ploiement de nouvelles versions de votre application.
  • Votre projet nĂ©cessite de grandes ressources informatiques.
Et je vous recommande d’utiliser Heroku lorsque:
  • Vous devez dĂ©ployer et tester un produit minimum viable.
  • Vous devez amĂ©liorer votre application rapidement aprĂšs avoir reçu les commentaires des utilisateurs.
  • Vous ne pouvez pas vous permettre un ingĂ©nieur (ou des ingĂ©nieurs) DevOps.
  • Votre projet n’exige pas autant de ressources de calcul.
Si vous choisissez Amazon Web Services, il est important de vous assurer que l’entreprise avec laquelle vous travaillez possĂšde une expĂ©rience de la gestion de l’infrastructure AWS.
 

S'inscrire Ă  la newsletter DevSecOps Keltio

Pour recevoir tous les mois des articles d'expertise du domaine

S'inscrire

Écrit par

Kévin Didelot
Kévin Didelot

KĂ©vin est notre super expert DevSecOps et le fondateur de Keltio đŸ‘šđŸ»â€đŸ’»Â 

Sujets