Elasticsearch Service : tarifs applicables au transfert de données et au stockage des sauvegardes
En août 2018, nous avions lancé une importante promotion sur les tarifs d'Elasticsearch Service, doublée d'une multitude de nouvelles fonctionnalités : modèles de déploiement, nouveaux types d'instances, ou encore prise en charge de l'architecture hot-warm. À l'occasion de cette annonce, nous avions aussi indiqué que nous allions bientôt ventiler nos tarifs et commencer à facturer le transfert de données et le stockage des sauvegardes, ce qui se traduirait par une meilleure maîtrise de vos dépenses et de votre consommation. Pendant toute la période promotionnelle, nous avons déduit l'intégralité de ces nouveaux frais de la facturation mensuelle. Autrement dit, sur vos factures, ces dépenses n'étaient pas facturées.
La promotion appliquée au transfert de données et au stockage des sauvegardes va prendre fin le 28 février 2019. Cet article vous propose une description détaillée de ces tarifs, ainsi que quelques conseils et astuces qui vous permettront de maîtriser vos coûts.
Tarifs applicables au stockage des sauvegardes
Les tarifs appliqués au stockage des sauvegardes sont liés au coût du stockage d'objet IaaS sous-jacent (S3 sur AWS ou GCS sur Google Cloud, par exemple). Ces coûts de stockage ne correspondent PAS au stockage sur disque alimentant les index Elasticsearch, ces derniers étant déjà compris dans le prix du cluster (autrement dit, du "déploiement", puisque c'est le terme généralement consacré de nos jours).
Comme tous les fournisseurs cloud, nous évaluons et facturons le stockage des sauvegardes en fonction de deux axes :
- Taille du stockage (en Go/mois)
- Nombre de requêtes d'API de stockage (1 000 requêtes/mois)
Pour calculer la taille du stockage, nous mesurons l'espace de stockage (en Go) occupé par l'ensemble des sauvegardes de tous les déploiements associés à un compte. Le même prix unitaire s'applique à toutes les régions. Et pour calculer les frais dus, nous mesurons le volume de stockage sur une base horaire, ce qui nous permet d'obtenir une taille de stockage moyenne (en Go) pour un mois donné. Ce volume moyen nous permet ensuite de facturer le compte en tenant compte des Go/mois consommés au cours du cycle de facturation (mois calendaire).
Par exemple, si le stockage utilisé en avril 2019 est de 100 Go pendant 10 jours, puis de 130 Go au cours des 20 jours restants du mois, le stockage moyen sera de 120 Go/mois, soit (100*10 + 130*20)/30.
Pour calculer les tarifs des appels d'API de stockage, nous comptons le nombre d'appels que l'ensemble des déploiements associés à un compte ont envoyés pour les sauvegarde ou les restaurations. Contrairement à la taille du stockage, cette dimension est cumulative : elle se cumule au cours du cycle de facturation et elle est facturée toutes les 1 000 requêtes.
À compter de la date de cette publication (1er février 2019), les tarifs applicables à ces deux dimensions seront les suivants :
- Taille du stockage –0,033 $ par Go et par mois
- Requêtes d'API de stockage – 0,0018 $ pour 1 000 appels d'API
Nous proposons un niveau gratuit de 100 Go/mois. Celui-ci est disponible pour tous les comptes et applicable à tous les déploiements d'un compte. Toute consommation de stockage inférieure à ces volumes n'est pas facturée. Chaque fois que le seuil de 100 Go/mois est dépassé, nous facturons la quantité de stockage excédant le niveau gratuit de 100 Go/mois.
Nous proposons aussi un niveau gratuit de 100 000 requêtes d'API par mois. Celui-ci est disponible pour tous les comptes et applicable à tous les déploiements d'un compte. Une fois ce seuil dépassé, seules les requêtes d'API excédant le niveau gratuit sont facturées.
Remarque : une opération d'instantané unique ne correspond pas à un appel d'API. Plusieurs milliers d'appels d'API peuvent être associés à une opération d'instantané unique, car différents fichiers sont écrits, supprimés, modifiés, etc. Le prix que nous indiquons correspond à 1 000 appels d'API. Autrement dit, 0,0018 $ pour 1 000 appels d'API, ou 1,8 $ pour un million d'appels.
Tarifs applicables au transfert de données
Les frais appliqués au transfert de données reflètent le volume de données (charge utile) reçues et envoyées par les déploiements Elasticsearch, ou échangées à l'intérieur de ces derniers.
Nous mesurons et facturons le transfert de données en fonction de trois axes :
- Données reçues (gratuit)
- Données envoyées
- Données échangées à l'intérieur d'un déploiement
Les données reçues correspondent à l'ensemble du trafic entrant dans le cluster. Cela englobe les requêtes envoyées vers les index avec charge utile des données, ainsi que celles envoyées vers le cluster (bien que la taille en octets de ces dernières soit généralement bien moindre).
Les données envoyées correspondent à l'ensemble du trafic sortant du cluster. Il s'agit des données de monitoring envoyées depuis le cluster. Le tarif reste le même, quelle que soit la destination des données : qu'elles soient envoyées vers une autre région, vers Internet, ou encore dans la même région, mais vers un autre compte.
Les données échangées à l'intérieur d'un déploiement correspondent à l'ensemble du trafic envoyé entre les différents composants d'un déploiement. Il s'agit essentiellement de la synchronisation des données entre les nœuds d'un cluster réparti sur différentes zones de disponibilité, qui est automatiquement géré par le partitionnement de cluster Elasticsearch. Cela recouvre aussi les données associées à des requêtes de recherche exécutées sur plusieurs nœuds d'un cluster. Remarque : Les clusters Elasticsearch à nœud unique peuvent aussi entraîner des frais intra-cluster en raison des données échangées avec des nœuds Kibana ou d'autres nœuds (Machine Learning ou APM, par exemple). Dans de tels cas, ces frais sont généralement moins importants.
Le calcul appliqué à la consommation de transfert de données est similaire à celui des requêtes d'API de stockage : la consommation cumulée au cours du cycle de facturation donne lieu à un montant cumulatif.
À compter de la date de cette publication (1er février 2019), les tarifs applicables à ces trois dimensions seront les suivants :
- Données reçues – 0 $ par Go transféré. Cette dimension est gratuite
- Données envoyées – 0,032 $ par Go transféré
- Données échangées à l'intérieur d'un déploiement – 0,016 $ par Go transféré
Nous proposons aussi un niveau gratuit de 100 Go/mois qui couvre séparément les données envoyées et les données échangées à l'intérieur d'un déploiement, et s'applique à tous les déploiements d'un compte. Une fois ce seuil dépassé, nous facturons tout transfert de données excédant le niveau gratuit de 100 Go/mois.
Questions fréquentes
Où apparaissent les frais appliqués au stockage d'instantanés et au transfert de données que j'ai consommés ?
Pour faciliter le suivi des frais de stockage d'instantanés et de transfert de données consommés à la demande, les factures font désormais apparaître de nouveaux postes et peuvent être téléchargées via la console utilisateur. Et pour vous permettre de mieux évaluer le montant des frais du mois suivant, nous allons bientôt ajouter un aperçu du cumul mensuel à ce jour.
Exemple de facture :
Quand et comment tout cela sera-t-il mis en place ?
Les nouveaux frais apparaîtront sur votre facture du 1er février 2019 relative à la consommation de janvier 2019. Cependant, ils ne vous seront pas facturés. Ils vous serviront à évaluer vos frais de transfert de données et de stockage des mois suivants. Nous répéterons le même exercice sur la facture du 1er mars 2019 relative à la consommation de février 2019. La facturation des volumes mesurés ne commencera réellement que le 1er mars 2019, pour apparaître sur la facture du 1er avril 2019.
Comment contrôler mes coûts de stockage de sauvegardes ?
Dans Elasticsearch, les sauvegardes enregistrent les données de manière incrémentale à chaque exécution de snapshot. En d'autres termes, la taille réelle des snapshots peut être plus importante que celle des index existants. Plus vous utilisez de données dans le cluster et plus vous les manipulez fréquemment (ajout, suppression ou modification des enregistrements), plus cette taille augmente. Comme adapter les modifications que vous apportez à vos données n'est pas toujours la solution la plus pratique, nous avons ajouté un paramètre avancé à la console utilisateur d'Elastic Cloud pour vous permettre de maîtriser la taille de votre stockage. Il s'agit du paramètre "Snapshot count" représentant le nombre de snapshots à conserver, disponible dans le sous-menu Snapshots. Nous avons gardé la valeur par défaut actuelle de 100 snapshots, mais vous pouvez la modifier pour définir n'importe quelle valeur comprise entre [2 et 100].
Avertissement : Lorsque vous limitez le nombre de snapshots, cela a pour effet de raccourcir la période de conservation des index. Autrement dit, vous ne disposez que d'un point de restauration récent, qui risque d'expirer rapidement.
Quant aux requêtes d'API, elles s'exécutent chaque fois qu'un instantané est effectué ou restauré. Si les restaurations ne sont généralement pas fréquentes, les sauvegardes, elles, sont effectuées par défaut toutes les 30 minutes, afin d'assurer un point de restauration récent et à jour. Nous proposons désormais un nouveau paramètre appelé "Snapshot interval" (Intervalle des snapshots), qui vous permet de choisir un intervalle allant jusqu'à 24 heures, ce qui limite les appels d'API.
Avertissement : La réduction de l'intervalle des sauvegardes risque d'entraîner une perte partielle de données, la restauration d'une sauvegarde plus ancienne ne reflétant pas toutes les modifications apportées aux données depuis la dernière sauvegarde.
Enfin, si vous avez mis en œuvre une logique de création et de restauration de snapshots via l'API Elasticsearch, nous vous conseillons de revoir votre processus, afin d'éviter des frais supplémentaires.
Comment contrôler mes coûts de transfert de données ?
Le transfert de données hors des déploiements et entre les nœuds du cluster est plus difficile à maîtriser, car il est fonction du cas d'utilisation associé au cluster et ne peut pas toujours être adapté. Mais le cas échéant, vous pouvez revoir certaines requêtes groupées que vous exécutez fréquemment.
Quel impact sur ma facture ?
Les coûts exacts du stockage des sauvegardes et du transfert de données dépendent des cas d'utilisation. Elasticsearch se prête à tant de scénarios différents, qu'il est difficile de prédire ces coûts pour tous les comptes. C'est pourquoi nous avons mis en place ces deux mois de facturation qui font apparaître le montant qui aurait été facturé, mais en le déduisant du montant à payer. Nous espérons que cela vous permettra de mieux évaluer vos coûts et de vous préparer à ce changement.
J'ai un abonnement annuel Gold ou Platinum. Ma facture sera-t-elle aussi impactée ?
Si vous êtes déjà client et que vous avez passé un contrat annuel (niveaux "Standard Annual", "Gold" et "Platinum" compris) aucun frais supplémentaire ne s'applique jusqu'au renouvellement de votre contrat, qui sera régi par les nouvelles conditions d'utilisation effectives depuis le 1er janvier 2019. En revanche, pour tous nos nouveaux clients disposant d'abonnements annuels ou mensuels, c'est la nouvelle tarification qui s'applique.
Mes déploiements sont sur GCP. Suis-je concerné par ces tarifs ?
Oui. À compter de la publication de cet article de blog, les tarifs appliqués au stockage de sauvegardes et au transfert de données sont identiques, quel que soit votre fournisseur cloud.