F5 Friday : la configuration en tant que code avec F5 AS3

Écosystème F5 | 24 août 2018
en-tête « configuration as code »

Pendant des années, la programmabilité du plan de contrôle a été dominée par les API. Chez F5, cela s’est traduit par iControl. D’abord proposé sous la forme d’une interface SOAP, puis REST, iControl a offert aux équipes NetOps ce que son nom suggère : le contrôle de chaque aspect d’une configuration BIG-IP.

Cette méthode n’est pas près de disparaître. Les API offrent le contrôle granulaire dont de nombreuses organisations ont besoin pour gérer le déploiement de leurs services applicatifs. Elles jouent également un rôle essentiel dans les efforts d’intégration avec les partenaires et les nouveaux environnements.

Cela ne signifie pas que les API constituent la « seule véritable méthode » pour automatiser l’exploitation d’un BIG-IP. En effet, avec l’adoption d’une approche plus continue du déploiement des applications et des services applicatifs, une autre méthode a vu le jour. Cette méthode est déclarative : l’opérateur décrit l’état final souhaité de la configuration, tandis que la responsabilité de sa mise en œuvre est déléguée au système cible.

Il existe de nombreuses raisons d’adopter une méthode de configuration déclarative, notamment sa compatibilité avec les approches DevOps telles que l’infrastructure en tant que code et le déploiement continu. C’est l’objectif de F5 AS3 : fournir une interface déclarative qui réduit la dépendance aux API et facilite la mise en œuvre d’un pipeline de déploiement continu entièrement automatisé. Il est plus approprié de parler de « configuration en tant que code », car nous ne construisons pas réellement l’infrastructure à partir de code, contrairement à ce que cette expression laisse entendre.

Pourquoi choisir une approche déclarative

AS3 est un format déclaratif qui utilise des paires clé-valeur JSON pour décrire une configuration BIG-IP. De l’adresse IP virtuelle au serveur virtuel, en passant par les membres, les pools et les nœuds requis, AS3 offre un format simple et lisible pour décrire une configuration. Une fois la configuration créée, il suffit de la transmettre au BIG-IP, où l’extension AS3 l’acceptera et exécutera les commandes nécessaires pour la transformer en une configuration BIG-IP déployée et pleinement opérationnelle.

Exemple de traduction de la description du VIP et du pool dans bigip.conf sous forme de déclaration AS3 :

bigip.conf

Déclaration AS3

ltm virtual /Common/serviceMain {    destination /Common/10.0.1.10:80    ip-protocol tcp    mask 255.255.255.255    pool /Common/web_pool    source 0.0.0.0/0    translate-address enabled    translate-port enabled}ltm pool /Common/web_pool {members {        /Common/192.0.1.10:80 {            address 192.0.1.10                    }        /Common/192.0.1.11:80 {            address 192.0.1.11            }    }    monitor /Common/http}
"serviceMain": {     "class": "Service_HTTP",     "virtualAddresses": [         "10.0.1.10"     ],     "pool": "web_pool" }"web_pool": {     "class": "Pool",     "monitors": [         "http"     ],     "members": [         {             "servicePort": 80,             "serverAddresses": [                 "192.0.1.10",                 "192.0.1.11"             ]         }     ] }

La possibilité de décrire une configuration BIG-IP de cette manière permet aux équipes d’exploitation d’adopter une approche de type « configuration en tant que code » pour déployer des services applicatifs. En utilisant un dépôt, nous pouvons récupérer automatiquement les configurations AS3 à déployer. Outre leur utilisation à des fins d’automatisation, les dépôts offrent une méthode plus moderne et plus propice à l’intégration pour gérer les versions et les configurations, et permettent de revenir rapidement à une version antérieure en cas de problème de configuration.

Par exemple, grâce aux fonctionnalités de webhook de GitHub, nous pouvons déclencher automatiquement un déploiement lors de la validation d’une configuration AS3 nouvelle ou mise à jour. Pour ce faire, nous avons besoin d’un serveur de webhooks qui attend une notification indiquant qu’une nouvelle définition de service (AS3) a été validée. Ces notifications prennent la forme d’un hook, c’est-à-dire un objet JSON contenant des informations sur l’événement. Une fois la notification reçue, le serveur de webhooks analyse le hook, récupère la configuration AS3 référencée depuis GitHub et lance le processus de configuration.

Intégration des webhooks

Vous pouvez télécharger la dernière version d’AS3 sur GitHub. La documentation sur le déploiement de l’extension AS3 ainsi que des exemples de configurations AS3 sont disponibles ici.

Le prototype Webhook a été développé par Nathan Pearce, Developer Advocate au sein du bureau du CTO. Pour découvrir d’autres prototypes et exemples d’intégration de BIG-IP aux pipelines CI/CD et de télémétrie, vous pouvez suivre Nathan et F5 Networks sur GitHub.

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.