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.
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.
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).
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.
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.
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.
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.
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.
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.
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 !!
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 !!
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 :)