Gandi Flex

Gandi Flex est un service gratuit accessible à tous client possédant un serveur IaaS en fonctionnement chez Gandi. Ce service vous permet de planifier très finement l'état de certaines ressources de votre serveur sur des plages de temps. La plus petite unité de temps est de une heure.



Mode d'emploi

Définir un Flex est une chose aisée. Toutefois, comme tout outil complet, il est nécessaire de prendre ses marques dessus et de faire quelques essais au préalable. Tout d'abord, découvrons l'interface de création (et de modification, puisque c'est la même).

Pour commencer, sachez que toutes les opérations Flex que vous pourrez créer le seront d'après le fuseau horaire défini au moment de la création de l'opération. Ce fuseau est affiché au-dessus des onglets de ressources.

1) Les onglets de ressources

Gandi Flex vous permet d'agir sur 3 types de ressources : le CPU, la mémoire et la bande passante. Une opération Flex ne peut agir que sur une seule ressource en même temps, mais vous pouvez créer plusieurs opérations Flex qui agissent à la même heure (tant qu'il n'y a pas de conflit entre elles).

  • Coeur CPU : cet onglet, comme son nom l'indique, vous permet de modifier le nombre de coeurs CPU présents au moment de l'opération Flex
  • RAM : à l'instar de l'onglet précédent, vous pouvez régler via cet onglet la quantité de mémoire vive allouée à votre serveur au moment du déclenchement de l'opération Flex. Notez toutefois que l'opération est également soumise à la pagination mémoire de votre serveur.
  • Interface n°0 : c'est le nom de votre interface réseau (de 0 à 3, puisqu'il peut y avoir jusqu'à 4 interfaces par serveur), et cet onglet vous permet de régler la taille du tuyau de sortie de votre bande passante.

Attention : Vous pouvez augmenter ou diminuer les 3 ressources comme vous le souhaitez dans la limite maximale de chaque ressource, mais vous ne pouvez pas régler une ressource à 0, car le serveur doit être en état de fonctionnement pour appliquer les opérations Flex.

2) Le graphique de réglage

C'est à partir de ce graphique que vous allez pouvoir régler l'état de la ressource choisie selon les plages horaires que vous souhaitez. Par défaut, vous trouvez une ligne rouge ainsi que 2 points rouges sur celle-ci. La ligne correspond à l'état des ressources au moment où vous définissez votre opération Flex.
Par exemple, si votre serveur a 1 cœur CPU, alors vous verrez une ligne sur l'unité 1 de l'axe vertical.

Les deux points rouges sont placés respectivement à 00h (minuit) et 12h (midi) de la journée. Ceux-ci peuvent être déplacés en les saisissant avec la souris. Vous pouvez créer de nouveaux points en cliquant quelque part dans le graphique et en supprimer en pointant celui-ci et en appuyant sur la touche SUPPR (ou DEL) de votre clavier. Vous avez toutefois la contrainte de conserver au minimum 2 points de réglage, même si ceux-ci sont sur le même nombre d'unités.

Dans l'exemple de notre image, nous avons souhaité régler une augmentation du nombre de CPU à partir de 15h en ajoutant un cœur, puis une seconde augmentation à 19h, en passant à 4 cœurs au total. Le chiffre en blanc dans la colonne de la tranche correspond au nombre de crédits qui seront consommés pendant cette tranche horaire.

3) Le tableau récapitulatif

Ce tableau est le reflet de ce que vous avez réglé dans le graphique situé juste au-dessus. Il synthétise les plages horaires choisies, le nombre de ressources pour chaque, le coût total de crédits par tranche, le prix par heure sur chaque tranche ainsi que le coût de l'opération Flex sur une journée par rapport à la valeur actuelle. Le montant total de cette dernière colonne vous donne une idée précise du coût de l'opération Flex sur une journée. Si ce montant est négatif, cela signifie que vous consommez moins de crédits que la valeur actuelle du serveur, évidemment.

Astuce : vous avez la possibilité de supprimer une tranche complète à partir de ce tableau en cliquant sur la croix à droite de la tranche souhaitée.

4) La récurrence

Avant même de parler de récurrence, il convient de donner un nom explicite à votre opération Flex. C'est ce nom qui apparaitra dans votre tableau récapitulatif de votre fiche serveur.

Important : par défaut, lors de la création d'une opération Flex, la récurrence est valable pour tous les jours sans exception et ne s'arrête jamais. Ce choix a été fait, car il est plus facile d'exclure en choisissant un point unique qu'ajouter chaque point.

La récurrence se règle sur 3 critères qui peuvent s'additionner et se soustraire, selon les choix :

  • la récurrence hebdomadaire vous permet de choisir les jours de la semaine où l'opération sera déclenchée,
  • la récurrence mensuelle qui vous permet de choisir le ou les jours d'un mois où vous souhaitez voir l'opération Flex fonctionner,
  • la récurrence annuelle où vous pouvez choisir quels mois se déclenche votre opération Flex.

Tous ces critères de récurrence s'additionnent. Cela signifie que si vous choisissez “vendredi” en récurrence hebdomadaire, “7” en récurrence mensuelle puis “Juillet” et “Août” en récurrence annuelle, alors votre opération Flex ne se déclenchera que si le 7 juillet ou le 7 août tombent un vendredi (ceci n'arrivera pas avant 2015, pour le mois d'août ;)).

Enfin, vous pouvez choisir à quel moment s'arrête la récurrence. Par défaut, c'est “Jamais” qui est réglé. Si vous choisissez que la récurrence de l'opération s'arrête après 3 occurrences, alors votre opération n'aura lieue que 3 fois selon les critères donnés (si c'est “N'importe quel jour de la semaine, n'importe quel jour du mois, n'importe quel mois de l'année.” alors l'opération se déclenchera 3 jours de suite puis s'arrêtera). Vous pouvez également choisir une date de fin de récurrence. Cette date correspondra alors au dernier jour où l'opération pourra potentiellement avoir lieue.

Calendrier de l'ensemble des opérations Flex

La vue suivant la validation de votre opération Flex vous offre une visibilité sur l'ensemble des opérations Flex de votre serveur ainsi qu'un calendrier vous permettant aisément de repérer les jours où les opérations auront lieu.

Le tableau de résumé de l'ensemble de vos opérations Flex sur votre serveur vous permet d'avoir une vue rapide sur toutes les opérations programmées, les ressources visées ainsi que la date de fin prévue.
En cliquant sur le crayon () à droite de l'opération, vous arriverez directement dans l'interface d'édition de l'opération Flex souhaitée.
Vous pouvez également ajouter une nouvelle opération Flex grâce au bouton situé sous le tableau, à droite.

Le calendrier vous offre une vue du mois en cours, que vous pouvez modifier en cliquant sur les flèches de part et d'autre du nom du mois. La cellule comportant une bordure plus épaisse que les autres correspond à la journée actuelle. Les codes couleur correspondent à la ressource visée. Vous trouverez la légende sous le tableau.
Si vous passez votre souris sur le nom des opérations Flex dans le tableau de résumé, vous verrez les cellules correspondantes à la journée de déclenchement de ladite opération se distinguer en plus sombre.

De la même façon que pour le tableau, si vous cliquez sur une opération dans l'une des cellules, vous arriverez sur l'interface d'édition de celle-ci.

Le saviez-vous ? Le tableau de résumé est paramétrable, comme la plupart des tableaux de Gandi, en cliquant sur l'icône en haut à droite de celui-ci.

Exemples de cas d'utilisation (use case)

Voici quelques exemples d’utilisation qui permettront à certains de bien appréhender les cas d'utilisation possibles. Ces “UseCases” sont totalement fictifs mais essayent de simuler des cas plausibles d'utilisation courantes.

Les calculs exposés ici sont effectués sur la base d'un mois de 30 jours. Les références de prix sont faites en fonction des packs correspondant le plus à la quantité de crédits requise par le serveur et toujours sur les prix de la grille A.

UseCase 1: Succès nocturne

Dans le cas suivant, notre utilisateur possède un serveur qui sert principalement un site informatif sur les jeux vidéos et son audience se concentre essentiellement sur une plage horaire allant de 18h à 01h du matin.
D'après ses statistiques récupérées sur son Google Analytics, il distingue un premier pic d'augmentation à 18h, d'à peu près 50% d'activité supplémentaire, puis un second pic, bien plus net, aux alentours de 21h et s'estompant peu à peu, jusqu'à 01h du matin, en général.

Pour ne pas avoir un poste de dépense important, le serveur est dimensionné de façon très modeste : 1 cœur CPU et 512Mo de RAM suffisent largement en journée à proposer un site fluide. Mais le succès nocturne de son site l'oblige à avoir un serveur survitaminé le soir.
Avec Gandi Flex, il va donc pouvoir déterminer les plages d'augmentation de ressources pour continuer à proposer un site fluide sans pour autant payer un serveur surdimensionné en permanence.

Voici les 2 opérations que va réaliser notre UseCase n°1 :

Dans cette première opération agissant sur le nombre de cœurs CPU, on augmente d'un cœur à partir de 18:00 pendant 3 heures, puis on augmente à nouveau d'un cœur, pour un total de 3 cœurs CPU jusqu'à 01:00.
Le coût par jour de l'opération Flex sur les CPU est de 804, soit 2,05€/mois sur la base du pack 150 000.

La seconde opération règle la quantité de mémoire en adéquation avec le CPU, en conservant les mêmes plages horaires, bien-sûr. La première tranche d'augmentation ajoute 256Mo de RAM et la seconde, encore une fois 256Mo, pour un total de 1Go de RAM sur le serveur.
Le coût de cette opération Flex mémoire est de 298, soit 0,76€/mois, toujours sur la base du pack 150 000.

Cela signifie que le serveur de notre utilisateur lui coutera un total de 5 854/jour (4 752 de base + 804 de Flex CPU + 298 de Flex RAM), soit un total de 175 620/mois (sur une base de 30 jours), soit 14,93€ sur la base du pack 150 000.

En comparaison, si notre utilisateur avait dû acquérir un serveur dimensionné au plus haut de ses pics de charge, cela lui aurait couté 285 840/mois (sur une base de 30 jours), soit 24,30€ sur la base du pack 150 000 !!

UseCase 2: Week-End calme

Dans ce cas, c'est le serveur mail d'une entreprise qui est pris en compte. Le serveur possède 4 cœurs CPU ainsi que 2Go de RAM pour tourner efficacement tout le temps. Toutefois, vu la baisse drastique d'activité le week-end, notre utilisateur souhaite optimiser son serveur mail sur ces périodes.

Voici les opérations que va réaliser notre UseCase n°2 :

Nous nous retrouvons dans le cas inverse du UseCase n°1, car nous allons ici réduire les ressources sur les samedis et dimanches plutôt que les augmenter le reste de la semaine. En commençant par le CPU que l'on va réduire de 4 à 1 seul cœur. Remarquez que le coût de l'opération Flex est négatif. Avec -5 328 sur la journée, et à raison de 4 week-end par mois, notre utilisateur économise ici 42 624 sur la consommation CPU, soit 3,41€ sur la base du pack 1 000 000.

Dans la même optique, nous réduisons la quantité de mémoire à 512Mo pour les samedis et dimanches. En passant de 2048Mo à 512Mo, notre utilisateur va économiser 3 936 sur la journée, et à raison de 4 week-end par mois, notre utilisateur économise ici 31 488 sur la consommation RAM, soit 2,52€ sur la base du pack 1 000 000.

En résumé, le serveur mail de notre utilisateur coutera un total de 346 368/mois (420 480 de base - 42 624 de Flex CPU - 31 488 de Flex RAM), soit un total de 27,71€ sur la base du pack 1 000 000.

En comparaison, si notre utilisateur ne modifie pas sa configuration durant les week-ends, cela lui coûte donc 420 480/mois soit 33,64€ sur la base du pack 1 000 000 !!

UseCase 3: Holydays

Ce dernier cas d'utilisation est plus difficilement quantifiable, mais toujours aussi pratique. Il est surtout destiné à faire un cas d'utilisation Flex avec une récurrence particulière : les jours fériés.
Si l'on reprend l'utilisateur du UseCase n°2, celui-ci pourrait encore optimiser l'économie sur son serveur de mail en le réduisant pendant les jours fériés communs à la localisation de ses employés.
Pour faire simple, imaginons que cette entreprise n'emploie que des salariés français : c'est en moyenne une 10aine de jours fériés qui tombe un jour ouvré, donc hors de la définition du UseCase précédent.
Toutefois, comme notre système de récurrence fonctionne par exclusion, il va falloir faire plusieurs opérations Flex, presque une par jour férié en fait. Vous pourrez rassembler plusieurs dates en une seule opération lorsque les jours fériés tombent le même mois, mais pour les autres, ce sera de l'opération unique.

Comptez 3 minutes de réglage par opération si vous avez un calendrier devant les yeux, et vous aurez largement rentabilisé votre temps :)

Une précaution : réglez toujours la fin de récurrence au dernier jour du mois concerné, car dans certains cas, vous n'êtes pas certain que le jour férié tombera le même jour l'année prochaine.

HVM et CPU : Notez que pour abaisser le nombre de coeurs de processeurs, vous devrez obligatoirement stopper le serveur, et le démarrer à nouveau avec la technologie HVM.

Dernière modification: le 12/10/2015 à 16:03 par romain t. (Gandi)