Depuis la crise sanitaire et l’évolution des modes de travail, les entreprises ont la nécessité d’aligner besoin et infrastructure. Ce besoin est couplé avec des contraintes de sécurité, de gestion de volume et d’automatisation toujours plus exigeantes. Plus lentes à mettre à jour, et souvent très coûteuses, les infrastructures physiques ont du mal à suivre le rythme.
Modèle classique d’une infrastructure télécom physique en entreprise (Cisco)
Mais avec la virtualisation des infrastructures télécoms, et un marché du Cloud en pleine explosion (estimé à 1500 Mds $ pour 2030), une nouvelle technologie fait surface : l’Infrastructure as Code (IaC). Sécurisée, automatisable, facilement configurable, et relativement bon marché, elle propose une alternative intéressante aux infrastructures physiques.
Écosystème contraignant des infrastructures télécoms et l’apport de l’IaC
Comment se définit une Infrastructure as Code ?
Les infrastructures as Code (IaC), se définissent comme ensemble de périphériques et ressources visant à partager les données via des scripts de code. La technologie est donc hybride, avec une composante infrastructure Cloud, et une composante code.
En termes de structure, une solution de déploiement IaC se compose de deux parties :
- Un script application, pouvant être modifié par le développeur, pour s’ajuster aux besoins de l’entreprise ;
- Un script infrastructure, se présentant comme un schéma de configuration de ressources. Appliqué à des ressources network, celui-ci contient des routages et des configurations réseaux.
Structure d’une IaC
Une fois les scripts édités, ils sont compilés et buildés sur le Cloud à travers des pipelines, passerelles entre plusieurs interfaces et APIs, dans une démarche DevOps, essentiellement du CI/CD (intégration continue, livraison continue).
Vu comme un système, l’Infrastructure as Code orientée télécom peut être considérée comme le parfait intermédiaire entre le fournisseur Cloud et le client final, avec des contraintes réseaux :
L’IaC, vu comme un système
Le fonctionnement d’un réseau IaC
L’Infrastructure as Code repose sur un certain nombre de technologies annexes : s’inscrivant dans le paradigme as a Service, notamment les infrastructures Cloud (IaaS), l’IaC tire profit des nuages privés virtuels (VPC : Virtual Private Cloud), des parts de serveurs Clouds qui utilisent une isolation basée sur du VPN pour le compte d’un (ou des) client(s), et qui sont capables de tourner plusieurs machines virtuelles en parallèle. Un serveur Cloud peut ainsi contenir de multiples clients VPC : une topologie particulière qui optimise le réseau grâce à des équilibreurs de charge (NLB : Network Load Balancers).
L’importance des nuages privés virtuels dans les IaC
Fonctionnalité majeure dans les Infrastructures as Code, les NLB permettent de redistribuer le trafic entrant sur plusieurs cibles de zones dites « disponibles », avec une mise à l’échelle automatique des ressources.
Les NLB ne sont pas propres aux Clouds, mais l’avantage du Cloud (notamment via des VPC) consiste à :
- Utiliser des applications conteneurisées;
- Utiliser des adresses IP statiques ou « élastiques» d’une instance VPC, dynamiquement attribuées au client ;
- Éviter d’occuper plusieurs ports pour distribuer le même trafic.
Les IaC profitent aujourd’hui de toute une série de services Cloud pour configurer leurs réseaux télécoms :
Les services Clouds nécessaires pour configurer un réseau télécom avec les IaC
Tous ces éléments, autrefois proposés sous forme de matériel ou de logiciels installés dans l’entreprise, sont aujourd’hui inclus dans une offre unifiée et décentralisée auprès d’un Cloud.
Cela implique pour le réseau déployé :
- Un moindre délai de prise en charge et assistance en cas d’incident ;
- Une consommation granulaire (on ne paie que ce que l’on utilise précisément);
- Une flexibilité inédite en cas de changement d’architecture réseau : un simple changement de service et quelques lignes de code à modifier.
Le code, un avantage majeur, avec certaines contraintes
En tant que technologie hybride « Cloud + code », l’IaC bénéficie des avantages considérables liés à son aspect code :
- Le code est hautement flexible, et facilement modifiable ;
- Il est immatériel, exécuté en une fraction de seconde, et contrôlable à distance ;
- Il s’autogénère, grâce à des frameworks intelligents, ou l’IA générative.
Ainsi, une fois les services Clouds nécessaires mis en place, la configuration du réseau télécom virtuel se fait en toute douceur :
Configurer un réseau IaC sur le Cloud
Vient ensuite la phase maintenance de code. Plus délicate, elle prend en charge l’orchestration (ou réconciliation) des ressources déployées. Il s’agit en réalité de s’assurer que tous les serveurs sont au même état entre deux redémarrages. Autrement, nous risquons d’être dans une situation de drift.
Deux branches conflictuelles de code, congestion de réseau non-signalée, ou une simple latence Cloud : les causes de drifts sont nombreuses. L’enjeu peut être vital dans une infrastructure télécom, car ces drifts peuvent perturber la communication. Il existe ainsi de nombreuses options pour y remédier.
Orchestration des IaC
Parmi ces options, on retrouve :
- Des fonctionnalités de sécurité, comme le RBAC (Role-Based Access Control), qui donne accès aux personnes ayant le droit de modifier le code, ou bien l’authentification unique SSO (Single Sign-On) permettant de centraliser l’accès aux applications à tous les niveaux d’entrée/sortie du système, sans recourir aux personnes intermédiaires ;
- Des logiciels de versioning de code (VCS: Version Control System), une manière de voir l’historique du code, et de rollback si nécessaire, comme les outils Git, AWS CodeCommit et Azure DevOps Server ;
- Des garanties de conformité aux normes de sécurité de code, comme la DISA STIG (Defense Information Systems Agency Security Technical Implementation Guide), ou la FIPS 140-2/3 (Federal Information Processing Standards), qui définissent plusieurs niveaux de protection cryptographiques ;
- Des analyses d’impact pré-déploiement, ou de métriques des données réseaux, via une journalisation active des traces du serveurs, permettant de détecter, classer et prévoir les drifts.
Un marché compétitif, où chacun trouve son compte
Avec plus de 14 ans de présence, et dépassant les 3 Mds $ sur le marché (estimation 2030), l’IaC dispose aujourd’hui de tous les moyens pour être adoptée par les entreprises :
- D’une part les solutions leaders qui misent sur leur écosystème exhaustif « Cloud + application IaC + outils intégrés », proposant une prise en main facile et un support de haute qualité ;
- D’autre part les solutions plus matures sur le marché, avec des fonctionnalités pouvant répondre à des besoins spécifiques, notamment en termes de maintenance ;
- Enfin, des solutions niches qui défient le marché en jouant sur la scalabilité, le coût ou l’innovation, adaptées aux plus petites entreprises.
Côté Cloud, Amazon Web Services introduit l’IaC sur le marché dès 2010. Il est rapidement suivi par Microsoft Azure (2014) et Google Cloud Platform (2015).
Côté code, de nombreux providers de solution IaC rejoignent la course : ils se veulent Cloud-agnostiques, c’est-à-dire pouvant générer du code infrastructure compatibles sur tous les Clouds, offrant souvent une liberté inégalée aux entreprises via la possibilité d’utiliser de très nombreux langages de programmation.
Quelques providers de solutions IaC connus
Diversité des langages proposés par les providers IaC
Depuis peu de temps, le marché des Infrastructures as Code prend aussi une orientation IA. Les providers intègrent des modèles de prédiction de code ou de détection de faille, réduisant l’intervention humaine et donc les erreurs dans le script infrastructure.
En termes de dynamique du marché, les Etats-Unis restent le marché principal du produit (2,3 Mds $, estimation 2027), et la région Asie-Pacifique a la plus forte croissance. D’autre part, le rapprochement de certains providers a permis une convergence de fonctionnalités. C’est le cas d’IBM qui partage sa solution IA Watson avec l’Ansible Red Hat, ou encore Azure qui fusionne son outil de versioning puissant avec le Copilot GitHub, accédant ainsi à un modèle d’IA basé sur 100 M d’utilisateurs à travers le monde (Gartner, 2023).
Le marché dynamique des IaC
Malgré cette maturité, les IaC ont encore des marges d’amélioration. Parmi leurs limites connues, on peut citer :
- Des services Clouds encore trop généralistes pour l’usage télécom, avec une offre Cloud centrée sur le stockage et le traitement de données, plutôt que sur sa transmission ;
- Une technologie qui demande moins d’experts qu’une infrastructure télécom physique, mais avec une expertise plus élevée, à la fois dans les réseaux, et dans l’informatique ;
- Une industrie télécom qui devra réduire le gap entre les mises à jour matérielles (pluriannuelles) et logicielles (~1 fois/semaine).
Pour répondre à ces enjeux, différents acteurs, tels que Nokia ou Cisco, sont d’ores et déjà engagés. On cite aujourd’hui le Network as Code (NaC) comme le futur héritier des IaC, avec une extension au monde des IoT.
L’IaC dans le Cloud reste cependant une alternative fiable, suffisamment mature et performante qui facilite la gestion des infrastructures télécoms.
Sources
- Image de macrovector sur Freepik
- Evolution of network infrastructure flexibility and programmability. | Download Scientific Diagram (researchgate.net)
- Infrastructure Drift Detection | How to Fix It With IaC Tool (spacelift.io)
- Global Cloud Computing Market Expected to Reach $1,554.94 Billion by 2030, Driven by Adoption of Cloud-Native Applications and Advanced Technologies (yahoo.com)
- Centralised GCP Loadbalancer with Cross-project backend services | by Harshal Rane | Google Cloud – Community | Medium
- Automating the Deployment of Networks with Terraform | Google Cloud Skills Boost
- Infrastructure drift and drift detection explained | Snyk
- Infrastructure as Code Market Size, Share, Growth Report – 2030 (marketsandmarkets.com)
- Infrastructure as Code Market Size, Share | Growth Report, 2030 (fortunebusinessinsights.com)
- (11) Infrastructure as Code Market Size and Share 2032: Industry Overview | LinkedIn
- Introducing GitHub Copilot for Azure: Your Cloud Coding Companion (microsoft.com)
- Gartner Magic Quadrant for DevOps Platforms
- What Does « Network as Code » Mean? – Cisco Blogs
- Programming the networks of the future: what developers need to know (nokia.com)