L’auto-scaling du Cloud, une clé pour optimiser les coûts
Les services de dimensionnement automatique permettent d’identifier les ressources sous-utilisées et de réduire les coûts du Cloud public. Le Load balancing et le tagging sont deux méthodes pour y parvenir.
Les capacités de dimensionnement (la scalabilité) est l’un des fondamentaux du Cloud public. Toutefois, s’il est clé de dimensionner ses ressources quand le besoin se fait ressentir, il est également indispensable de libérer celles qui ne sont plus nécessaires, ou sous-utilisées. Cela permet certes de réduire les coûts, mais également d’accélérer l’installation de mises à jour et d’améliorer la sécurité.
Une gestion manuelle des instances est virtuellement impossible, à cause de la nature dynamique du Cloud. Les départements IT privilégient le dimensionnement automatique (auto-scaling). Voici quelques conseils pour le mettre en place.
Identifier les ressources qui ne sont plus utiles
En production, il est fort probable qu’une application soit prévue pour fonctionner en continu, à un certain niveau. Vous n’avez donc pas à déterminer si elle doit ou non tourner, mais en revanche, il faut vous appuyer sur des services d’auto-scaling pour accroitre ou diminuer les ressources de compute (scale-up, scale-out) en fonction des fluctuations de la demande.
Les fournisseurs de Cloud, comme Google, Microsoft ou AWS, proposent tous des services de monitoring, de dimensionnement (scaling) et de load balancing. Une fois combinés, et après la configuration de politiques adaptées, ces services ont la capacité de dimensionner les workloads, avec un niveau élevé d’automatisation.
Mais attention à ne pas négliger les workloads sous-utilisées. C’est par exemple le cas des applications dont le décommissionnement est prévu ou encore les instances pour le test ou le développement. Ces workloads restent en effet dans le Cloud et font gonfler la facture, même si elles ne sont plus de grande utilité.
Mais ôter celles-ci tient plus qu’à de l’automatisation ; une attention tout particulière doit également être apportée aux politiques en place. Une instance de test, par exemple, pourra être associée à un service de gestion du cycle de vie qui impose une date d’expiration aux instances, et alerte alors l’utilisateur lorsque cette date est proche. Ces fonctions, que l’on trouve par exemple dans les instances AWS S3, permettent de supprimer les ressources de stockage ou de les déplacer vers un service alternatif à moindre coût.
Le tagging est un autre moyen d’identifier ces ressources ayant peu de valeur. Ce type de service permet d’appliquer des tags à des ressources Cloud. Ceux-ci représentent le nom des applications, leurs propriétaires, les départements impliqués, les centres de coûts, etc…Lors des phases d’examen des coûts, ils peuvent ainsi exposer les ressources sous-utilisées voire inutilisées.
L’auto-scaling, maillon d’une chaîne
Le dimensionnement automatique est certes un service indispensable à tous déploiements dans le Cloud mais ce n’est pas le seul. Il peut être accompagné de services de load-balancing et/ou de monitoring.
Les services d’auto-scaling ont la capacité d’ajouter ou de soustraire des ressources d’un groupe. Chez AWS, par exemple, les utilisateurs peuvent créer un groupe Auto-scaling et utiliser cette fonction pour y ajouter des ressources - des instances EC2 - lorsque son niveau d’usage augmente. Ils ont également la possibilité de supprimer des ressources du groupe lorsque ce niveau d’usage diminue. Azure contrôle quant à lui cela via VM Scale Sets, alors que Google a inclus des fonctions d’auto-scaling à Compute Engine.
Toutefois, pas de magie. Le dimensionnement automatique nécessite généralement le recours à des services de monitoring. Celui-ci permet aux administrateurs de sélectionner les bons indicateurs ainsi que les seuils adéquats qui déclenchent les actions de dimensionnement. AWS CloudWatch peut par exemple suivre l’utilisation CPU d’une instance dans un groupe, puis ajouter ou soustraire des instances EC2 en fonction des limites pré-définies.
Pour que cette approche de dimensionnement automatique soit efficace, il est nécessaire que les équipes IT puissent contrôler le trafic réseau. Ce dernier doit par exemple être redirigé vers les nouvelles instances, qui ont été mise en place via l’auto-scaling.
Auto-scaling : quels sont les outils tiers
Il en existe plusieurs. Botmetric est l’un d’eux. Il scanne une infrastructure AWS et réalise un audit de sécurité, des performances, de sauvegarde et permet de démarrer ou de stopper des machines EC2.
RightScale Cloud Management, de son côté, permet aux utilisateurs d’AWS d’automatiser le dimensionnement, le contrôle opérationnel et la gestion de workloads, entre régions – l’outil est également multi-comptes. CloudCheckR for Continuous Monitoring identifie de son côté les ressources, leur localisation, les utilisateurs et l’historique tout en permettant l’application de politiques standards.
Chacun de ces outils ont un champ fonctionnel varié qui peut ne pas convenir à tous les cas d’usage. Ils devront donc être minutieusement testés et passés au crible avant une éventuelle sélection. Toutefois, ils devront être utilisés en complément des services internes proposés par les fournisseurs de Cloud, tels que le monitoring.