Qu’est-ce qu’un contrôleur de livraison d’applications ?

Un homme reçoit des marques d’affection de son chien pendant qu’il travaille à domicile sur un ordinateur portable et une tablette numérique

Auteurs

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Qu’est-ce qu’un contrôleur de livraison d’applications (ADC) ?

Un contrôleur de distribution d’applications (ADC) est un dispositif de réseau qui permet d’optimiser la diffusion d’applications sur Internet, généralement dans le cadre d’un réseau de distribution d’applications (ADN).

L’ADC, qu’il s’agisse d’un matériel ou d’un logiciel, est généralement placé dans la zone démilitarisée (DMZ) du réseau d’entreprise, entre le pare-feu et un ou plusieurs serveurs d’applications. L’ADC sert de proxy inverse qui reçoit, déchiffre, valide et achemine les requêtes client avant de renvoyer les réponses chiffrées à l’utilisateur.

Grâce aux ADC, les entreprises peuvent moderniser leurs applications réseau, accélérer la connexion entre les appareils clients et les serveurs web, rationaliser l’équilibrage global de charge des serveurs (GSLB) et augmenter la disponibilité globale des applications.

Vue aérienne d’autoroutes

Gardez la tête dans le cloud 


Recevez la newsletter hebdomadaire Think pour obtenir des conseils d’experts sur l’optimisation des paramètres multicloud à l’ère de l’IA.

ADC et équilibreurs de charge

L’évolution des contrôleurs de livraison d’applications est étroitement liée au développement des applications web, des centres de données et plus largement du domaine de la gestion de réseau.

À la fin des années 1990 et au début des années 2000, avec la commercialisation d'Internet et l'augmentation du trafic Web, les entreprises avaient besoin d'un moyen d'assurer l'efficacité de leurs sites Web et applications face à un trafic élevé. Le principal défi consistait à trouver un moyen de répartir les requêtes entrantes sur plusieurs serveurs afin de garantir une haute disponibilité et la résilience du réseau.

La première génération d’appareils à relever ce défi était ce que l’on appelle « équilibreurs de charge ». Au départ, ces derniers étaient simples et fonctionnaient au niveau de la couche transport. Les équilibreurs de charge visaient à répartir le trafic entrant sur plusieurs serveurs, afin d’équilibrer les charges et d’éviter qu’elles ne surchargent les serveurs.

Toujours est-il que face à la complexité croissante des applications et des sites Web, les équilibreurs de charge traditionnels sont tombés en désuétude en raison de leur incapacité à lire et à prendre des décisions fondées sur le contenu des requêtes utilisateur (et non seulement sur les adresses IP et les ports). C’est ce qui a poussé les développeurs à passer aux solutions d’équilibrage de charge de couche 7, capables d’inspecter le contenu des messages au niveau de la couche application.

Les équilibreurs de charge avancés pouvaient router le trafic en fonction de facteurs tels que les en-têtes HTTP, les cookies ou même les demandes de pages spécifiques, facilitant des stratégies de gestion du trafic plus sophistiquées, comme la persistance de session et le routage basé sur le contenu. Au fil du temps, à mesure que les développeurs continuaient à ajouter des fonctionnalités, ces équilibreurs de charge sont devenus les contrôleurs intelligents que nous appelons aujourd'hui ADC.

IBM DevOps

Qu’est-ce que le DevOps ?

Andrea Crawford présente le DevOps, démontre sa valeur, et explique de quelle façon les pratiques et les outils DevOps vous aident à faire progresser vos applications dans l’ensemble du pipeline de livraison logiciel, de l’idéation à la production. Dirigé par des leaders d’opinion d’IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires pour donner la priorité aux investissements dans l’IA capables de stimuler la croissance.

Quel est le rôle du contrôleur de livraison d’applications ?

Les contrôleurs de livraison d’applications modernes sont des composants essentiels aux infrastructures informatiques résilientes et hautement disponibles, comme les centres de données réseau. Ils gèrent le trafic des applications grâce à une série de processus et de fonctionnalités complexes, qui garantissent un flux de données efficace et sécurisé entre les appareils clients et les serveurs back-end. En voici quelques exemples :

Equilibrage de charge

L’une des principales fonctions de l’ADC est de répartir le trafic entrant sur plusieurs serveurs (équilibrage de charge) à l’aide d’algorithmes comme celui dit des moindres connexions, la permutation circulaire et le temps de réponse du serveur. Si l’un des serveurs est surchargé ou hors ligne, l’ADC redirige le trafic vers d’autres serveurs pour éviter que le serveur défaillant ne devienne un goulot d’étranglement. La performance du réseau et l’expérience utilisateur restent ainsi intactes (ou en sont très peu affectées).

Les équilibreurs de charge assurent la persistance de session, ce qui signifie que les données d'une session utilisateur sont stockées en cache sur le même serveur, garantissant une expérience utilisateur cohérente.

Grâce à l'équilibrage de charge global (GSLB), également connu sous le nom d'équilibrage de charge pour les équilibreurs de charge, les ADC peuvent répartir les requêtes sur plusieurs serveurs situés dans différentes régions géographiques, permettant ainsi aux utilisateurs d'être automatiquement redirigés vers le centre de données le plus proche ou offrant les meilleures performances.

Déchargement TLS et SSL

Les opérations TLS et SSL peuvent parfois mettre à rude épreuve les ressources d'un serveur Web. Avec le déchargement SSL, les ADC remplacent les serveurs backend et fonctionnent comme des points de terminaison SSL ou TLS pour gérer le chiffrement et le déchiffrement, libérant ainsi des ressources CPU pour le traitement des données d'application et améliorant les performances du serveur.

Multiplexage TCP

Les ADC améliorent l'efficacité des connexions réseau en utilisant le multiplexage TCP, qui permet de combiner plusieurs connexions TCP côté client en un nombre réduit de connexions côté serveur, en les regroupant ou en les réutilisant. Grâce à un ensemble de connexions persistantes vers les serveurs, l'ADC peut multiplexer dynamiquement les requêtes des clients sur ces connexions pour réduire la surcharge du serveur.

Mise en cache du contenu

Les ADC peuvent mettre en cache le contenu fréquemment demandé (comme les images, les vidéos et les sites Web) plus près de l'utilisateur, éliminant ainsi la nécessité de le générer ou de le récupérer à plusieurs reprises à partir des serveurs Web. Ces stratégies de mise en cache peuvent réduire considérablement la charge de traitement sur les serveurs d'origine et améliorer les temps de réponse des serveurs pour les utilisateurs finaux.

Compression du contenu

Grâce à la compression du contenu Web (HTML, CSS et JavaScript), les ADC réduisent la bande passante nécessaire, accélérant ainsi la livraison du contenu et améliorant l'expérience utilisateur, en particulier pour ceux ayant une connexion Internet lente.

Sécurité des applications

Les ADC sont souvent équipés de pare-feu d’application DNS et de pare-feu d’application web (WAF) qui protègent contre les vulnérabilités de sécurité courantes (injection SQL, empoisonnement de cookies, scripts intersites (XSS) et autres attaques au niveau de l’application) en analysant le trafic entrant pour détecter des comportements malveillants et en bloquant les requêtes potentiellement dangereuses.

Les ADC permettent également de protéger les applications contre les attaques par déni de service distribué (DDoS) en filtrant le trafic malveillant avant qu’il ne submerge l’infrastructure de l’application. Grâce à des contrôles d’accès spécifiques aux applications, à des protocoles de limitation de débit et à des fonctionnalités de gestion des bots, les ADC jouent un rôle déterminant dans la création d’architectures Zero Trust et la prévention des abus et des attaques sur le réseau.

Mise en forme du trafic

Les ADC hiérarchisent le trafic pour garantir que les applications essentielles bénéficient de la bande passante dont elles ont besoin, même lors des pics de trafic, et que les données sensibles et critiques transitent plus rapidement sur le réseau. Grâce aux politiques de qualité de service (QoS), les ADC facilitent la gestion de la bande passante et préviennent la congestion du réseau.

Authentification centralisée

Les ADC interagissent avec les services d’annuaire (comme un Active Directory sur site) pour contrôler l’accès aux applications et fournir des points d’authentification centraux pour l’authentification des clients et la vérification des autorisations. Ils prennent également en charge des protocoles plus récents comme l’authentification à étapes (MFA) et la connexion unique (SSO) afin de renforcer la sécurité réseau.

ADC dans les environnements cloud natifs

Avec le passage aux applications cloud natives, les contrôleurs de livraison d’applications ont dû évoluer pour prendre en charge les environnements conteneurisés et les architectures de type microservices. Si les ADC matériels et logiciels restent efficaces à bien des égards, les ADC traditionnels, conçus pour des applications monolithiques, peinent souvent à suivre la nature dynamique des applications cloud natives d’aujourd’hui.

Pour y remédier, les fournisseurs de services comme Citrix, VMWare, Amazon Web Services (AWS), Microsoft Azure ou encore IBM, ont développé des ADC cloud natifs (IaaS, PaaS et SaaS) qui allient agilité, évolutivité et capacités d’automatisation. Les ADC modernes sont conçus pour s’intégrer parfaitement aux API des fournisseurs de cloud, ainsi qu’aux outils d’orchestration de conteneurs (comme Kubernetes), afin d’optimiser la découverte de services, la mise à l’échelle automatique et la gestion du trafic.

Cas d’utilisation de l’ADC

Initialement conçus comme de simples équilibreurs de charge, les contrôleurs de livraison d’applications ne cessent de s’adapter pour répondre aux besoins dynamiques des infrastructures informatiques et des solutions de livraison d’applications. Les ADC d’aujourd’hui sont des plateformes de livraison d’applications aux multiples facettes, qui permettent d’optimiser la performance, la sécurité et la livraison des applications dans des environnements multicloud complexes.

Toute entreprise qui exploite à grande échelle un réseau CDN (content delivery network) complexe ou distribué, peut faire appel aux ADC pour s’assurer que ses applications réseau sont disponibles et opérationnelles en permanence.

Les ADC offrent les avantages suivants :

Équilibrage global de charge du serveur

Les ADC permettent de rediriger le trafic réseau vers les clusters de serveurs des centres de données au sein du réseau. Plus précisément, ils collaborent avec d’autres ADC pour optimiser le chemin qu’emprunte le trafic sur Internet. Chaque ADC achemine les requêtes vers le centre de données le plus proche du client, afin de réduire la latence ainsi que le temps d’aller-retour.

Gestion des connexions

Les ADC optimisent les performances pour les clients rapides et lents en ajustant dynamiquement les délais d'attente et les tailles de tampon. Les contrôleurs peuvent également terminer les connexions pour libérer des ressources inutiles et multiplexer les connexions pour une meilleure efficacité du réseau.

Surveillance de la santé

Les ADC surveillent l’état des serveurs d’applications en temps réel pour garantir que le trafic est acheminé uniquement vers les serveurs réactifs et disponibles. Ils peuvent envoyer une requête ping aux serveurs Web, tenter d’établir des connexions TCP et faire des requêtes au niveau de l’application pour vérifier si le serveur fonctionne de manière optimale.

Si un serveur tombe en panne ou présente un fonctionnement sous-optimal, l’ADC peut rediriger le trafic vers d’autres serveurs, voire procéder au redémarrage du serveur et lancer d’autres actions de récupération (à condition qu’il soit configuré à cet effet).

Prise en charge multilocation

Les conceptions multilocation permettent aux différentes équipes de l’entreprise (DevOps, marketing, ventes, service client, approvisionnement, paiements) de partager la même infrastructure d’applications. Combiner davantage de services sur un nombre réduit de périphériques, qu’ils soient virtuels ou physiques, permet aux entreprises d’accroître l’agilité de leur réseau et de réduire leurs coûts de gestion, d’acquisition et d’assistance continue.

ADC dans l’edge computing

L’edge computing consiste à traiter les données à proximité de la source (en périphérie du réseau), au lieu de s’appuyer uniquement sur un centre de données. Les ADC déployés en périphérie permettent d’optimiser le trafic local, de gérer les politiques locales de sécurité et de conformité, et de garantir le bon fonctionnement des applications, même dans les environnements distribués. Cela est particulièrement utile dans le cas des applications IdO et des services qui exigent des capacités de traitement en temps réel.

Intégration avec le réseau défini par logiciel (SDN)

Les ADC ont évolué pour être plus faciles à programmer et à intégrer aux architectures SDN, qui séparent la couche de contrôle du réseau de la couche de données pour permettre une gestion des ressources plus centralisée et plus flexible. Désormais, les ADC peuvent être configurés et gérés dynamiquement à l’aide de contrôleurs logiciels, afin de répondre avec plus de souplesse aux fluctuations du trafic réseau ainsi qu’aux exigences des applications.

Capacités de machine learning (ML) et d’IA

Les technologies d’intelligence artificielle (IA) et de ML permettent aux ADC de prédire les schémas de trafic, de détecter les menaces pesant sur la sécurité et d’automatiser les tâches de gestion du réseau, afin d’améliorer l’efficacité et de réduire le besoin d’interaction humaine avec le réseau.

Avantages des ADC

Les contrôleurs de livraison d’applications permettent d’optimiser l’acheminement du trafic et d’améliorer la disponibilité du réseau. Ils s’avèrent particulièrement utiles aux entreprises qui gèrent un trafic Web à volume élevé, qui hébergent des applications critiques, ou encore qui requièrent un niveau élevé de sécurité des données.

Les ADC offrent les avantages suivants :

Analyses en temps réel

Les ADC collectent des données sur un large éventail d’indicateurs (comme le volume du trafic, l’état des serveurs et les événements de sécurité), qui permettent aux entreprises de mieux comprendre le fonctionnement de leurs réseaux.

Accélération de l'application

Les ADC s’appuient sur d’innombrables techniques, dont la commutation de contenu, pour compresser, recycler et mettre en cache les données afin d’accélérer les applications et les sites Web du réseau.

Une meilleure performance des applications

Les ADC peuvent augmenter automatiquement la capacité des services d'application pour assurer un routage du trafic efficace, en particulier dans les réseaux à latence élevée et les réseaux mobiles.

Reprise après sinistre automatisée

Les ADC proposent des capacités de basculement pour permettre aux entreprises de poursuivre leur activité et réduire les retards côté utilisateur en cas de panne du serveur. Les ADC dupliquent et synchronisent les sessions utilisateur à travers les serveurs. Si un serveur se met hors ligne, les responsabilités d’exécution sont ainsi être transférées vers une session dupliquée.

Sécurité réseau renforcée

Les ADC constituent la première ligne de défense contre les cyberattaques. En effet, ils associent WAF, détection d’intrusion et fonctionnalités de prévention pour protéger les données du réseau.

Solutions connexes
Accélération d’IBM DevOps

Automatisez la fourniture de logiciels pour toutes les applications sur site, dans le cloud ou sur mainframe.

Découvrir DevOps Accelerate
Solutions DevOps

Utilisez les logiciels et outils DevOps pour créer, déployer et gérer des applications cloud natives sur de nombreux appareils et environnements.

Découvrir les solutions DevOps
Services de conseil cloud 

Déverrouillez de nouvelles fonctionnalités et stimulez l’agilité de votre entreprise grâce aux services de conseil d’IBM Cloud. Découvrez comment co-créer des solutions, accélérer la transformation numérique et optimiser les performances grâce à des stratégies de cloud hybride et à des partenariats d’experts.

Services cloud
Passez à l’étape suivante

Exploitez le potentiel du DevOps pour créer, tester et déployer des applications cloud natives sécurisées avec une intégration et une livraison continues.

Découvrir les solutions DevOps Découvrir le DevOps en action