Cloud AWS : faut-il utiliser EC2 Auto Scaling ou AWS Auto Scaling ?
Le cloud public d’AWS propose deux options pour augmenter ou diminuer automatiquement les ressources déployées en ligne. Cet article explique quand utiliser l’une ou l’autre.
L’un des principaux avantages d’une infrastructure en cloud est la facilité d’augmenter et de réduire sa capacité en fonction des besoins. Mais en ce qui concerne les utilisateurs d’AWS, il existe deux jeux d’outils pour y parvenir : Amazon EC2 Auto Scaling et AWS Auto Scaling. Chacun est conçu pour un type particulier de cas d’usages. Cet article passe en revue leurs différences pour vous aider à identifier quel service correspond le mieux à votre situation.
Amazon EC2 Auto Scaling
Lorsque AWS a lancé le service EC2 Auto Scaling en 2009, il était le premier à permettre de configurer la croissance des ressources. Comme son nom l’indique, ce service concerne les machines virtuelles EC2 : il permet de lancer ou de mettre fin automatiquement aux instances EC2, selon des paramètres que l’utilisateur définit.
Le cas d’utilisation le plus courant de EC2 Auto Scaling consiste à réagir automatiquement aux alarmes CloudWatch, pour lancer de nouvelles instances EC2 lorsqu’une métrique spécifique dépasse un plafond, ou en arrêter en dessous d’un certain seuil. Par exemple, un développeur peut configurer Auto Scaling pour lancer automatiquement deux instances EC2 lorsque l’utilisation du CPU est supérieure à 50 % pendant cinq minutes consécutives. À l’inverse, les utilisateurs configureront aussi des alarmes CloudWatch pour qu’EC2 Auto Scaling diminue automatiquement le nombre d’instances EC2, lorsque l’utilisation du CPU tombe sous une valeur exprimant une faible utilisation.
EC2 Auto Scaling peut aussi être programmé selon des calendriers. Cette option est utile pour les périodes de faible utilisation, comme les nuits ou les week-ends.
AWS Auto Scaling
AWS Auto Scaling, quant à lui, offre un lieu centralisé pour gérer les configurations d’un plus large éventail de ressources : outre les machines virtuelles EC2, il gère les instances ECS (containers), les tables DynamoDB ou les répliques en lecture seule d’une base RDS.
Avec AWS Auto Scaling, les utilisateurs peuvent maintenir des groupes de VMs EC2 dans une fourchette d’instances en production. Les développeurs peuvent configurer certaines capacités dynamiques pour une table DynamoDB en particulier, ou en fonction de leur utilisation. Les instances ECS, tout comme les répliques en lecture seule d’une base RDS, peuvent être lancées ou interrompues selon les alarmes de CloudWatch.
AWS Auto Scaling a introduit le concept de plans pour l’élasticité (scaling plans), qui reviennent à des règles de gestion des ressources. Les responsables de certaines applications sélectionnent une utilisation cible, par exemple une utilisation du CPU à 50 %, et AWS Auto Scaling ajustera en permanence la capacité pour atteindre cet objectif.
Principales différences
Dans l’ensemble, AWS Auto Scaling est une trousse à outils simplifiée pour rendre élastiques plusieurs services cloud d’AWS en fonction des objectifs d’utilisation. Le service Amazon EC2 Auto Scaling se limitant strictement aux instances EC2, il est plus adapté aux développeurs pour qu’ils configurent des comportements plus détaillés. Les développeurs pourront ainsi choisir la quantité d’instances à déployer ou à éteindre, là où AWS Auto Scaling se débrouillera tout seul pour coller à un objectif.
Une autre différence de taille est qu’AWS Auto Scaling n’agit qu’a posteriori, lorsqu’il constate des écarts entre l’utilisation réelle des ressources et leur utilisation optimale. EC2 Auto Scaling peut, lui, s’appuyer sur un moteur prédictif et agir en amont pour éviter que cet écart ne survienne.
En résumé, EC2 Auto Scaling est plus paramétrable, tandis qu’AWS Auto Scaling est plus simple.