Skip to main content

Architectures Applicatives Microsoft

Architectures Applicatives Microsoft

Mission Critical

Version du document: V110427a (1)

Contact : http://forum.archims.fr, archims-à-microsoft.com

Introduction

Contenu

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.

Définition

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 » :

  • Un système de réservation de compagnie aérienne
  • Le système de billing d’un opérateur
  • Un système de prise de commandes
  • Un ERP
  • Un CRM

Schéma synoptique

Une vue d’ensemble de la problématique des applications critiques peut être résumée par les schémas suivant :

Schéma synoptique

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.

Personnes

Processus

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.

  • Pour la conception et la mise en oeuvre des applications
    • MSF, méthodes agiles, CMMI, ...
    • SDL: Security Development Lifecycle
    • SureStep dans le cadre de la mise en oeuvre de produits de la gamme Dynamics (ERP, CRM)
  • pour la gestion des services informatiques
    • ITIL, MOF

Conception et mise en oeuvre des applications

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.

ITIL, MOF

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.

ITILMOF

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.

MOF Manage

On trouvera des ressources en français sur ITIL sur le site de Microsoft France: Microsoft et la démarche ITIL

Technologie

Les points suivants seront développés au fur et à mesure

Les technologies d'implémentation des applications critiques

On peut classer les principales technologies de la plateforme Microsoft de la façon suivante:

  • L'infrastructure au dessus de laquelle les applications s'exécutent est principalement la suivante
    • Windows Server 2008 R2. Il comprend des technologies importantes pour l'exécution des applications
      • Hyper-V
      • NTFS
      • IIS et Windows Server AppFabric constituent le serveur d'application de la plateforme Microsoft
      • SharePoint Foundation
    • Windows 7 et autres technologies clientes
      • Internet Explorer
      • Silverlight
      • Applications riches Windows
    • SQL Server
    • BizTalk Server
    • Windows HPC Server
  • Les logiciels destinés à être configurés et paramétrés plus qu'à exécuter des développements spécifiques
    • Gamme Dynamics: NAV (pour les PME), AX, CRM
    • SharePoint (suivant les types d'utilisation)
    • Office
    • Exchange, Lync
  • Les outils de développement des applications
    • Visual Studio
    • Expression

Haute disponibilité

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.

  • Au niveau de Windows Server, on a pour ce qui concerne l'architecture de l'application distribuée (plus d'information également sur TechNet)
  • Architectures spécifiques à certains produits
    • Groupes de serveurs BizTalk - il s'agit de plusieurs serveurs de traitement qui se partagent du travail stocké dans une base de données SQL Server commune.
    • SQL Server dispose de nombreux mécanismes pour s'adapter aux différents cas de figure, pour la haute disponibilité. On trouvera des informations détaillées sur la haute disponibilité de SQL Server sur le site de Microsoft, qui propose cette présentation dont voici un extrait :
      •Architectures spécifiques à certains produits
  • Et dans le cloud ?
    • La plateforme Windows Azure est conçue pour des services disponibles à 99,9% pour l'utilisateur final.
    • Livre blanc de David Chappell sur les principes de développement dans le cloud: The Windows Azure Programming Model
      • Une application Windows Azure est composée d'un ou plusieurs rôles
      • Une application Windows Azure exécute plusieurs instances dans chaque rôle
      • Une application Windows Azure continue de fonctionner quand n'importe quelle instance dans un rôle tombe

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.

Montée en charge et performance

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.

Sécurité

  • Gamme Microsoft Forefront pour les pare-feus, anti-virus, anti-malware, anti-spam, gestion des identités, ...

Les technologies de soutien à la gestion des applications critiques

Les technologies pour exécuter automatiser les processus liés au cycle de vie des services informatiques

  • Windows Workflow Foundation et des conteneurs tels que Windows Server AppFabric, SharePoint, ...
  • Team Foundation Server pour les processus liés au cycle de vie des applications
  • Pour faciliter la gestion d'une infrastructure informatique, dans un cadre ITIL ou MOF, il y a la gamme System Center
    • System Center Virtual Machine Manager
    • System Center Operations Manager
    • System Center Configuration Manager
    • System Center Data Protection Manager
    • System Center Service Manager
    • System Center Orchestrator (Opalis)
    • System Center AVICode
  • Project Server et Project

Annexes

Abréviations

AbréviationDéfinition, commentaires
ITILIT Infrastructure Library
MSFMicrosoft Solutions Framework
MOFMicrosoft Operations Framework
SAMEStrategic Alignment Model Enhanced
PPTPersonnes, Processus, Technologie
PDMA
RPO
Perte de données maximale admissible
Recovery Point Objective
SDLSecurity Development Lifecycle

Ressources complémentaires


(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

Microsoft réalise une enquête en ligne pour comprendre votre opinion sur le site Web de. Si vous choisissez de participer, l’enquête en ligne vous sera présentée lorsque vous quitterez le site Web de.

Souhaitez-vous y participer ?