.png)
Version du document: V110427a (1)
Contact : http://forum.archims.fr, archims-à-microsoft.com
Ce document, qui évolue régulièrement contient les liens vers les ressources pertinentes concernant cette discipline d’architecture relative aux applications métier critiques en entreprise.
Ce document est disponible à mission-critical.archims.fr et sera mis à jour régulièrement.
En voici une présentation orale:
Si vous souhaitez nous faire part de remarques sur le document, nous suggérer des évolutions, n’hésitez pas à vous exprimer sur le forum des Architectures Applicatives Microsoft (http://forum.archims.fr/). Si vous préférez un lien plus direct, vous pouvez envoyer un mail à l’auteur de ce document à archims-à-microsoft.com.
Si vous avez un projet, vous pouvez également nous en faire part et nous contacter par ces moyens, de façon à ce que nous puissions vous aider à trouver le meilleur moyen de vous faire accompagner.
Qu'entend-on par application critique?
Est considérée comme « Mission Critical » toute application ou toute plate-forme dont une interruption de services impacte directement un ou plusieurs des éléments suivants : le chiffre d’affaires, l’image de marque de l’entreprise ou sa capacité à respecter ses obligations réglementaires. Ces systèmes ont généralement des exigences fortes en termes de : disponibilité, montée en charges, performance, sécurité ou sûreté, manageabilité, fiabilité (au sens prédictible). Leur durée de vie dans l’entreprise est généralement supérieure à 10 ans.
Exemples d’applications « Mission Critical » :
Une vue d’ensemble de la problématique des applications critiques peut être résumée par les schémas suivant :
.png)
Les applications métier d'entreprise critiques ne peuvent être opérées qu'en associant trois composantes fondamentales: les personnes, les processus et la technologie (PPT).
Un des buts de cette page est de montrer en quoi les technologies Microsoft s'inscrivent dans ce triptique PPT.
Il existe un ensemble de bonnes pratiques sur lesquelles s'appuyer lorsqu'on met en place des processus dans le domaine de l'informatique d'entreprise. On en liste quelques unes ici, neutres du point de vue de l'éditeur ou plus spécifiques à Microsoft.
MSF (voir article d'introduction) a été décliné par les équipes Visual Studio sous deux formes:
Ces processus peuvent eux-mêmes être adaptés en fonction du contexte.
Particulièrement pour des applications critiques, il est important de se préoccuper de la sécurité dès la conception de l'application. C'est ce que promeut le processus SDL: Microsoft Security Development Lifecycle (SDL) - Version 4.1.
Pour les produits ERP et CRM de la gamme Dynamics, Microsoft met à disposition de ses partenaires via le site PartnerSource la méthodologie SureStep.
Pour les processus, on reconnaît généralement ITIL comme une librairie de bonnes pratiques éprouvées.
Les schémas suivants représentent le positionnement d'ITIL et MOF dans la matrice SAME 3x3.
.png)
.png)
Ces deux schémas sont extraits du document Cross Reference ITIL® V3 and MOF 4.0 téléchargeable depuis TechNet. On y voit qu'avec ITIL comme avec MOF, des bonnes pratiques sont décrites pour couvrir la stratégie (en grande partie), la tactique et les opérations au niveau technologique et partiellement au niveau système d'information (au sens large, allant au delà de l'informatique uniquement). Ces bonnes pratiques sont clairement au niveau informatique mais elles sont au service du métier de l'entreprise et peuvent l'accompagner y compris dans les phases stratégiques sur le long terme et en amont des projets.
.png)
On trouvera des ressources en français sur ITIL sur le site de Microsoft France: Microsoft et la démarche ITIL
Les points suivants seront développés au fur et à mesure
On peut classer les principales technologies de la plateforme Microsoft de la façon suivante:
La haute disponibilité au niveau technologique est nécessaire pour respecter des SLA importants. Par exemple, une disponibilité de 99,95% correspond à moins de 4h30 par an (moins de 22 minutes par mois) pour remettre en fonctionnement des services défaillants. De plus, les données elles-mêmes doivent pouvoir survivre à des pannes de disques (typiquement par de la réplication au niveau des contrôleurs de disques) dès que la perte de données maximale admissible (RPO en anglais) est inférieure à quelques heures ce qui est toujours le cas sur des applications critiques. Les personnes et les processus ne suffisent pas seuls, la technologie doit également apporter sa contribution à la continuité de service.
La disponibilité d'une application distribuée traite en général la donnée elle-même, mais aussi l'accès à cette donnée. Par exemple, la donnée d'une base de données peut être assurée par la baie de disque redondante et l'accès aux données par le maintien en condition opérationnel du SGBD, ainsi que des couches frontales de l'application qui pourront présenter ces données à leurs utilisateurs.
.png)
Le cloud propose donc une évolution de la façon dont on peut traiter la haute disponibilité, avec des applications qui savent survivre à des pannes car elles s'y attendent et sont conçues pour s'en accomoder. Un exemple typique dans Azure est le système de queues qui fait disparaitre un message quand il a été lu par une instance de worker, mais le fait réapparaitre au bout d'un certain temps si l'instance de worker ne l'a pas détruit après l'avoir traité, de sorte qu'une autre instance de worker puisse refaire le travail demandé dans le message de la queue.
Il faut distinguer d'une part la performance individuelle de chaque interaction de l'utilisateur avec l'application, ou de chaque transaction, et d'autre part le nombre de ces interactions ou transactions (montée en charge) que le système peut servir en même temps.
La montée en charge d'une application distribuée dépend de la façon dont est assurée la haute disponibilité. On a souvent une montée en charge verticale qui consiste à disposer de machines plus puissantes (Windows Server 2008 R2 accepte jusqu'à 256 processeurs logiques) ou de plus grandes capacités mémoire, et la montée en charge horizontale qui consiste à ajouter plus de serveurs du même type pour monter en charge. D'un point de vue applicatif, la montée en charge horizontale est plus difficiel à prévoir mais c'est celle qui est cependant la plus efficace car elle permet d'avoir une agmentation des coûts proportionnelle à la montée en charge nécessaire (la monté en charge verticale peut devenir exponentielle).
On trouvera des informations spécifiques à SQL Server sur ce sujet sur le site de Microsoft.
Les technologies pour exécuter automatiser les processus liés au cycle de vie des services informatiques
| Abréviation | Définition, commentaires |
| ITIL | IT Infrastructure Library |
| MSF | Microsoft Solutions Framework |
| MOF | Microsoft Operations Framework |
| SAME | Strategic Alignment Model Enhanced |
| PPT | Personnes, Processus, Technologie |
| PDMA RPO | Perte de données maximale admissible Recovery Point Objective |
| SDL | Security Development Lifecycle |
(1)La version du document est au format AAMMJJ (date) suivi d’une lettre pour la sous-version du jour s’il y a lieu