Clément Schanen

CalculService régional

Elastic Beanstalk

Permet de déployer et exécuter rapidement une application sans avoir à gérer l’infrastructure sous-jacente

Présentation

  • Elastic Beanstalk est un service PaaS (Platform as a Service) permettant de déployer des applications sur AWS
  • AWS prend en charge une grande partie de la configuration et de la gestion de l’infrastructure

Cas d’usage

  • Application web
  • APIs
  • Application nécessitant plusieurs instances
  • Migration d’applications existantes vers AWS

Plateformes supportées

  • Plusieurs environnements sont pris en charge : Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker

Fonctionnement

  • Le déploiement suit le principe suivant : Code source Elastic Beanstalk Environnement (EC2, ALB) Application

Déploiement

  • Elastic Beanstalk automatise notamment :
    • Le provisioning des ressources
    • Le déploiement du code
    • La configuration de l’environnement
    • Le scaling
    • Le monitoring de l’application
  • Plusieurs stratégies de déploiement sont disponibles
    • Rolling : Les instances sont mises à jour progressivement limitation de l’interruption de service
    • Rolling with additional batch : Les nouvelles instances sont ajoutées avant le remplacement des anciennes
    • Immutable : Création d’un nouvel environnement d’instances avant remplacement plus sûr
    • Blue/Green : Utilisation de deux environnements distincts

Scalabilité & disponibilité

  • Elastic Beanstalk peut gérer automatiquement :
    • Auto Scaling
    • Load Balancing
    • Remplacement des instances défaillantes
    • Health Checks

Monitoring

  • Information sur l’état de l’environnement :
    • Santé des instances, métriques, événements, logs

Tarification

  • Un même projet peut posséder plusieurs environnements : Development, Staging, Production
  • Permet de séparer les configurations et les versions déployées