Lorsque vous créez et hébergez des applications disponibles pour des clients externes et internes, vous avez du déjà vous demander : "Quelle est le taux de disponibilité de mon application ?". En effet, particulièrement si vous vendez ce service à d'autres entreprise (B2B), vous devez pouvoir garantir un taux de disponibilité de celle-ci. Ce taux de disponibilité est souvent contractualisé sous forme de SLA (Service-Level Agreement). Pour s'assurer que vous respectez vos données contractualisés, vous devez mesurer le taux de disponibilités (et taux d'indisponibilité) de vos applications. Ainsi, lorsque vous réaliserez des review de performance sur l'année passée, vous pourrez prouver que vous avez respecté vos engagements.
Cependant, comment peut on définir une application est "disponible" ? Comment calcule-t-on un taux de disponibilité ? Dans cet article nous allons discuter ensemble des différents mots de vocabulaire liés à cette problématique. Puis nous verrons comment mesurer et calculer des disponibilités de son application.
Si nous reprenons la definition de Google, la disponibilite d'un système (ou d'une application) est sa capacité à remplir sa fonction à un moment précis. En utilisant un système de monitoring adapté vous pourrez calculer le taux de disponibilité de votre application et prévoir les futurs indisponibilités. Pour calculer un taux de disponibilité on peut :
Calculer le "temps" de disponibilité :
$$ Availability = \frac{Uptime}{Uptime+Downtime}*100 $$
Calculer le nombre de requêtes :
$$ Availability = \frac{SuccessRequests}{SuccessRequests+FailedRequest}*100 $$
Comme son nom l’indique, le SLA est un engagement entre deux parties. Cela peut être entre deux entreprises (un provider et un client) ou bien entre départements dans une grande entreprise. Le SLA va définir votre engagement sur la disponibilité du service. Cet engagement est très souvent contractualisé entre les deux parties et peut inclure des pénalités dans le cas où le SLA n’est pas respecté. Ces pénalités sont souvent financières et peuvent se matérialiser par des réductions du prix de l’abonnement au service pour les prochains mois.
Le SLA se définit souvent en pourcentage. Ainsi, on peut définir la disponibilité d’un service à 99.95% (ce qui donne une durée d’indisponibilité de 4h 22m 58s par an).
Bien sur, vos clients peuvent vous demander vos rapports de disponibilité sur des périodes précises (par exemple pour des audits) pour vérifier que vous respectez vos engagements. Il est donc primordial d’avoir un système de monitoring qui mesure votre taux de disponibilité.