• Aucun résultat trouvé

Théorie et Pratique du Système d’Information Huitième Chapitre: QoS et Haute-Disponibilité

N/A
N/A
Protected

Academic year: 2022

Partager "Théorie et Pratique du Système d’Information Huitième Chapitre: QoS et Haute-Disponibilité"

Copied!
34
0
0

Texte intégral

(1)

Théorie et Pratique du Système d’Information Huitième Chapitre: QoS et Haute-Disponibilité

Janvier-Mars 2009 Ecole Polytechnique

Yves Caseau

(2)

Plan du Cours – Architecture du Système d’Information

Première partie:

Introduction à la Fiabilité

Deuxième partie:

Fiabiliser le SI

Troisième partie:

SLA: gestion contractuelle de la QoS

(3)

Fiabilité et Complexité

• La fiabilité des SI est souvent incriminée:

o Les SI sont des systèmes complexes

 Nombreuses interactions (cf. 1 SI = 1 Airbus)

o Les conséquences sont très importantes

• Pourquoi ?

o Causes multiples (cf. Schmidt)

o Nature hybride :

 beaucoup d’actions manuelles

 Systèmes hétérogènes (assemblage)

• Qu’est-ce qui tombe en panne ?

o Marcus & Stern : pas de consensus !

o Les classiques:

System software : 27%

Hardware : 23%

Human error: 18%

Network failure: 17%

Natural disaster: 8%

Other: 7%

Première Partie: Formalisation

(4)

Fiabilité : Concepts Statistiques

Le temps moyen d’occurrence d’une panne (MTTF = Mean Time to Fail) est le temps constaté entre le début et la fin d’une période de fonctionnement normal. La notion de moyenne ici s’effectue sur un ensemble d’équipements, pas sur la vie d’un équipement donné (cf. la notion de durée de vie).

Le temps moyen de réparation (MTTR = Mean Time to Repair) est le temps qu’il faut pour détecter une défaillance, la réparer et remettre l’équipement en condition de

fonctionnement.

Le temps moyen de défaillance (MTBF = Mean Time Between Failure) est la somme des deux.

La disponibilité est le ratio (MTTF/MTBF).

temps MTBF = MTTF + MTTR

MTTR

OK

KO

MTTF

Disponibilité (%)

Première Partie: Formalisation

(5)

Disponibilité : Mesure logarithmiques (9s)

• La pratique veut que l’on mesure en « neufs »

o « trois neufs » représente 99,9%, soit une indisponibilité cumulée de 8h (un jour de travail) sur une année,

o « quatre neufs » représente 99,99%, soit une indisponibilité cumulée de 1h (52 minutes précisément) sur une année,

o « cinq neufs » représente 99,999%, soit une indisponibilité cumulée de 5 minutes sur une année.

• Ce chiffre s’interprète selon les exigences de service:

o 24 x 7, 24 x 6, 14 x 5, …

• La notion de disponibilité s’applique pour des « événements statistiques »:

o Pannes: HW, réseau, erreur de paramétrages, facilités, …

o Pas des « accidents logiciels » ou des « désastres » Première Partie: Formalisation

(6)

Durée de vie et MTBF

• La fiabilité évolue au cours du temps en fonction du cycle de vie:

• Attention aux phases de mise en service

• Attention à la gestion des équipements en fin de vie

o Cf. chapitre 5 sur les « coûts du socle »

Fréquence des incidents

âge usure Durée de vie

jeunesse

Période stable de définition du MTBF

Première Partie: Formalisation

(7)

Fiabilité du matériel

• Il existe une grande variabilité selon la qualité des composants et surtout selon l’architecture matérielle

o Redondance à tous les niveaux (ex: alimentation)

• Les fiabilités des matériels sont mesurées et publiées par les constructeurs.

o Attention les valeurs en laboratoire sont toujours meilleures que la réalité

• Les valeurs observées de disponibilité :

o De 99.9% à 99.99%

The 2006 survey found that both Linux and Windows Server 2003 (nine hours per server per year) were relatively crash-prone compared to Unix, but that the Linux systems surveyed have now closed the gap slightly.

Unix systems, which represented about 10 percent of the installed base covered by the survey, still achieved the highest reliability figures. IBM's AIX came

highest, with enterprises reporting an average of 36 minutes of downtime per server over a 12-month period. HP-UX version 11.1 recorded 1.1 hours of downtime, while Sun Solaris users reported 1.4 hours per server, per year.

ZDNET : Yankee Group Survey

Première Partie: Formalisation

(8)

Fiabilité du logiciel

• Cycle

o Fault/defect > error > failure

o Soft or hard failure: pb de la détection

• Fiabilité des composants

o Software reliability metrics: taille et complexité 

o Liée à la qualité du processus de fabrication

• Fiabilité des assemblages

o Versions

o Compatibilité

• Axiome : il reste toujours des défauts

o CJ: 0.4 défaut par point de fonction

(commercial SW, small)

o 1MLOC: 10-20 kPF : 4-8K

source: http://www.sei.cmu.edu

Première Partie: Formalisation

(9)

Anatomie d’une crise

• Causes multiples vs. confiance dans les plans de protections

• Plus le temps de détection est long, plus les dégâts sont importants

• La crise provoque un état de fonctionnement non nominal qui peut provoquer d’autres fautes : effet de cascade

• Les temps de migration de données sont sous-estimés

• Cf. Ch. Perrow « Normal Accidents »

Cause Alerte :

Détection Diagnostic

Effet :

Dégradation Analyse Action Réparation Restauration

Si action insuffisante → boucle

Si durée prévisionnelle est trop longue → Activation du Plan de secours Durée de restauration des données

Dernière sauvegarde

Perte éventuelle de données

Première Partie: Formalisation

(10)

Risque et Incertitude

Cf. Bernstein’s « a History of Risk »

Risque: des évènements pour lesquels il existe un historique et pour lesquels la gestion statistique est possible,

entrainant des pertes linéaires en fonction de l’indisponibilité

Incertitude: les évènements graves sans statistiques, entrainant des pertes non linéaires

Deux gestions contractuelles avec la maîtrise d’ouvrage:

• Les SLA (cf. plus loin) pour la gestion des incidents

• Le plan de secours, défini en terme de:

o RTO: Recovery Time Objective (DMIA)

o RPO: Recovery Point Objective (PDMA)

Durée indisponibilité Pertes

(€) Probabilité

(a)

Incidents : Traitement

quantitatif Crises :

Traitement qualitatif

indirectes productivité Directes (CA)

Étude de scénarios

Première Partie: Formalisation

(11)

AMDEC

• Issu de l’armée américaine: « Procédures pour l'Analyse des Modes de Défaillance, de leurs Effets leurs Criticités » (1949)

o Une AMDEC est défini comme "un procédé systématique pour identifier les modes potentiels et traiter les défaillances avant qu'elles ne surviennent, avec l'intention de les éliminer ou de minimiser les risques associés.

• Pour réaliser une AMDEC, on utilise un tableau qui comporte les colonnes suivantes :

o identification du composant ou du sous-ensemble,

o identification de la ou des défaillances pouvant affecter le composant ou le sous-ensemble,

o recherche des conséquences de cette (ces) défaillance(s) sur le système,

o Probabilité/facilité de détection

o cotations de la fréquence, gravité et probabilité de non-détection de la

défaillance,

o évaluation de la criticité (en général on retient le produit fréquence × gravité).

Première Partie: Formalisation

(12)

Plan de Secours (Disaster Recovery Plan)

• PCA : plan de continuité d’activité

o Orienté processus métier

o Avec l’assistance et l’implication de la maîtrise d’ouvrage

• Composants:

o Scénarios (et tests associés)

o Ressources de calcul

o Données (back-up & restore)

o Procédures (à suivre, rigoureusement définies)

• Double arbitrage économique:

o Périmètre des scénarios à couvrir

 Utilisation des AMDEC pour prioriser

o Prix de la solution de continuité

 Shared System, Cold Standby, Hot Standby

 cf. section suivante (parallèle avec haute-disponibilité) … mais sur des lieux différents

Première Partie: Formalisation

(13)

Deuxième partie

• Introduction à la Fiabilité

Fiabiliser le SI

• SLA: Gérer la qualité de service

(14)

Fiabilisation matérielle

• Meilleure disponibilité:

o Augmenter le MTBF

o Réduire le MTTR (partie suivante)

• Fiabiliser (cf. livre de Klaus Schmidt)

o Robustesse

o Redondance = repetition + (replication + fault handling)

• Trois pistes:

o Matériel fiable

o Matériel redondant (clusters)

o Architecture redondante Deuxième Partie: Fiabiliser le SI

(15)

Matériel Fiable

• Cf. point précédent : les serveurs

« haut-de-gamme » sont plus fiables (sauf exceptions)

o HW dédié « fault-tolerant »

o (ex: Status): 99.999%

• Stockage

o Technologies RAID (1 à 5)

• Importance du contrat de maintenance

o Détermine le temps d’intervention (fonction du coût)

o Suivre les statistiques de disponibilité

et d’intervention – éviter les « mauvaises séries »

• Importance des condition d’hébergement

o Redondance de l’alimentation électrique

o Redondance de la réfrigération Deuxième Partie: Fiabiliser le SI

(16)

Clusters

• Redondance binaire

o Actif/passif

o Actif/actif

• Avantages

o Solution classique éprouvée

o Applicable avec des configurations simples

o Solution DBMS

• Inconvénients

o Détection : maillon faible

o Failover: 90/95% de succès est un bon chiffre (Schmidt)

o Actif/actif: attention à la surcharge

o Maintenir deux copies exactes Deuxième Partie: Fiabiliser le SI

(17)

Architectures redondantes

• Redondance N/N+1

o Ou N/N+2, etc

o Le répartiteur doit être HA .

• Très judicieux pour les traitements sans mémoire/état

• Adapté pour une architecture N- tiers

o Il faut également une approche HA pour les BD

• Peut-être combiné avec une stratégie de virtualisation

o Découper une machine en machines logiques

o HA: utiliser une « ferme »

o DRC: plusieurs sites Deuxième Partie: Fiabiliser le SI

(18)

Fiabilisation logicielle

« Big Picture »: 3 approches

• Test

o Éliminer le plus de défauts possible

Fault-tolerance et construction rigoureuse des applications

o Résister aux défauts

o Détecter les problèmes

• Redondance logicielle

o Cf. approche matérielle

Principe KISS: Keep It Simple, Stupid 

• Cf. chapitre 4 – la complexité est l’ennemi de la fiabilité

• Nombre des interactions possibles

• Capacité à documenter et transmettre ce qui est sophistiqué Deuxième Partie: Fiabiliser le SI

(19)

Tests

Trois difficultés:

• Couverture

o Bonne pratique: mesurer des taux de couverture statiques

• Temps (surtout en mode projet – can you see why ? )

o Automatiser !

o Penser aux tests le plus tôt possible

• Coût

o Optimisation économique – pas facile à trouver en pratique

: détection (# anos) : détection (fréquence)

fin du test

# total anomalies

seuil rentabilité marginale

Stock résiduel

Deuxième Partie: Fiabiliser le SI

(20)

« Fault Tolerance »

La qualité des applications joue un rôle essentiel (La Palisse)

• Résister aux erreurs:

o Fault -> error:

 respecter les normes de qualité de code

 Utiliser les outils de qualimétrie (ex: Purify)

 Assertions, contrats, etc.

o Error –> failure: gestion des erreurs

• Détecter les erreurs / soft failures

o Gestion des performances

o Auto-diagnostic

• Permettre une relance plus rapide

o Recovery point (back-up)

o Démarrage rapide Deuxième Partie: Fiabiliser le SI

(21)

Redondance Logicielle

• Redondance + vote : 3 versions

o Nécessite 3 implémentations différentes

o Utilisé dans les secteurs militaires et aéronautiques

o Coût très important (pas seulement fois 3 )

o Exige une spécification impeccable (facteur de coût) pour que les trois implémentations coïncident.

• Redondance dans l’exécution des processus métiers:

o Prévoir et traiter les cas d’erreur

o Mécanismes de rejeu et de retraitement des données (solutions dégradées)

• Parallélisation massive (GRID)

o Ne résous pas les problèmes de design et les erreurs de programmation

o Se prête mieux à la programmation hybride/redondante

Méthodes par approximation successives

Combinaison d’agents

Réparation « à chaud »

2 versions ne suffisent pas : comment savoir laquelle se « trompe » ?

Deuxième Partie: Fiabiliser le SI

(22)

Détection Rapide et mise en œuvre des palliatifs

• S’appuie sur des outils logiciels standards

o Cf. Marcus & Stern (Chap. 16) : se méfier des solutions ad hoc

o Surveiller le réseau !

• Gestion des performances, des files d’attentes, …

o Cf. chapitre suivant

o Suivre les indicateurs métiers (sous forme d’alertes)

 La vision métier est souvent plus fine que la vision technique ex: défaut de paramétrage de facturation

• Qualité des opérations – cf. plus loin

• Tester régulièrement les mécanismes de partage – automatique et manuels (procédures)

• Garder de la flexibilité

o L’expérience montre qu’on se tire souvent d’une crise avec des matériels supplémentaires (pas forcément ceux qu’on croit)t

Deuxième Partie: Fiabiliser le SI

(23)

Récupération Rapide

• Schéma tiré de Marcus & Stern

• La gestion des données est souvent un facteur aggravant dans une crise

o « Back-up » corrompus (surtout les version incrémentales)

o Temps de chargement plus long que prévu

o C’est là qu’on réalise que le planning des back-up ne respecte pas le RPO parce qu’il a été « optimisé »

Secs Mins Hours Days

Clusters

Manual Migration

Tape Restore

downtime Data Loss

Mins Secs Hours

Days

Tape

Back-up Periodic Replication

Async Replication

Sync Replication or Mirroring

Deuxième Partie: Fiabiliser le SI

(24)

Troisième Partie

• Introduction à la Fiabilité

• Fiabiliser le SI

SLA: Gérer la qualité de service

(25)

SLA: Service Level Agreement

• Un terme et une pratique qui vient des télécom

o Détermine la qualité de service qui doit être fournie au moyen d’indicateurs mesurables

o De disponibilité

o De performance

• Le SLA est un contrat qui lie les deux parties

o La DSI s’engage à tenir ses engagements

 Dans le cas d’une externalisation, il y a des pénalités associées

o Le client accepte le compromis et attends la renégotiation pour relever ses exigences:

 SLR: Service Level Requested

• Le SLA est un outil de pilotage

• Le SLA est le résultat d’une négociation (souhaitable)

o Force la DSI à expliquer ses contraintes, ses capacités, ses coûts

o Force la MOA à expliquer ses enjeux métiers

(26)

Gestion économique du SLA

• La perte produite par les

incidents n’est pas seulement un perte d’usage, mais

également une perte d’efficacité qui doit être

mesurée, ce qui permet de piloter l’effort récurrent de

fiabilisation 98 % 100%

Coûts (€)

disponibilité Coût de non-efficacité

Coût de fiabilisation Coût total

amélioration

Durée totale indisponibilité Pertes

Coûts (€)

SLA théorique

Coûts Pertes

• Le SLA optimal correspond à un équilibre entre les pertes et les surcoûts d’exploitation

• Le SLA réel tient compte de

o La capacité à faire,

technique et budgétaire

o Un arbitrage de risque

(dépenses sures vs. Pertes possibles)

incidents

(27)

Importance des procédures

• Axiome (Schmidt):

« No tool and no automation can save you from bad operations – bad operations will make any good design fail. It is the biggest threat in high availability »

• S’appuyer sur des procédures

o Leçon tirée du monde industriel (systèmes critiques)

 Nucléaire, chimie, transport aérien, etc.

o Documentée, appliquées, vérifiées

• S’appuyer sur un référentiel

o ITIL: standard de fait, produit au Royaume-Uni dans les années 80

 Office public britannique du commerce (OGC)

o Ensemble de bonnes pratiques

o Référentiel de processus

Service Support

Service Delivery

o Fournit un vocabulaire commun

(28)

Processus Internes (ITIL)

(29)

Importance de la compétence

• Professionnalisme

o La combinaison des niveaux d’exigence/excellence modernes et des objectifs de réduction de coût exige la professionnalisation des opérations de production

o Internalisé ou externalisé / formation ou concentration

Pourquoi externaliser : parce qu’on fait mieux si on fait souvent et sur des gros volumes

Internaliser: pour développer une compétence propre

• Compétences sur le SI

o Essentiel pour le bon diagnostic préventif

o Fondamental en cas de crise (expérience Bytel)

 c’est ce qui permet de trouver les « contournements »

• Intégrité

o Savoir résister aux changements trop rapides

o Appliquer les règles de l’art

o Effectuer les tests prévus

 Cf. les livres sur les histoires des crises … (ex. Perrow, Colwell)

(30)

Amélioration continue de la QoS

• La qualité de service est le domaine idéal pour une approche DMAIC:

o Sujet difficile, il est irréaliste de tout réussir du premier coup

o Les métriques de succès liées au SLA existent

o Les échecs sont une source constante d’enrichissement

 Si on les prend comme tel (culturellement)

• Il faut capitaliser les connaissances !

o Exigence sur les documentations

o Tracer les incidents, collecter les métriques, etc.

• Exemple: comité fiabilisation (Bytel, 2004-2005)

o Transverse: tous les métiers de la DSI.

La QoS n’est pas simplement l’affaire de la production

o Prioriser et concentrer son énergie.

o Aller au fond des choses (ce qui peut prendre du temps)

o S’appuyer sur des mesures et fixer des critères de sortie

(31)

Importance du monitoring

• La supervision des processus a un double objectif

o Vérifier les SLA (Service Level Agreements) pour intervenir sur les incidents

o Suivre le fonctionnement de façon préventive

• Elle s’appuie sur deux principes

o Génération et remontée d’alarmes (cf. détection)

o Corrélation (remonter les niveaux d’abstraction)

Processus métier

Processus

technique Système

technique Système fonctionnel

Système Applicatif SL Monitoring

Incident Monitoring

Diagnostic requêtes

Alertes + stats +

SLA SLA

incident erreur BAM

(32)

Pilotage des processus

• Urbanisation => IT orientée-processus

=> meilleur pilotage

• BPM/BAR ->

des outils de plus en plus pertinents

MAIS

• Double cycle de maturation

• Vraie complexité

Système Application Processus

Maturité métier

Maturité technique

Incident Erreur

SLA

Exploitation:

Automatisée 7/7 24/24

MOE -> MOA:

Suivi

Tableau de bord

MOA:

Analyse SI bleus

Première étape:

Appropriation des processus

II.2 : Processus - Exploitation

(33)

Production organique

• S’inscrit dans la vision « Autonomic computing »

• Gestion des incidents différente (à chaud, ..)

• Fiabilisation différente (modèle organique)

ST1 ST2 ST3

ST1

secours ST3

secours Bascule

auto

Monitoring/ Réaction par système

Bascule manuelle

Monitoring + Réaction au niveau du processus

ST1 ST2 ST3

réflexe ST4 contourneme

nt

Vision

« biologique » Vision

« mécanique »

(34)

Conclusion (Marcus & Stern)

Il faut simplifier l’architecture et la conception du système d’information car chaque point complexe est une source de problèmes (le principe KISS)

Il faut choisir des équipements dans une phase mature de leur vie commerciale, qui ont déjà été déployés et utilisés avec succès par d’autres entreprises.

Il faut tout tester, et de façon régulière. C’est la recommandation qui semble la plus triviale, c’est pourtant celle qui arrive en premier dans la bouche de tous les

spécialistes.

Il faut construire des systèmes « scalables », c’est-à-dire penser à la croissance dès le début, même si les spécifications ne font pas mention de ce besoin. C’est

l’expérience qui parle : une très grande partie des problèmes en production vient de systèmes qui ont atteint les limites de leur « zone de confort ».

Il ne faut pas faire des mauvaises économies (« don’t be cheap »). Cela s’applique bien sûr au matériel et au logiciel, mais aussi aux ressources humaines, en terme de nombre et de niveaux de compétence.

Il faut s’appuyer sur des contrats de services, qui sont eux-mêmes rendus explicites et propres au pilotage quantitatif par la notion de niveaux de services. Nous

aborderons ce point dans la section suivante.

Il faut automatiser le plus possible, pour éliminer le facteur humain qui est source d’erreur, et pour pouvoir industrialiser la gestion des configurations.

Il faut surveiller la performance de façon continue, les ralentissements étant souvent les symptômes annonciateurs des incidents.

Références

Documents relatifs

température de couleur de 5500 K, les couleurs nous semblent naturelles. Aujourd'hui, de nombreux fabricants regroupent les informations concernant la température de couleur et

doivent pouvoir se faire tout en évitant les mobilités anormales dont l’issue est la perte des rapports anormaux entre les 3 os.. • Il faut donc un

Enigme 4 : comme son papa est 2 fois plus vieux, la différence entre les âges du papa et de Sébastien est égale à l’âge de sébastien. Si Emma a deux ans, les âges de chacun

Presentation Coordination et partenariats régionaux (Anne-Sophie Le Dain, UNICEF AOC) Presentation Programme d’apprentissage mixte (Nathalie Likhite, Alive & Thrive)!.

2/ Le déjeuner doit apporter 3000 Kj pour la journée, ce sera le repas de Malika qui sera le plus approprié, celui de Laura apportera trop d'énergie. Exercice

Logiciel Applicatif, informatique L’aspect logiciel couvre l’ensemble des composants logiciels qui automatisent une partie des actions du système. Physique Déploiement À

o Pilotage dynamique (quelle version de X utilise quelle version de Y) D eu xiè m e P ar tie :In fra st ru c tu re d ’in té g ra tio n.. Intégration par le « front office » -

L’administrateur de données partage le modèle métier avec les architectes du système d’information, il le renseigne suivant les axes métiers suivants :. • Propriété : qui