2.2.2 L’architectures N-tiers

Ce type d’architecture constitue à l’heure actuelle la meilleure solution en matière d’informatique d’entreprise. Cela devient une caractéristique encore plus intéressante dans la configuration du Cloud Computing. En effet, techniquement, le N-tiers peut être utilisé de manière encore plus efficiente selon un mode distribué sur internet tant ses bénéfices sont nombreux. Rappelons une fois de plus que l’enjeu majeur avec l’informatique dans les nuages se situe au niveau de la sécurité des données et de la fiabilité du niveau des services offerts. Ce type d’architecture semble répondre à ce défi, car les règles et les paramètres de sécurité sont exécutés à chaque interface. En d’autres termes, on peut définir des systèmes de sécurité pour le serveur d’application, la base de données etc. Cette pratique permet de compliquer la tâche d’un éventuel pirate informatique.

Techniquement parlant, si on considère l’aspect fonctionnel de cette architecture, le nuage informatique peut se reposer sur une plateforme PaaS unique. D’où les différents avantages :

-Un service de persistance proposé par une première PaaS

-Un service d’exécution d’application proposé par une seconde PaaS

-Un service d’intégration proposé par une troisième PaaS, etc.

 

Fig. Architecture N-tiers

L’appellation N-tiers peut facilement induire en erreur. Elle peut en effet faire penser que l’informatique dans les nuages de par son architecture utilise un nombre indéterminé (N) de niveaux de service, alors qu’ils sont au nombre de trois. Ces trois niveaux étant ceux d’une application informatique. Mais en réalité, et à bien y regarder, l’architecture N-tiers qualifie la distribution d’applications entre de multiples (N) services.

Pour résumer, on dira que N est le nombre de services. Mais N n’est pas le nombre de niveaux de services (qui est égal à 3).

Cette disposition et cette distribution sont grandement facilitées par l’utilisation de composants dits métiers, spécialisés et indépendants, introduits par les concepts orientés objets (langages de programmation et middleware). Sans oublier que cette distribution permet de bénéficier largement de la notion de composants métiers réutilisables. Ces composants sont capables de rendre un service au moins générique, au mieux clairement identifié ou spécialisé. L’autre atout très important, surtout concernant le nuage informatique, est le fait que ces composants sont capables de communiquer entre eux. Une fois implantés sur des machines distinctes, ils peuvent coopérer. Cette question nous conduit naturellement à parler du SOA.

 

1.1.1.      Informatique dans les nuages et SOA (Service Orienté Architecture)

Les architectures orientées services proposent que chaque application mette à disposition ses fonctions et ses informations métiers, sous une forme utilisable par d’autres, qui sont les services. Ce modèle remet par ailleurs la gestion des processus métiers au centre des enjeux des systèmes d’information. Car il permet de simplifier lesdits processus tout en favorisant leur évolutivité.

Fig. SOA

Les applications issues de l’assemblage des services sont appelées applications composites.

A l’origine, les architectures SOA ont été conçues pour résoudre les problématiques d’architectures d’entreprises. Avec le Cloud Computing, les nouvelles applications SaaS reprennent les modèles d’architecture de service. Elle expose des services intégrables par des tiers. Ces services sont intitulés API (Interface de Programmation). Le Cloud Computing est donc la synthèse du modèle SOA et des pratiques du Web 2.0.

 

  1. 1.      Les prestataires de services Cloud Computing

Pour bien comprendre que l’informatique dans les nuages n’est pas un artefact tombé du ciel ; c’est le cas de le dire, nous présentons succinctement dans ce travail les différents fournisseurs avec leurs offres sur le marché. Il s’agit des offres de l’année 2009.

Parmi les prestataires qui se lancent dans cette idée, nous pouvons citer :

-          HP qui lance son offre New Generation Data Center (NGDC) qui s’occupe de la location de machines virtuelles sous HP-UX, Linux ou Windows.

-          Sun qui n’est pas en reste avec son projet Hydrazine qui ajoute Solaris à Linux et Windows.

-          Amazon a complété son offre qu’il avait démarrée avec S3, un simple service de fourniture de ressources de stockage, par EC2 (Elastic Computer Cloud), qui inclut la fourniture de serveurs virtuels x86.

Fig. Offre de services (LinuxAndFriends.com)

Bien que les prestataires aient prévu l’hébergement de serveurs virtuels nus pour la reprise de l’existant, il est à noter que ces prestataires ciblent majoritairement les nouvelles applications des entreprises. Cela les amène à couvrir toutes les phases qui vont du développement à la production, en passant par le test et le déploiement. Ces services sont délivrés par des plates-formes sur lesquelles la virtualisation est masquée.

Il ya, sur ce principe, deux approches qui se côtoient. D’un côté les constructeurs comme IBM (avec son offre Blue Cloud), Sun (avec Hydrazine) et HP (avec l’un des volets de NGDC) qui font de la location des environnements logiciels basés sur des briques traditionnelles. Nous pouvons citer le moteur SQL, la plate-forme J2EE, le serveur Web, ESB (Enterprise Service Bus) ou même ERP.

De l’autre côté, Google (avec App Engine) et Salesforce (Platform as a Service) optent pour des briques spécifiques.

A cause de l’accord signé entre IBM et Google, visant à mettre en commun leurs ressources de Cloud Computing, ces modèles pourraient converger. Un autre accord liant Google et Salesforce vise à connecter les applications bureautiques de Google aux environnements de Salesforce. Tout ce beau déploiement technologique ne se fait toutefois pas sans grisailles ; pour rester dans le langage céleste.

3. Problèmes liés au déploiement des applications via le Cloud Computing (Gartner, 2009)
Pour comprendre les problèmes liés au déploiement de l’informatique dans les nuages, il est essentiel d’en comprendre les principes de base. Nous les avons listés en trois points.

-          La plupart des entreprises se mettent au Cloud Computing en commençant par la virtualisation de serveurs.

-          Sans connexion Internet, il ne peut y avoir de Cloud Computing. Car le terme Cloud désigne la toile sur laquelle se trouvent hébergées toutes les données et applications.

-          Les entreprises s’orientent désormais davantage vers des achats de services.

 

Cas 1

Élément perturbateur : Disponibilité des applications

Impact : Décomposition de l’exécution des processus, avec l’incapacité de poursuivre des processus métiers opérationnels. Promesse d’une plus forte évolutivité, d’une plus grande disponibilité et d’un coût de possession inférieur.

Cause : Le maintien de l’intégrité des processus est un défi pour la plupart des entreprises, même avec l’avantage du contrôle direct de leurs propres applications. Dans un environnement de Cloud computing, notamment lorsque seules quelques applications sont déployées par des prestataires de services de Cloud computing, l’intégration nécessaire des processus, modèles de processus et données devient un impératif fondamental. Le fait de ne pas tenir compte de l’intégrité des processus entraînera une décomposition des processus métiers sous-jacents. Si les entreprises ont un environnement bien défini pour les applications sur site, une fois qu’elles ont transféré leurs applications d’entreprise, processus métiers et données opérationnelles sur le Cloud computing, il doit y avoir une plus grande gestion et une meilleure définition des SLA que pour un contrat d’externalisation. Ce point est particulièrement vrai lorsque le contrat concerne tous les niveaux de déploiement du Cloud computing.

 

Cas 2

Élément perturbateur : Sécurité, confidentialité des données et propriété intellectuelle

Impact : Perte des avantages concurrentiels et coûts accrus de la divulgation des données, possibilité de transactions illégales via l’accès ou l’acquisition sans autorisation des données sur les clients. Si le prestataire de services de Cloud computing met l’accent sur ce domaine, une plus grande sécurité peut être offerte.

 

Cause : La plupart des entreprises ont besoin de concevoir et d’utiliser des protocoles de sécurité au niveau des applications, même en interne et entre les multiples sites de l’entreprise. La nécessité de contrôles de sécurité au sein du Cloud computing (niveau des applications, du stockage, des transactions, etc.) est primordiale. Les questions de confidentialité doivent être analysées et gérées. Par exemple, le stockage de données liées à des individus ou de dossiers de l’entreprise peut transgresser la législation relative à l’exportation des données en vigueur dans la région de l’utilisateur. La propriété intellectuelle dans les processus métiers ou celle données (et l’impératif de confidentialité pour les informations concurrentielles) sera encore plus compromise avec les solutions de Cloud computing.

 

Cas 3

Élément perturbateur : Conception et propriété des processus métiers.

Impact : Incapacité à orchestrer des applications disparates prenant en charge un processus métier de bout en bout. Perte de gouvernance sur le processus entier.

Cause : Les entreprises se démènent pour définir les responsabilités liées à la conception et à la propriété des processus. Dans l’environnement de Cloud computing, la propriété de ces processus est partagée avec les prestataires de services de Cloud computing à tous les niveaux, hormis les fonctionnalités banalisées immuables, telles que le versement des salaires. Il existe un besoin de gérance et de gouvernance des processus au niveau de la définition, la conception et l’orchestration des processus entre les prestataires de services de cloud computing. S’il manque des outils de gestion, la visibilité des processus métiers de bout en bout à travers l’entreprise est limitée. L’incapacité à configurer des applications de Cloud computing à un niveau supérieur empêche l’utilisation en vue de prendre en charge des processus métiers plus complexes.

 

Cas 4

Élément perturbateur : Conception et propriété des processus métiers.

Impact : Incapacité à orchestrer des applications disparates prenant en charge un processus métier de bout en bout. Perte de gouvernance sur le processus entier.

Cause : Les entreprises se démènent pour définir les responsabilités liées à la conception et à la propriété des processus. Dans l’environnement de Cloud computing, la propriété de ces processus est partagée avec les prestataires de services de Cloud computing à tous les niveaux, hormis les fonctionnalités banalisées immuables, telles que le versement des salaires. Il existe un besoin de gérance et de gouvernance des processus au niveau de la définition, la conception et l’orchestration des processus entre les prestataires de services de cloud computing. S’il manque des outils de gestion, la visibilité des processus métiers de bout en bout à travers l’entreprise est limitée. L’incapacité à configurer des applications de Cloud computing à un niveau supérieur empêche l’utilisation en vue de prendre en charge des processus métiers plus complexes.

 

Cas 5

Élément perturbateur : Sémantique commune des données et processus.

Impact : Définitions de processus incompatibles, gestion des métadonnées des processus métiers de bout en bout, résultant dans l’échec de leur orchestration et exécution.

Cause : Sans une solide stratégie de gouvernance des processus de multiples fournisseurs, les entreprises risquent d’avoir des processus de clients qui sont pris en charge par des applications de Cloud computing. L’intégrité des données et des processus sera indispensable.

 

Cas 6

Élément perturbateur : Performances des applications.

Impact : Incapacité à étendre l’offre pour répondre aux demandes opérationnelles ou des utilisateurs, notamment pour absorber les pics d’utilisation en volume, d’où une défaillance des processus. À l’inverse, le déploiement de services de Cloud computing pourrait permettre des performances meilleures pour un certains nombre d’applications. Les pics de traitement pourraient, par exemple, être mieux absorbés.

Cause : La nécessité de fournir une fonctionnalité d’application dans les temps est un besoin opérationnel clé. Le transfert de tels processus dans l’environnement deC loud computing introduit d’autres points de défaillance possibles, par exemple, l’infrastructure de télécommunications utilisée. Une vue des niveaux de service de bout en bout est requise, et pas seulement la somme des niveaux de service individuels offerts par le prestataire de services de télécommunications, les prestataires de services de Cloud computing potentiels, etc. Le manque de normes dans l’industrie et l’immaturité des capacités des fournisseurs dans ce domaine constituent de véritables freins.