La gestion de vos ressources est cruciale pour optimiser les performances et la stabilité de votre site. Un site WordPress doit être capable de gérer des pics de trafic, d’adapter ses ressources au moment opportun et de détecter rapidement toute anomalie de performance.

Bien entendu, l’application de toutes ces tâches est également nécessaire. L’API Kinsta dispose de quelques points de terminaison qui peuvent aider à prévoir la mise à l’échelle des ressources et la détection des anomalies.

Dans cet article, nous examinerons les concepts de mise à l’échelle prédictive des ressources et de détection des anomalies, ainsi que la manière dont l’API Kinsta s’intègre dans votre flux de travail. Nous aborderons quelques scénarios réels de ce type de mise à l’échelle, examinerons les capacités de l’API et étudierons la manière d’intégrer ces stratégies dans votre flux de travail.

Dans un premier temps, nous devrions essayer d’appréhender les tâches auxquelles nous allons être confrontés.

Comprendre la mise à l’échelle prédictive des ressources et la détection des anomalies

Nous verrons tout à l’heure ce que l’API Kinsta peut faire pour vous aider. Avant cela, voyons ce que la prédiction de l’évolutivité de vos ressources peut vous apporter. À partir de là, nous aborderons également les avantages de la détection des anomalies dans les performances de votre site.

Les avantages de l’échelonnement prédictif des ressources

En résumé, l’évolutivité prédictive des ressources est un moyen de gérer les ressources de votre site en fonction de la demande que vous anticipez. Il s’agit d’une approche proactive qui implique l’analyse des données, l’examen des modèles d’utilisation et d’autres facteurs pertinents.

En prévoyant le moment où votre site est susceptible de connaître une augmentation du trafic ou de la consommation de ressources, vous pouvez adapter vos ressources à la demande. Le résultat net est une performance optimisée et une meilleure expérience utilisateur globale.

Cependant, la mise à l’échelle prédictive des ressources présente de nombreux avantages :

  1. Amélioration des performances du site. La mise à l’échelle de vos ressources peut contribuer à prévenir les goulets d’étranglement en matière de performances. Cela permet à votre site de rester réactif lors des pics de trafic.
  2. Optimisation des coûts. La mise à l’échelle prédictive vous permet d’allouer les ressources avec une plus grande efficacité. Ainsi, vous ne surprovisionnerez pas ces ressources et vous réduirez les coûts inutiles.
  3. Amélioration de l’expérience utilisateur. Les pics de trafic peuvent être atténués, ce qui améliore l’expérience utilisateur. Votre site sera en mesure de gérer ces pics avec moins de contraintes, ce qui vous permettra de bénéficier d’une expérience frontale cohérente, fluide et rapide.

L’association de la mise à l’échelle prédictive et de la capacité à détecter les anomalies de performance sur votre serveur est une excellente combinaison. Nous allons maintenant examiner les avantages de la détection de ces incohérences.

L’importance de la détection des anomalies

Un aspect qui va souvent de pair avec une stratégie de mise à l’échelle est la détection des irrégularités dans les mesures de performance de votre site. Vos statistiques comporteront une ligne de base et des valeurs extrêmes lorsqu’il s’agit de l’utilisation du processeur, de la consommation de mémoire et des temps de réponse, ce qui peut être une source de problèmes et d’optimisation potentielle.

La détection précoce de ces anomalies vous permet de résoudre les problèmes potentiels avant qu’ils n’affectent la disponibilité et l’expérience utilisateur de votre site et qu’ils ne deviennent un problème majeur. De plus, il y a beaucoup d’autres avantages :

  • Résolution proactive des problèmes. Si vous pouvez détecter les incohérences avant qu’elles ne deviennent des problèmes plus importants, vous pouvez prendre des mesures rapides pour les résoudre. Cela permet de minimiser les temps d’arrêt et d’assurer la disponibilité continue de votre site.
  • Amélioration de la stabilité du site. La détection des anomalies vous permet d’identifier et de résoudre les problèmes de performances actuels. La résolution de ces problèmes peut contribuer à la stabilité et à la fiabilité globales de votre site.
  • Perspectives d’optimisation. En analysant les anomalies qui surviennent, vous pouvez obtenir des informations précieuses sur les zones de votre site qui pourraient nécessiter une optimisation plus poussée.

La détection des anomalies et l’optimisation des performances sont les deux faces d’une même pièce. Cela signifie que vous utilisez les stratégies en tandem pour créer une base de performance robuste pour votre site. Dans la section suivante, nous verrons ce qu’il en est dans certains scénarios typiques.

Scénarios réels pour la mise à l’échelle prédictive des ressources et la détection des anomalies

La nécessité d’augmenter les ressources serveur à votre disposition a de nombreuses applications pratiques. Il est juste de dire que presque tous les sites auront besoin d’une forme ou d’une autre de cette stratégie.

Pour mieux comprendre comment vous pouvez utiliser la mise à l’échelle prédictive des ressources et la détection des anomalies dans un contexte réel, examinons-en quelques-unes. Notre premier scénario est sans doute l’un des plus populaires.

1. Sites de commerce électronique pendant les saisons de pointe

Dans un monde idéal, votre site de commerce électronique bénéficierait d’un trafic et d’un engagement constants tout au long de l’année. Cependant, dans la réalité, votre activité fluctuera. Prenons l’exemple d’un site de commerce électronique qui connaît des pics de trafic pendant les fêtes de fin d’année ou les soldes.

Le site web de Pulsar Audio, présentant une offre de vente de printemps.
Le site web de Pulsar Audio, présentant une offre de vente de printemps.

Dans ce cas, la détection des anomalies se transforme en une analyse approfondie. Vous commencez par vos indicateurs et examinez les données historiques relatives à vos niveaux de trafic. Si vous pouvez utiliser ces mesures pour anticiper les hausses de trafic attendues, vous pouvez commencer à réfléchir aux ressources à mettre en œuvre.

Il s’agit d’être proactif en matière de dimensionnement des ressources en fonction des niveaux de trafic prévus à des moments précis de l’année. Par exemple, vous pouvez augmenter l’allocation de l’unité centrale et de la mémoire pour faire face à une augmentation de la charge. D’un point de vue pratique, l’expérience d’achat peut être stable et fluide pour vos clients. En retour, cela peut non seulement vous permettre d’économiser des revenus, mais aussi d’en gagner.

2. Sites d’actualités et de médias lors d’événements majeurs

Les sites dont le contenu est centré sur le temps, tels que les organes de presse, sont confrontés aux mêmes défis que les sites de commerce électronique. Dans ce cas, les pics de trafic se produisent lors d’événements majeurs ou de nouvelles de dernière minute.

Le site web de NBC News.
Le site web de NBC News.

La différence est plus importante ici, car les pics de trafic sont plus fréquents et plus irréguliers. L’accès à un contenu pertinent est également souvent crucial. Pensez aux alertes météorologiques, par exemple.

C’est là que la mise à l’échelle prédictive des ressources peut s’avérer très utile. Comme pour le commerce électronique, l’analyse des schémas de trafic antérieurs lors d’événements similaires peut vous aider à prendre des décisions éclairées sur le moment de la mise à l’échelle et sur l’ampleur de cette mise à l’échelle. Le suivi des tendances de l’actualité peut également s’avérer utile. L’objectif principal est de s’assurer que votre site reste accessible et réactif. Bien qu’une interface utilisateur fluide soit également importante, un accès sans interruption est essentiel.

3. Applications SaaS (Software as a Service) avec des modèles d’utilisation variables

Les applications SaaS peuvent être volatiles, avec des schémas d’utilisation fluctuants basés à la fois sur le comportement du client et sur la demande globale pour le service. L’épidémie de Covid-19 en mars 2020 en est un bon exemple. 16 millions de travailleurs ont dû rester chez eux, et Slack a vu son nombre d’utilisateurs augmenter de 20 % au cours des deux premières semaines.

L'application de messagerie Slack.
L’application de messagerie Slack.

La détection des anomalies peut vous aider à comprendre ce qui pourrait mal tourner lorsque vous augmentez vos ressources. Cela a beaucoup compté pour Slack, car il était important d’aider les gens à continuer à travailler pendant la pandémie.

La mise à l’échelle prédictive des ressources est également essentielle, car c’est un moyen d’optimiser votre infrastructure pour qu’elle corresponde à tous les schémas d’utilisation. Là encore, l’examen des données historiques et la mise en œuvre d’une stratégie proactive de mise à l’échelle peuvent améliorer l’expérience utilisateur, minimiser les coûts et renforcer la confiance et la réputation externe de votre base d’utilisateurs.

Les capacités de l’API Kinsta pour la gestion des ressources

Disposer d’un moyen de mettre en œuvre la mise à l’échelle des ressources et de détecter les écarts est tout aussi vital que de connaître les stratégies. Pour les utilisateurs de Kinsta, vous disposez du tableau de bord MyKinsta, qui contient une multitude de mesures :

Le tableau de bord MyKinsta.
Le tableau de bord MyKinsta.

Cependant, cela n’est pas utile dans les situations où vous avez besoin d’une plus grande flexibilité. L’API de Kinsta est l’outil qu’il vous faut. Vous disposerez ainsi d’un certain nombre de points d’accès à nos fonctionnalités, dont certains seront essentiels pour l’évolutivité et l’analyse :

  • CPU Usage. Vous pouvez surveiller l’utilisation de l’unité centrale de votre serveur au fil du temps, ce qui vous permet d’identifier les tendances et les goulets d’étranglement potentiels avant qu’ils ne deviennent un problème.
  • Memory Usage. Vous pouvez suivre votre consommation de mémoire pour vous assurer que votre site dispose de suffisamment de ressources pour gérer sa charge de travail et l’augmenter si nécessaire.
  • Bandwidth. L’analyse des données totales que vous transmettez peut être un bon indicateur pour mettre en œuvre votre stratégie de mise à l’échelle.
  • Slowest Requests. C’est l’un des nombreux autres points de terminaison qui peuvent vous montrer quelles requêtes et quelles réponses ont le plus d’impact sur les performances de votre site.

Nous en examinerons d’autres en détail un peu plus loin. Cependant, il est important de comprendre que l’API Kinsta ne couvre que la plupart des bases de la mise à l’échelle des ressources et de la détection des anomalies :

  • Vous devez prévoir tout problème futur. L’API Kinsta ne peut que vous envoyer des données, c’est à vous de les interpréter.
  • Par extension, toute mise à l’échelle que vous devez mettre en œuvre relève de votre responsabilité. L’API Kinsta ne peut pas le faire à votre place, et c’est compréhensible.
  • Bien que l’API Kinsta offre de nombreuses façons de surveiller votre site, il se peut que vous ne disposiez pas de tous les points de terminaison dont vous avez besoin pour atteindre vos objectifs (bien que nous y travaillions !).

Quoi qu’il en soit, l’API a beaucoup à offrir, et sa nature programmatique signifie que vous pouvez la relier à d’autres systèmes, implémenter vos propres fonctions et classes, et presque tout ce que vous souhaitez.

Détecter les anomalies avec l’API Kinsta

Vous n’utiliserez pas la mise à l’échelle tous les jours, et vous ne déciderez peut-être de la déclencher que quelques fois par an. C’est pourquoi nous allons nous intéresser à quelque chose que vous ferez bien plus régulièrement : détecter les incohérences dans les mesures de votre serveur.

Mise en place de la surveillance et des alertes

Votre système de surveillance sera l’épine dorsale de votre proactivité. Il y a de nombreuses considérations à prendre en compte, mais nous vous conseillons de faire les choses simplement au début :

  • Déterminez ce que vous souhaitez surveiller. Vous pouvez vous appuyer sur vos propres rapports pour indiquer les indicateurs clés ou simplement consulter votre tableau de bord MyKinsta pour voir ce que vous vérifiez fréquemment.
  • Déterminez comment vous souhaitez recevoir des alertes. Par exemple, vous pouvez recevoir des notifications Slack ou un simple e-mail lorsque vous atteignez un seuil.
  • Déterminez une base de référence. Vous devez prendre le temps de comprendre le comportement habituel de votre serveur. C’est là que vous examinez les données métriques historiques et toute indication ou tendance future.

Une fois que vous avez ces connaissances, vous pouvez commencer à utiliser l’API Kinsta pour configurer les points de terminaison dont vous avez besoin.

Points de terminaison de l’API Kinsta pour la détection des anomalies

Il existe quelques points de terminaison qui peuvent être utiles ici. Nous en avons mentionné quelques-uns plus haut dans ce billet, mais pour être complet, voici une liste que nous pensons adaptée à vos besoins :

  • Bandwidth. Nous en avons déjà parlé, car c’est ainsi que vous mesurerez l’ensemble des données que vous transmettez.
  • HTTP Requests Per Minute. Il s’agit d’un chiffre simple : il mesure littéralement le nombre de requêtes HTTP que votre site reçoit chaque minute !

Il existe quelques points de terminaison qui sont utiles pour l’analyse des tendances :

  • CPU Usage. Notre mesure indique la moyenne de l’utilisation totale de l’unité centrale pour une période donnée.
  • Memory Usage. De même, il s’agit de la moyenne de la consommation totale de mémoire pour une période donnée.

Si vous avez besoin de conseils sur les possibilités de mise à l’échelle, certains points de terminaison peuvent vous aider :

  • Build Time. Le suivi de ce paramètre vous indique le temps nécessaire à la création de votre application. Associé à des mesures de l’utilisation de l’unité centrale et de la mémoire (entre autres), vous pouvez vous faire une opinion sur la nécessité d’une mise à l’échelle.
  • Run Time. La durée totale d’exécution de votre application peut vous aider à décider où prioriser votre utilisation, à trouver les goulots d’étranglement des performances, et bien plus encore.

Prenons un exemple d’utilisation d’un point de terminaison pour la détection d’anomalies. Ici, nous utilisons Node.js pour vérifier la bande passante d’un site. Notez que vous devrez mettre en œuvre la validation de la clé API – probablement à l’aide de variables d’environnement – et un moyen de surveiller en permanence la bande passante.

import fetch from 'node-fetch';


const API_TOKEN = <YOUR-API-TOKEN>;
const APPLICATION_ID = <YOUR-COMPANY-ID>;

async function checkBandwidth(token, id, timeframeStart, timeframeEnd, intervalInSeconds) {
  const query = new URLSearchParams({
    interval_in_seconds: intervalInSeconds,
    timeframe_start: timeframeStart,
    timeframe_end: timeframeEnd,
  }).toString();

  const resp = await fetch(`https://api.kinsta.com/v2/applications/${id}/metrics/bandwidth?${query}`, {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR-API-KEY>',
    },

  });

  const data = await resp.json();

  if (!resp.ok) {
    console.error('Error checking bandwidth:', data);
    return;
  }

  console.log('Bandwidth data:', data);

}


async function run() {
  const timeframeStart = '2021-07-22T18:10:45.511Z';
  const timeframeEnd = '2021-07-22T18:10:45.511Z';
  const intervalInSeconds = '3600';

  await checkBandwidth(API_TOKEN, APPLICATION_ID, timeframeStart, timeframeEnd, intervalInSeconds);
}

run().catch(error => {
  console.error('An error occurred', error);
  process.exit(1);
});

En ce qui concerne les notifications, vous pourriez mettre en place un canal Slack pour lancer une conversation lorsque votre bande passante atteint une certaine limite.

Pour traquer les anomalies, vous devez examiner les données que vous récupérez pour détecter les valeurs aberrantes, même si vous pouvez également créer un moyen programmatique de rechercher des mesures aberrantes. À partir de là, vous pouvez commencer à formuler une réponse.

Réponse aux anomalies

En bref, votre script détectera une anomalie, enverra un ping à Slack et vous pourrez alors passer à l’action. La façon dont vous le ferez dépendra de votre plan de réponse. Ce processus déterminera la manière dont vous poursuivrez l’enquête, diagnostiquerez et résoudrez la cause première du problème.

Par exemple, s’il s’agit du site d’un client, vous pouvez avoir mis en place un accord de niveau de service qui exige que vous répondiez dans un délai déterminé. Pour votre propre site, vous pouvez simplement accéder à votre système d’analyse et consulter vos journaux.

Section d'un fichier journal de Kinsta Nginx.
Section d’un fichier journal de Kinsta Nginx.

La façon dont vous mettez cela en place dépendra de la taille de votre équipe, de vos besoins et de vos ressources. Quoi qu’il en soit, la prochaine étape consistera à mettre en œuvre votre stratégie de mise à l’échelle des ressources.

Mise en œuvre de la mise à l’échelle prédictive des ressources avec l’API Kinsta

Une fois que vous connaissez vos mesures de base, vous pouvez décider de mettre vos ressources à l’échelle ou non. Comme nous l’avons souligné dans une section précédente, la prédiction automatisée est quelque chose que vous pouvez mettre en œuvre. L’hébergement d’applications de Kinsta offre cette possibilité pour chaque plan. Vous trouverez cette option dans le tableau de bord MyKinsta, sous l’onglet Applications.

Cependant, l’API de Kinsta peut vous fournir les outils pour faire vos prédictions avec précision et confiance.

Vous pouvez adopter quelques stratégies à cet égard :

  • Notez les occasions de tirer parti de la mise à l’échelle.
  • Évaluez votre consommation de ressources globale et macro.
  • Recherchez les goulets d’étranglement comme cibles de votre mise à l’échelle des ressources.

Les points de terminaison bandwidth, HTTP requests per minute et average response time sont d’excellents moyens de trouver des possibilités de mise à l’échelle. Vous remarquerez que la vérification de la bande passante et des requêtes HTTP fait double emploi avec la mise à l’échelle des ressources et la détection des anomalies.

Les mêmes points de terminaison que vous utilisez pour analyser les tendances sont également parfaits pour prédire la mise à l’échelle des ressources. En fait, l’utilisation du processeur et de la mémoire sont deux signes révélateurs de la nécessité d’augmenter la puissance de votre serveur.

Enfin, les goulots d’étranglement dans les processus de chargement des pages peuvent épuiser vos ressources et constituer une cible idéale pour la mise à l’échelle. Le point de terminaison slowest requests est à surveiller. Il signale les pires problèmes pour votre site, et le tableau de bord MyKinsta vous fournit un graphique à ce sujet :

Un panneau montrant les transactions les plus lentes sur un site Kinsta.
Un panneau montrant les transactions les plus lentes sur un site Kinsta.

Cependant, cela peut être le signe d’un besoin d’augmenter l’échelle et peut également mettre en évidence un point d’optimisation. Il s’agira de « gains rapides » (en théorie) en cours de route, car la résolution de ces problèmes encapsulés devrait réduire la quantité de ressources que vous allouez à votre site et, par conséquent, les libérer.

Conseils et astuces pour intégrer la mise à l’échelle prédictive et la détection d’anomalies dans votre flux de travail

Avant de conclure, examinons quelques tactiques, pratiques typiques et astuces pour intégrer la mise à l’échelle prédictive et la détection d’anomalies dans votre flux de travail. La proactivité est un sujet que nous avons souvent abordé dans cet article, et il existe plusieurs façons d’avoir une longueur d’avance dans ce domaine :

  • Déterminez des lignes de base et des seuils clairs pour les performances de votre site afin d’orienter vos stratégies de mise à l’échelle et de détection.
  • Prenez le temps d’examiner et de mettre à jour régulièrement vos modèles prédictifs pour en vérifier la précision et la pertinence.
  • Mettez en place une surveillance automatisée dans la mesure du possible, en utilisant des alertes visibles par toute l’équipe. Vous voulez essentiellement minimiser le nombre d’interventions manuelles que vous devez effectuer.

En ce qui concerne l’équilibre entre les interventions automatiques et manuelles, nous pouvons également vous donner quelques conseils :

  • Il doit y avoir un équilibre entre les actions de mise à l’échelle automatisées et la supervision manuelle. Cet aspect est plus important que vous ne le pensez pour assurer le bon niveau de contrôle et de responsabilité de votre stratégie.
  • Lorsque vous mettez en œuvre une mise à l’échelle automatisée, il convient de définir des lignes directrices et des règles claires concernant le moment où elle doit se déclencher et le moment où elle nécessite une intervention manuelle.
  • Révisez et affinez régulièrement vos règles d’automatisation. Cela vous aidera à accroître l’efficacité et à minimiser les faux positifs dans vos rapports.

Nous avons un dernier conseil concernant l’analyse et le suivi. Cette partie du processus implique de vérifier constamment vos mesures et de réagir à tout changement. Il existe quelques moyens de faciliter cette tâche.

Le plus important, à notre avis, est d’analyser régulièrement les résultats des décisions que vous prenez. Cela peut s’avérer essentiel pour le cycle suivant, car une meilleure compréhension de la manière dont vous prenez vos décisions rendra vos prochaines décisions plus efficaces.

Résumé

La mise à l’échelle prédictive des ressources et la détection des anomalies sont deux excellents moyens d’être proactif lorsqu’il s’agit de gérer les performances et la réactivité de votre site WordPress. L’API Kinsta peut vous aider à mettre en œuvre et à développer ces techniques de manière programmatique.

Par exemple, de nombreux points de terminaison vous aident à surveiller les performances de votre site. Avec les bons scripts en place, vous pouvez établir des lignes de base et des repères. Si vous associez cela à une plateforme telle que Slack, vous pouvez disposer d’alertes automatisées qui vous aideront à mettre en œuvre votre plan d’intervention.

Avez-vous besoin d’une stratégie de surveillance prédictive des ressources et de détection des anomalies, et si oui, qu’est-ce qui est important pour vous ? Faites-nous part de vos commentaires dans la section ci-dessous !

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).