Bienvenue Prénom - Déconnexion

Mot de passe oublié ?Accès membres : merci de vous identifier

BOURSE

 Tous nos articles

Architecture Web : définition, conseils, retours d'expérience

Serveur Web, base de données, virtualisation, stockage... L'architecture d'un site Web intègre de nombreuses dimensions, avec à la clé des problématiques de performance et de sécurité.

Définition de la notion d'architecture Web

De quels éléments se compose un site Web ?

La première des démarches, lors du lancement d'un site Web, consiste à s'attribuer un nom de domaine ou DNS, soit une adresse logique qui redirige vers une ou plusieurs machines connectées au réseau. On appelle ces machines des serveurs frontaux. Ils jouent un rôle clé dans l'infrastructure d'un site Web en interprétant les actions de l'utilisateur en demandes de services.

Un serveur frontal - ou serveur Web - va assurer la navigation dans le site en transformant les actions des visiteurs en pages HTML lisibles à partir d'un navigateur. Il interprète pour cela les requêtes du protocole HTTP en vigueur sur Internet. Les serveurs Web les plus populaires sont IIS ou Apache. Derrière ces serveurs frontaux se trouvent les serveurs d'applications et serveurs de bases de données.

Les premiers servent à pré-calculer le résultat d'applications Web et à assurer le lien entre des environnements a priori non-compatibles (par exemple, une application mainframe portée sur Internet). Dans ce dernier cas, les serveurs d'applications évitent de réécrire en langage Web une application déjà disponible.

Les serveurs de base de données représentent le dernier élément clé d'une infrastructure Web. Ils stockent les informations produits ou clients et les remontent en fonction des besoins applicatifs. Les serveurs de base de données sont au cœur des services Web évolués (forums, gestion de comptes en ligne, création de pages dynamiques...).

Quels langages de développement Web se distinguent ?
Sur Internet, de multiples langages cohabitent selon les tâches à remplir. Lorsqu'il s'agit de développement d'applications attaquant une base de données, les langages les plus utilisés sont les langages de script - comme PHP ou ASP. Si l'entreprise qui développe un site Web souhaite s'appuyer sur une partie de son existant, elle se tournera plutôt vers les langages Java ou C#, généralement synonymes de serveurs d'applications.

Pour la capture d'événements clavier ou souris, ou la gestion de paramètres du navigateur, le langage Javascript dispose de fonctions adaptées. Concernant la génération et la diffusion d'informations, le standard du Web est XML avec ses dérivés (VoiceXML, RSS…). Enfin, une foule de langages moins connus accompagne les besoins spécifiques des entreprises tels ColdFusion, PL/SQL, JSP…

Y a-t-il une relation de dépendance entre les composants de l'infrastructure ?
Oui, le marché parle même souvent de plate-forme, par exemple LAMP qui regroupe Linux, Apache, MySQL et PHP. Il s'agit de regrouper des composants prévus pour fonctionner ensemble, afin d'optimiser le fonctionnement global de l'infrastructure.

Concurrent de LAMP, l'environnement Microsoft propose le couple Windows / IIS / SQL Server / ASP .Net. L'écosystème Java propose des plates-formes Web avec de Java EE (soutenu par Oracle et IBM), ainsi que des stacks Java Open Source (soutenus par la fondation Apache et Red Hat par exemple). Dès lors, le choix d'une brique peut déterminer tout ou partie du reste de l'infrastructure, l'ensemble devant aboutir à un bon compromis entre services, performances et évolutivité.

Quels autres composants interviennent dans la transmission de l'information sur Internet ?
Deux autres composants majeurs peuvent intervenir dans l'infrastructure globale d'un site Internet : un réseau de stockage et une solution d'optimisation des flux. Dans le premier cas, le site Web déporte la gestion de l'information sur un réseau dédié au stockage (SAN, NAS) afin d'en simplifier l'administration et d'accélérer la rapidité de traitement. La mise en place d'un tel système n'est toutefois valable que pour des gros volumes, à partir d'un teraoctet par exemple.

L'optimisation de flux regroupe quant à elle les solutions de compression de flux, mise en cache de pages Web ou répartition de charge. Ces solutions se placent entre les serveurs frontaux et la connexion au réseau Internet. Toutes ont pour but d'améliorer la disponibilité des pages mais chacune s'y prend différemment. Les solutions de mise en cache pré-chargent les pages Web sur des serveurs secondaires, les solutions de compression IP minimisent la taille des paquets à transporter tandis que les solutions de répartitions de charge redirigent le trafic en fonction de la disponibilité et de la charge des serveurs.

Quels impacts provoque la sécurité sur l'architecture d'un site ?
Une des évolutions les plus courantes pour rendre une architecture Web sécurisée consiste à multiplier les serveurs des différents composantes du site (serveur Web, serveur d'application ou serveur de bases de données). On parle alors de fermes de serveur et d'architecture en fail over. Concrètement, il s'agit de basculer les traitements d'un serveur à un autre dans le cas d'indisponibilité ou de dysfonctionnement.

Ce cas est différent d'un système de répartition de charge (load balancing) où plusieurs serveurs travaillent en parallèle à l'exécution d'une même tâche. Hormis le travail sur la disponibilité, la sécurité engendre aussi des conséquences sur l'organisation des différentes machines. La mise en place de pare-feu, très courante dans le cas d'un site Web professionnel, permet d'isoler les frontaux Web et les machines connectées derrière, du réseau Internet. Cette séparation filtre les connexions entrantes et sortantes afin de limiter les intrusions ou au contraire la fuite d'informations.

les articles

métier d'architecte du système d'information en ssii

Architecte en SSII : un acteur clé de la performance informatique (21/06/2011)

Quelles missions attend un architecte du système d'information en SSII ? A quel salaire peut-il prétendre ? Focus sur un métier en pleine expansion. Dossier

à voir également

Architecture Web : définition, conseils, retours d'expérience

Tous les conseils du journal du Net sur l'architecture Web : définition, actualité, conseils, retours d'expérience, avis d'expert. Lire

La vidéo "Les projets Web à l'APEC" sur le Journal du Net

Les projets Web à l'APEC

L'Association pour l’emploi des cadres travaille à la fois à la création de nouveaux services Web, ainsi qu'à la fiabilisation... Lire

Portable Apps Suite

Portable Apps Suite : A l'instar de la Lire

Web Media Player

Web Media Player : L'auteur de Web Media Player, Florian Delauney, s'est livré à un magnifique travail de compilation des chaînes de télévision et des radio francophones faisant l'objet d'une web diffusion en streaming Lire

Tous les articles Architecture Web

Sondage

Référencement : avez-vous été impacté par Google Peguin ?

Tous les sondages