Lorsqu'un site web ou un service web n'est pas disponible en ligne ou ne fonctionne pas assez bien pour que les utilisateurs terminent une tâche, le site est considéré comme étant indisponible.

Même si la plupart des sites web et des services web visent zéro indisponibilité, des moments d'indisponibilité sont inévitables. Même les géants comme Google et Facebook connaissent occasionnellement des indisponibilités. Bien que la technologie se soit améliorée et que les fournisseurs aient mis en place des systèmes pour aider à éliminer les indisponibilités, des circonstances imprévisibles entraînent quand même des indisponibilités.

Qu'est-ce qui constitue une indisponibilité ?

L’indisponibilité (downtime) est un terme subjectif tout comme son contraire la disponibilité (uptime). Dans les premières années d'Internet, l'indisponibilité signifiaient généralement qu'un site était inaccessible pour ses utilisateurs finaux. Aujourd'hui, ce qui constitue une indisponibilité est plus complexe La plupart des acteurs considèrent qu'un site ou un service est indisponible si les utilisateurs finaux ne peuvent pas terminer leur tâche. Par exemple, un site de commerce électronique est indisponible si les utilisateurs finaux ne peuvent pas mettre un article dans leur panier d'achat. En fait, les visiteurs pardonnent davantage à un site qui subit une panne complète qu'à un site qui est disponible mais qui ne fonctionne pas bien. Des performances médiocres peuvent également tomber dans la catégorie des indisponibilités si elles empêchent les utilisateurs finaux à atteindre leur objectif.

Qu'est-ce qui produit les indisponibilités ?

Pour un fournisseur, beaucoup de choses peuvent être à l'origine d'une indisponibilité. Certaines causes sont sous le contrôle du fournisseur, telles que la maintenance planifiée, mais d'autres interruptions ne le sont pas. Chaque situation est unique, mais la plupart des causes tombent dans les catégories suivantes.

Erreur humaine

Comme toujours, quand quelque chose ne va pas, la cause profonde mène généralement à une seule erreur commise par un individu ou une équipe. Un changement de code apparemment bénin affecte quelque chose qui n'apparaît pas lors des tests de régression, un système est déconnecté alors qu'il n'aurait pas dû l'être ou une entrée DNS est mise à jour incorrectement; ce ne sont que quelques exemples de la contribution des humains à l'indisponibilité d'un site. L'énorme panne AWS début 2017 est un exemple concret de la façon dont quelque chose d'aussi simple qu'une faute de frappe peut provoquer des indisponibilités qui ont non seulement affecté Amazon Web Services, mais ont également fait tomber de nombreux sites web importants.

Panne d'équipement

L'équipement s'use et tombe en panne, et des équipements neufs peuvent tomber en panne sans avertissement. Une bonne maintenance et la redondance matérielle sont les seuls moyens de minimiser les indisponibilités dues au matériel. Un autre exemple Amazon, le géant du commerce électronique a subi une panne qui a touché la plupart des pays en Europe en 2010. Au départ on soupçonnait que les pirates avaient cassé le site, mais plus tard Amazon a révélé que l'indisponibilité était due à une panne matérielle dans leur centre de données.

Attaque malveillante

Les hackers découvrent constamment de nouvelles façons intelligentes d'infiltrer et de perturber les entreprises. Une méthode courante est l'attaque DDoS (Distributed Denial-of-Service). Les attaques par déni de service tentent de submerger les serveurs avec des requêtes. Les requêtes proviennent simultanément et de manière répétée de plusieurs emplacements provoquant une surcharge des serveurs web de la cible. Le déluge de requêtes ont comme effet de bloquer les requêtes légitimes et ça fait tomber le site. Un autre type d'attaque est l'empoisonnement du cache DNS où les pirates infiltrent le cache du DNS (Domain Name System) et modifient l'adresse IP de façon à leur permettre d'exploiter les utilisateurs du site; le résultat est que le site cible n'est plus disponible. D'autres attaques impliquent des certificats SSL et des logiciels malveillants.

Comment les sites web évitent-ils les indisponibilités ?

En ce qui concerne le matériel, les entreprises utilisent la redondance pour s'assurer que les systèmes de sauvegarde restent prêts en cas de panne, et les équilibreurs de charge et les centres de données contribuent à maintenir les performances. Les services du Monitoring Synthétique surveillent les sites Web, les serveurs, les API et les applications web pour les pannes, la performances et les fonctionnalités, et le service de surveillance alerte les équipes de soutien lorsque les choses ne fonctionnent pas correctement.

Surveillance du temps de disponibilité (Monitoring du Uptime)

Aussi appelé surveillance de la disponibilité et surveillance de site web, le Uptime monitoring est un type de surveillance synthétique qui utilise un réseau d'ordinateurs (les points de contrôle) pour envoyer des requêtes, des pings et se connecter à des sites web et des serveurs. Ces moniteurs de base vérifient les codes de réponse et les temps de réponse et rapportent les résultats au service de surveillance. Si une erreur se produit ou si la réponse prend plus de temps que prévu, le service de surveillance peut émettre une alerte ou le service de surveillance peut valider l'erreur à partir d'un autre point de contrôle avant de déclencher les alarmes.

Surveillance avancée de la disponibilité (Advanced Availability Monitoring)

La surveillance avancée de la disponibilité utilise des types de surveillance spécialisés pour vérifier la disponibilité en fonction de serveurs ou de fonctions spécifiques. Les entreprises utilisent cette surveillance avancée afin de :

  • Vérifier le contenu et la date d'expiration des certificats TLS/SSL,
  • Vérifiez l'intégrité du DNS en vérifiant les champs clés sur un enregistrement DNS,
  • Communiquer avec les serveurs de messagerie POP3, SMTP, et IMAP,
  • Interroger et vérifier les bases de données MySQL et SQL Server, et
  • Vérifiez la disponibilité et les téléchargements pour FTP et SFTP.

Surveillance de la Performance et des Fonctionnalités (Performance and function monitoring)

La surveillance de disponibilité et la surveillance avancée fonctionnent bien pour la vérification des pannes du système, mais ils sont moins adaptés pour vérifier les performances et la fonctionnalité. Avec les Web Performance, Web Application, et API Monitoring la surveillance de la disponibilité atteint un niveau supérieur.

Surveillance de la Performance de Site Web (Web Performance monitoring)

Les moniteurs de performances font plus qu'émettre et recevoir une requête, car ils utilisent des navigateurs réels comme Chrome et Internet Explorer pour envoyer la requête et recevoir la réponse. Les points de contrôle font plus que simplement vérifier le retour des messages d'erreur; le point de contrôle charge la réponse dans un navigateur. Le chargement du contenu permet aux requêtes suivantes de s'exécuter et les scripts et contenus de la page de se charger dans le navigateur. Le moniteur vérifie les performances de chaque élément de page. Un service de surveillance génère un rapport visuel sous la forme d'un graphique en cascade pour un examen plus facile. Les graphiques en cascade facilitent l'analyse des causes premières en identifiant un contenu peu performant (tiers ou natif) et en signalant les performances côté client et côté serveur (front-end et back-end) de chaque élément.

Web Application Monitoring

Le site est peut-être disponible mais ne fonctionne pas correctement, de sorte que le site subit une forme d'indisponibilité. La surveillance des applications web ou la surveillance des transactions aide les entreprises à maintenir le bon fonctionnement de leur site web. Les points de contrôle utilisent des scripts qui agissent comme le feraient des utilisateurs réguliers pour tester les formulaires de connexion, les paniers d'achat, les formulaires web et les processus de paiement. Les moniteurs surveillent également la réactivité du serveur et vérifient le contenu de la page en cours de route.

API Monitoring

Les entreprises et les sites web SaaS communiquent entre eux et avec les utilisateurs finaux tout le temps en utilisant leurs API orientées vers le public. Lorsqu'une API tombe en panne, elle n'est pas la seule victime. Les applications mobiles cessent de fonctionner, les fonctions et le contenu web dépendants tombent, et les processus back-end s'arrêtent. Le test des fonctions de l'API à l'aide de l'API Monitoring permet de réduire considérablement les indisponibilités en détectant rapidement les défaillances et les tendances. La détection précoce des problèmes d'API peut empêcher les problèmes d'API d'affecter les utilisateurs de l'API.

Conclusion

Les indisponibilités sont difficiles à éviter, mais les bons systèmes de support et solutions de surveillance peuvent les réduire à proche de zéro. Les fournisseurs visent une haute disponibilité (99,99%) et nombre d'entre eux atteignent et maintiennent leur objectif. Une autre solution utilisée par les fournisseurs pour surveiller leur présence sur le web est le Real User Monitoring (RUM). RUM permet à un fournisseur de suivre l'expérience réelle de ses utilisateurs (Digital Experience Monitoring ou DEM). Bien que le RUM ne soit pas la bonne solution pour la surveillance de la disponibilité, il peut fournir des détails sur la performance en fonction de l'emplacement de l'utilisateur, du type et de la version du navigateur, du système d'exploitation et de la version, du type d'appareil et de la page visionnée

X