Nautobot – Network to Code

La solution communautaire NetBox a été supportée pendant plusieurs années par la société Network to Code qui a finalement décidé de procéder à un fork de manière à créer un nouveau produit appelé Nautobot avec une nouvelle orientation stratégique : proposer une plateforme d’automatisation avec un support de qualité.

Source de vérité flexible
À la base, Nautobot est une source de vérité qui définit l’état qui est prévu pour le réseau (Intent-Based Networking).


Plateforme de données extensible pour l’automatisation de réseau
Nautobot est plus que de la documentation du réseau. Nautobot propose des intégrations et une extensibilité pour véritablement alimenter des solutions d’automatisation de réseau. Nautobot possède des API de plateforme robustes qui incluent des API RESTful (HTTP) traditionnelles, des API GraphQL, des webhooks basés sur les événements et de nombreuses fonctionnalités d’extensibilité pour permettre une plus grande automatisation du réseau. Nautobot utilise également son extensibilité pour agréger des systèmes de données disparates créant une source unique de vérité pour les solutions d’automatisation de réseau.


Plateforme pour les applications d’automatisation de réseau
La plateforme d’applications Nautobot fournit une architecture à partir de laquelle des applications d’automatisation de réseau peuvent être créées. Les applications Nautobot sont des augmentations ou des ajouts flexibles et personnalisés. Grâce à la plateforme d’applications Nautobot, les entreprises peuvent fournir des extensions et des applications d’automatisation de réseau personnalisables 65 à 70% plus rapidement.

Ma plateforme Nautobot tourne sur un Linux Ubuntu 20.04. L’installation des différents composants est aisée en suivant la documentation proposée. Nul doute qu’on aura accès à un conteneur Docker pour effectuer des démarrages rapides. Pour ceux qui ne sont pas à l’aise avec le système et qui souhaiteraient tester la solution, Network to Code propose Always-on Sandbox.

Dashboard Source de Vérité Nautobot
Ma plateforme Nautobot Linux Ubuntu 20.04

Les fonctionnalités clés sont :

  • Validation des données – Codifiez les règles métier pour vous assurer qu’il n’y a que des données de haute qualité dans Nautobot.
  • Relations définies par l’utilisateur – Créez des relations personnalisées entre les modèles de données existants qui répliquent la conception de votre réseau.
  • Champs personnalisés – Améliorez les modèles de données existants grâce à des champs personnalisés sur n’importe quel objet, y compris les interfaces.
  • Intégration de la source de données (Git) – Intégrez de manière transparente des fichiers de données structurées basés sur YAML directement dans Nautobot.
  • Jobs – Utilisation de scripts Python pour créer dynamiquement des formulaires et des rapports en libre-service facilement exécutables dans l’interface utilisateur.
  • GraphQL – Récupérez facilement les données que vous souhaitez dans les modèles de données en un seul appel API.
  • Webhooks – Demandez à Nautobot d’effectuer un appel API HTTP sortant basé sur des opérations de création, de mise à jour et de suppression.
  • Système de plugins – Ajoutez des extensions et des applications personnalisées répondant à vos besoins spécifiques d’automatisation de la SoT (Source of Truth) et du réseau.
Nautobot Network to Code architecture
Source Network to Code

Je l’ai souvent évoqué ici, l’automatisation se met en place en suivant une logique d’évolution qui a été pensée et écrite. Cette évolution a été amorcée il y plusieurs années et plus on cherche à repousser l’échéance, plus la première marche sera imposante pour ceux qui sont restés dans des modèles traditionnels de traitement du réseau.

Automation Evolution
Source Network to Code

La limitation inhérente aux scripts et la prolifération des API sur les périphériques réseau ont poussé les organisations et équipes réseau à explorer et à adopter les pratiques DevOps, en adoptant le mode Agile, en augmentant la collaboration, et ils ont commencé à disséquer les flux de travail manuels et à réfléchir à la manière dont les processus peuvent être optimisé et automatisé. Cela a créé le mouvement et l’approche qu’est NetDevOps. En termes simples, il s’agit de l’application des principes, processus et outils DevOps au réseau. NetDevOps considère l’infrastructure réseau en tant que code (IaC – Infrastructure as Code). Il offre la possibilité d’appliquer les principes CI/CD à la configuration des équipements et à la modification des flux de travail. Cela offre une vitesse opérationnelle améliorée et réduit le risque de code erroné tout en améliorant la fiabilité globale du réseau. Les principales difficultés de NetDevOps sont qu’il est piloté par l’opérateur, nécessite de nouvelles compétences DevOps et constitue une approche technique de bas niveau pour gérer le réseau.

La prochaine étape est le « Network-as-a-Service » qui introduit le concept de libre-service au réseau. Cela fonctionne en encapsulant les processus, les flux de travail et les outils NetDevOps dans une interface utilisateur (UI), exposant les services aux clients internes et externes. Il est extrêmement courant d’utiliser l’automatisation du réseau via des portails en libre-service, ainsi que des programmes de chat.
Les portails en libre-service manquent souvent de moyens de valider les données des formulaires, et il manque une boucle de rétroaction appropriée. Les outils d’automatisation poussent les changements de configuration, mais ces outils ne stockent souvent pas les données modifiées et font peu pour valider ou fournir des commentaires sur le changement. En général, ce type d’automatisation ne résout que la moitié de la boucle d’automatisation.

Boucle Automatisation
Source Network to Code

« Intent-Based Networking » (IBN) cherche à fermer cette boucle d’automatisation. En utilisant une architecture IBN, il devient possible de définir l’état dans lequel le réseau doit fonctionner et de vérifier en permanence que le réseau fonctionne comme prévu. L’intention est «poussée» vers le réseau sur lequel elle sera exécutée, et la télémétrie est ensuite extraite ou diffusée pour renvoyer des informations qui sont utilisées pour vérifier l’intention d’origine. Cette automatisation en boucle fermée fournit une vérification continue et permet une correction automatique.


Bien qu’on en soit qu’au début, l’industrie reconnaît que les réseaux vont évoluer vers l’IA/ML (Intelligence Artificielle/Machine Learning). Encore à ses balbutiements et principalement sur des plates-formes commerciales, l’IA/ML n’est encore utilisée que pour des cas spécifiques sur des réseaux filaires et sans fil. Il ne fait aucun doute que l’IA/ML jouera un rôle clé dans une automatisation plus intelligente et en boucle fermée au cours des 5 à 7 prochaines années.

Une réponse sur “Nautobot – Network to Code”

Les commentaires sont fermés.