Airbus dispose d’un système d’information vaste, composé d’une gamme variée de dispositifs. Compte tenu des récentes évolutions en matière d’automatisation, Airbus a décidé de s’approprier ces outils et cette culture afin de transformer en profondeur son utilisation des technologies.
Cette étude de cas se concentre sur l'automatisation d'une flotte d’Application delivery controllers F5 BIG-IP, avec une configuration automatique des VS (Virtual Servers) qui représentent des applications hébergées derrière ces gestionnaires de trafic.
Afin de remplacer la charge manuelle de création, mise à jour et de suppression des VS lors de modifications à grande échelle sur l’ensemble de la flotte, l’objectif est d'automatiser le processus autant que possible, de la création d'un ticket dans la solution ITSM d'Airbus jusqu'à l'interaction effective avec les appareils.
Une autre contrainte à prendre en compte dans ce projet est la complexité du système d'information d'Airbus. La société respectant des protocoles de sécurité stricts et des règles de conformité précises, la solution doit s'intégrer harmonieusement dans le cadre de ce qui est considéré comme les meilleures pratiques en interne.
Tirer parti des services serverless fournis par AWS était parfaitement logique pour de multiples raisons. Airbus est déjà un client important de la plateforme et a orienté sa directive technique vers le Cloud.
AWS Lambda semblait être un candidat idéal en raison de la facilité de déploiement et de la charge de travail attendue, qui ne nécessite pas d'être exécutée 24/7 sur des instances autogérées.
Un autre argument de poids était que les Step Functions pouvaient également être utilisées pour représenter les différentes étapes du processus au sein d'une machine à état.
AWS API Gateway est utilisé pour créer l'interface externe avec les machines à état et les fonctions Lambda. L'extension Application Services 3 (AS3) de F5 est utilisée afin d'appliquer l'approche Infrastructure as Code à la flotte de dispositifs de gestion du trafic.
La solution se compose d'une Step Function principale, qui orchestre le processus général de l'automatisation des VS, ainsi que de quelques Step Functions auxiliaires qui assurent des fonctions complémentaires.
La Step Function VS Automation traite les demandes de création/mise à jour/suppression des VS F5 BIG-IP.
Une demande est soumise via la solution ITSM d'Airbus, ce qui déclenche l'automate. Les fonctions Lambda qui font partie de cette Step Function sont chargées de manipuler les configurations, de les stocker dans le SCM et de les pousser vers les F5 BIG-IP. Elles sont également chargées de communiquer avec différentes API afin de récupérer toutes les informations nécessaires à la manipulation des configurations.
Le projet VS Automation applique l’approche Infrastructure as Code à la gestion des configurations sur les gestionnaires de trafic F5 d'Airbus. En conséquence directe de cette approche, la VS automation doit avoir une source de vérité unique et fiable.
Le référentiel SCM agit comme cette source de vérité. Cela signifie que les changements de configuration des VS, qui sont gérés par la VS Automation, doivent être effectués exclusivement dans les configurations (manifestes) stockées dans ce référentiel, et sont ensuite poussés vers les gestionnaires de trafic respectifs.
Toute modification manuelle de la configuration directement sur le gestionnaire de trafic F5 entraînerait une incohérence entre la source unique et la configuration actuelle sur les dispositifs F5.
Puisque cela est très peu souhaitable , la Drift Detection Step Function agit en tant que contre-mesure contre les incohérences de la source unique et plus particulièrement pour détecter les dérives.
Le processus de Drift Detection est exécuté régulièrement (à un intervalle programmé) et pousse toutes les configurations vers leur dispositif F5 approprié avec l'opération AS3 DryRun et détecte les différences entre la configuration (telle qu'elle provient du SCM) et la configuration fonctionnant sur le F5. Ces changements sont ensuite signalés par email, afin que l'équipe responsable prenne les mesures nécessaires pour remédier à l'incohérence.