L’art de faire évoluer les conteneurs : les disjoncteurs

Écosystème F5 | 18 janvier 2018

La mise à l’échelle des conteneurs ne consiste pas simplement à placer un proxy devant un service et à passer à autre chose. Elle ne se limite pas à la répartition de la charge et, dans l’univers en constante évolution des conteneurs, cinq fonctionnalités distinctes sont indispensables pour assurer la mise à l’échelle : les nouvelles tentatives, les disjoncteurs, la découverte de services, la répartition de la charge, et la supervision.

Dans ce deuxième article consacré à l’art de faire évoluer les conteneurs, nous allons nous pencher sur les disjoncteurs.

Disjoncteurs

Thomas Edison, célèbre pour avoir inventé des milliers d’appareils qui ne fonctionnaient pas et quelques inventions fameuses qui, elles, fonctionnaient, nous a légué le concept du disjoncteur dans une demande de brevet déposée en 1879. Eh oui, les brevets existaient déjà à l’époque. Alors que la version d’Edison utilisait des fusibles, qu’il fallait remplacer (certains d’entre nous se souviennent peut-être d’en avoir cherché frénétiquement dans leurs vieilles voitures), les versions plus modernes sont conçues pour « se déclencher » et interrompre le courant électrique. Elles peuvent ensuite être réarmées afin de rétablir un flux et un fonctionnement normaux.

Dans un contexte de mise à l’échelle, les disjoncteurs fonctionnent selon le même principe. Ils détectent une « surcharge » et interrompent délibérément le flux afin d’éviter de saturer les services situés à l’autre extrémité de la connexion. Ils peuvent également être réinitialisés, ce qui rétablit ensuite le flux normal des requêtes et des réponses.

Les disjoncteurs font depuis longtemps partie des proxys d’équilibrage de charge. Le principe est le suivant : si, après X tentatives, un service donné reste inaccessible, c’est qu’il est hors service. Il est inutile de continuer à lui demander quelque chose qu’il ne peut pas fournir, car cela ne fait que gaspiller les ressources du proxy et du réseau. Ainsi, après un nombre d’échecs (généralement) configurable, le proxy « ouvre » le circuit et refuse toute nouvelle tentative de connexion.

Ce n’est pas la même chose qu’une nouvelle tentative, même si le processus semble similaire. Les nouvelles tentatives reposent sur le principe que la requête finira par aboutir. Un disjoncteur repose quant à lui sur le principe que la requête échouera et qu’il faut donc éviter de perdre du temps et des ressources à la réitérer.

Une fois le problème résolu, le disjoncteur peut être « réinitialisé » et le flux normal peut reprendre.

À l’origine, ce processus était manuel. Un opérateur devait procéder au réarmement après s’être assuré que le service cible était effectivement de nouveau opérationnel. Ces dernières années, ce processus a été automatisé grâce à la surveillance de l’état de santé. Celle-ci consiste généralement à tenter périodiquement de joindre le service et, en cas de succès, à réarmer le disjoncteur afin de permettre la reprise des opérations normales.

Les disjoncteurs sont particulièrement importants dans un environnement conteneurisé reposant sur des microservices, en raison du volume élevé de trafic entrant, sortant et circulant entre les services. Si certaines défaillances peuvent être détectées rapidement, d’autres ne le seront qu’après un long délai d’expiration TCP dû à des problèmes dans la pile réseau. Les délais d’expiration entraînent une latence indésirable ; les mécanismes de disjonction et de nouvelle tentative doivent donc tenir compte de la tolérance globale de l’application à la latence — ou de son intolérance, selon le cas. La configuration de ces valeurs doit prendre en compte les délais d’expiration ainsi que les attentes de l’entreprise en matière de performances. Une faible tolérance à la latence peut nécessiter moins de nouvelles tentatives et un déclenchement plus rapide du disjoncteur.

Partager
Mots-clés : 2018

À propos de l’auteur

Lori Mac Vittie
Lori Mac VittieIngénieur émérite et évangéliste en chef | F5

Lori MacVittie est ingénieure émérite et évangéliste en chef au sein du bureau du directeur technique de F5. Elle possède une expertise approfondie dans la fourniture d’applications, les stratégies d’automatisation et les infrastructures. Elle est réputée pour sa capacité à rendre la complexité intelligible, qu’elle définisse des garde-fous pour les agents d’IA, analyse des architectures multicloud fragiles ou explore les limites des systèmes évolutifs. Elle cumule plus de trente ans d’expérience dans le secteur, couvrant le développement d’applications, l’architecture informatique ainsi que l’exploitation des réseaux et des systèmes. Avant de rejoindre F5, elle a été rédactrice spécialisée dans les technologies et a reçu plusieurs distinctions. MacVittie est titulaire d’un master en informatique et est une autrice prolifique dont les publications couvrent la sécurité, le cloud et l’architecture d’entreprise. Elle est également une passionnée de jeux de société et de jeux vidéo, et assume pleinement ses avis bien tranchés sur le fromage.

Autres articles de Lori Mac Vittie

Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Écosystème F5 | 08/09/2025

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives

Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
Écosystème F5 | 24/04/2023

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui

En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).

Appliquer le principe de Peter Parker à l’inspection TLS
Écosystème F5 | 09/12/2019

Appliquer le principe de Peter Parker à l’inspection TLS

« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.

Le NetOps a besoin de défenseurs, pas d’adversaires
Écosystème F5 | 13/12/2018

Le NetOps a besoin de défenseurs, pas d’adversaires

Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Écosystème F5 | 01/03/2018

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects

Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…

Les templates prennent le contrôle du cloud
Écosystème F5 | 02/02/2017

Les templates prennent le contrôle du cloud

Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.