VS Automation

Success story

En bref

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.

Contexte et défis

Opérations manuelles
Scalabilité
Manque d'intégration avec les outils ITSM

Tech stack

AWS

  • API Gateway - Point d’entré du système d’automatisation via une API
  • Step Functions - Orchestration du workflow entre les tâches dissociés
  • Lambda - Fonctions Serverless pour les différentes tâches
  • SNS - Utilisé pour notifier aux équipes concernées l'état de chaque exécution
  • SSM Parameter Store - Utilisé à diverses fins, notamment pour stocker les informations d'identification pour l'authentification à HashiCorp Vault, ainsi que pour la mise en œuvre d'un sémaphore global.
  • Cognito - Utilisé pour l’authentification sur l'API

Software

  • Python - Langage de script principal pour les différentes fonctions Lambda
  • Serverless - Framework pour le déploiement de charges de travail sans serveur

Les technologies

  • HashiCorp Vault - Permet de stocker en toute sécurité vos secrets (les clés d'API, les mots de passe, les certificats, etc)
  • F5 - Contrôleurs de livraison d'applications pour la gestion du trafic

Solution

Introduction

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.

High level Overview

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.

VS Automation Step Function

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.

Diagramme de haut niveau de la Step Function principale

Drift Detection Step Function

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.

Diagramme de haut niveau de la Drift Detection Step Function

Résultats

Utilise des services AWS gérés, aucune maintenance de l'infrastructure n'est nécessaire.
Intégration avec la solution ITSM du client.
Intégration avec la solution IPAM/CDMB du client.
Déploie l'automatisation sur une flotte de gestionnaires de traffic, couvrant des milliers de serveurs virtuels.
Solution très rentable, car elle utilise les services gérés d'AWS et maintient la facture à quelques dollars par mois.