Introduction

La principale mission d’un système d’information est de répondre à un besoin métier. En effet, chaque application déployée doit pouvoir répondre aux besoins des utilisateurs de l’entreprise ou d’utilisateurs externes. L’objectif de ces applications est d’être disponible et opérationnelle lorsque l’utilisateur en a besoin. Souvent, on voudra que ces applications soit disponibles 24h/24 et 7J/7. Mais comment définir cette disponibilité ? Comment définir contractuellement qu’une application sera disponible ou non.

Toutes ces problématiques sont définis dans les études SRE (Site Reliability Engineering) . Dans cet article nous définirons les mots SLA, SLI et SLO avant d’expliquer comment les définir pour son entreprise.

Vocabulaire

Service-Level Objective (SLO)

Une des principales caractéristique d’un service délivré par une application est sa disponibilitié. Par disponibilité, on définiera la capacité de ce service à répondre au besoin métier. Par conséquent :

Le monitoring de la disponibilité d’une application doit être utilisé comme indicateur historique du bon fonctionnement d’une application et permet une estimation du bon fonctionnement futur de cette même application.

Le SLO est l’implementation numérique et quantitative de l’objectif de disponibilité d’un service. Ainsi toute discussion sur l’amélioration de la disponibilité d’un service doit pour avoir but d’atteintre le SLO.

Il faut noter que plus le SLO est restrictif , plus il sera couteux.

Prenons un exemple. Imaginons que nous définissons le SLO d’une application de comptabilité accessible depuis une centaine d’employés internes à l’entreprise situé sur plusieurs continents (et donc des fuseaux horaires différents). Cette application est critique pour l’entreprise. Il est estimé que la non disponibilité de cette application coûte à l’entreprise 1000$/minute.

Dans le contexte ci-dessus, nous allons définir un SLO restrictif afin d’éviter que l’application soit non disponible (et ainsi éviter les pertes). Nous définierons que le SLO de l’application est :

Un tel niveau de disponibilité exige une infrastructure informatique importante. On peut imaginer des équilibreurs de charges, des bases de données performantes, des restaurations de backup rapides lors d’incident etc …