La disponibilité d'une application désigne la durée pendant laquelle une application est opérationnelle.
Cet article s'articule autour des points suivants :
Copier le lien de l'article
La disponibilité des applications mesure le temps pendant lequel une application est opérationnelle. Une application est disponible lorsqu'elle fonctionne comme prévu, lorsqu'elle répond aux demandes des utilisateurs ; une application n'est pas disponible si elle ne fonctionne pas ou si elle n'est pas joignable par les utilisateurs finaux.
Pour les applications web, l'optimisation de la disponibilité est un atout important du développement. La disponibilité des applications peut être améliorée en combinant l'optimisation de l'infrastructure back-end, l'optimisation du front-end et l'atténuation des attaques.
Les utilisateurs sont exigeants pour ce qui est de la disponibilité des applications web . Les pannes peuvent avoir une incidence considérable sur les revenus et la réputation. Pensez aux heures « d'ouverture » d'un magasin : si un magasin est fermé à des heures inattendues, les clients iront voir ailleurs. De même, les utilisateurs qui ne sont pas en mesure d'obtenir le service dont ils ont besoin à partir d'une application logicielle cesseront d'utiliser cette application, ce qui provoquera une perte de clients, et donc de revenus.
Pour les applications d'entreprise à entreprise (B2B), la disponibilité est généralement stipulée dans l'accord de niveau de service (SLA), exprimée en pourcentage de temps pendant lequel l'application est censée être opérationnelle. Les développeurs d'applications ont, dans ce cas, l'obligation contractuelle d'assurer un certain niveau de disponibilité à leurs clients.
La « disponibilité » est un concept qui s'applique aux systèmes et aux services de toute sorte, des serveurs aux applications en passant par les API. Elle est mesurée en pourcentage : une application qui est à l'arrêt 36 secondes par heure affiche une disponibilité de 99 %.
La fiabilité désigne la capacité d'un système ou d'une application à fournir des services tels qu'ils sont attendus, sans erreur, sur une période donnée. Une application peut être disponible tout en étant peu fiable, si elle fonctionne lentement ou produit des résultats inattendus et incorrects. Pour revenir à l'analogie précédente, un magasin indisponible est fermé ; un magasin peu fiable est ouvert, mais les rayonnages peuvent contenir des articles placés au mauvais endroit.
La disponibilité des applications est souvent calculée sur la base d'une année civile. Ce tableau indique la durée d'indisponibilité d'une application présentant différents niveaux de disponibilité sur une période de 365 jours. (Les temps d'arrêt sont cumulatifs et peuvent se produire sur plusieurs périodes différentes ou en une seule fois.)
Disponibilité | Temps d'arrêt total par an |
---|---|
95 % | 18 jours et 6 heures |
99 % | 3 jours, 15 heures et 36 minutes |
99,9 % | 8 heures, 45 minutes et 36 secondes |
99,99 % | 52 minutes et 34 secondes |
99,999 % (« cinq neuf ») | 5 minutes et 15 secondes |
On parle de disponibilité lorsqu'une application fonctionne comme prévu. On parle de temps d'arrêt lorsqu'un appareil ou un service n'est pas opérationnel. Dans de nombreux contextes, temps d'activité et disponibilité sont synonymes.
Internet est complexe et de nombreux facteurs différents peuvent avoir une incidence sur la disponibilité et les performances d'une application web. Certains de ces facteurs sont sous le contrôle des développeurs d'applications, d'autres non. Cependant, il existe plusieurs mesures grâce auxquelles les développeurs peuvent prendre en compte et atténuer les facteurs qui affectent la disponibilité.
La haute disponibilité correspond à un très haut niveau de disponibilité constante obtenu grâce à des sauvegardes et en évitant les points de défaillance uniques. Dans une architecture à haute disponibilité, une panne unique de serveur, passerelle ou service n'entraîne pas d'indisponibilité. Une architecture à haute disponibilité doit également prévenir les cyberattaques.
L'équilibrage de charge répartit uniformément les charges de calcul et le trafic réseau sur les groupes de serveurs. Cette solution permet de garantir qu'aucun serveur ou groupe de serveurs ne sera submergé par plus de trafic qu'il ne peut en traiter efficacement.
Il existe une variété d'algorithmes d'équilibrage de charge : certains équilibreurs de charge répartissent les charges de travail de manière uniforme, quoi qu'il arrive, tandis que d'autres utilisent des algorithmes dynamiques pour répondre aux conditions du réseau et à l'état du serveur en temps réel.
Les serveurs web tombent inévitablement en panne de temps en temps. Un contrôle d'intégrité est un service qui vérifie si un serveur d'origine est en ligne ou non. Les contrôles d'intégrité permettent aux solutions d'équilibrage de charge de répondre à l'état du serveur, afin d'éviter que les requêtes soient dirigées vers un serveur qui serait hors ligne.
Les applications à haute disponibilité subissent une redondance au sein de leur architecture. Ces applications peuvent revenir à une copie de sauvegarde des données d'une application en cas d'attaque par rançongiciel ou si la base de données devient indisponible pour quelque autre raison. Les services redondants et les pools de serveurs veillent à ce que la défaillance d'un serveur ou d'une API n'affecte pas les fonctionnalités de l'application.
Les éléments statiques d'une application web peuvent être diffusés par un réseau de diffusion de contenu (CDN) même si l'infrastructure sous-jacente est en panne. Une version mise en cache d'une application web ne dispose pas obligatoirement de l'intégralité des fonctionnalités, mais elle peut rester techniquement disponible jusqu'au rétablissement de l'intégralité des services. (Pour en savoir plus sur le service Cloudflare Always Online.)
Le Système de nom de domaines (DNS pour Domain Name System) est ce qui permet aux utilisateurs d'accéder aux serveurs d'applications sur un réseau. Si le DNS tombe en panne ou s'il cesse de trouver la bonne adresse IP, les utilisateurs ne peuvent pas charger l'application. Le recours à un fournisseur de services DNS fiable, de portée mondiale et capable d'arrêter les attaques DDoS ciblant le DNS, permet de faire en sorte que le DNS n'affecte pas la disponibilité.
Un outil externe de surveillance de la disponibilité des applications peut aider les fournisseurs de services à suivre la disponibilité et à réagir le plus rapidement possible lorsque leurs applications tombent en panne.
La disponibilité continue est une conception de l'infrastructure informatique qui garantit qu'une application ou un système reste opérationnel en permanence. L'objectif de la disponibilité continue est d'assurer une disponibilité de 100 %, ce qui n'est pas toujours possible, en pratique. Internet a été conçu pour résister à une guerre nucléaire, mais il arrive que le service Internet tombe encore en panne pour les utilisateurs. Néanmoins, la disponibilité continue est un objectif louable qui permet de fournir le meilleur service possible aux utilisateurs.
Plus une application est disponible, plus les ressources qui doivent être consacrées à son support sont importantes. En d'autres termes, une disponibilité de 99,999 % peut être coûteuse. Les développeurs doivent décider du temps d'arrêt que leurs clients ou leurs clients tolèrent, et développer en conséquence.
Heureusement, Cloudflare rend l'architecture à haute disponibilité beaucoup plus accessible aux développeurs d'applications. Cloudflare prévoit l'équilibrage de charge, la mise en cache, la diffusion de flux, l'atténuation des attaques DDoS et la gestion native des bots, le tout intégré au service. Cloudflare propose même une plateforme de développement permettant à ces derniers de créer de nouvelles fonctionnalités, voire des applications entièrement nouvelles, qui s'exécutent sur un réseau mondial, présent dans 335 villes à travers le monde.
Découvrez comment Cloudflare peut garantir la disponibilité des applications.