PSEFABRIC - une nouvelle approche de la gestion et de l'automatisation des réseaux. Pas à l'idéal

Avant de commencer


  • tout ce qui est discutĂ© ici est plus pertinent pour les centres de donnĂ©es et les rĂ©seaux de bureaux
  • il s'agira du projet https://github.com/nihole/PSEFABRIC
  • voir Ă©galement l' article qui dĂ©crit les principes de base de PSEFABRIC.

Le système de gestion de réseau idéal


J'ose dire que du point de vue de la gestion et de l'automatisation, PSEFABRIC est désormais plus proche que toute autre solution de ce que l'on pourrait appeler un «gestionnaire de réseau idéal».

Si vous avez une bonne voiture, vous savez ce qu'est un bon système de contrôle. En tant qu'utilisateur, vous devez seulement savoir comment modifier la vitesse et la direction du mouvement, et ceci et seulement cela, dans l'ensemble, vous fournit une interface. Dans le même temps, les voitures peuvent être différentes, de différents fabricants, avec des solutions techniques différentes - l'interface est toujours la même: frein, essence et volant (supposons que vous ayez une transmission automatique).

Cette approche peut-elle être appliquée au réseau et, dans l'affirmative, quel système de contrôle serait idéal pour le réseau?

Pour répondre à ces questions, répondons d'abord à la question, et qui est le conducteur?

Les réseaux, n'étant pas un «cheval sphérique dans le vide», n'existent pas pour eux-mêmes, ils existent dans un seul but - la transmission de données. Et les utilisateurs de ce service sont des applications. Tout ce dont l'application a besoin, c'est de grilles et de la connectivité entre elles. Le point de configuration devrait idéalement être le même pour l'ensemble du réseau (et non pas une centaine de périphériques réseau différents) et l'interface devrait être simple et unifiée.

Et ... bien sûr, c'est une tâche impossible, car du point de vue du réseau, tout est compliqué: des centaines de protocoles, types d'équipements, fournisseurs, conceptions - c'est un océan d'options en tout genre. Comment créer un produit avec une interface simple et unifiée qui prend en compte toute cette diversité? Il est clair que le problème sous cette forme ne peut pas être résolu.

Et pourtant, maintenant nous pouvons déjà dire qu'il existe une solution et PSEFABRIC le montre. La tâche, bien sûr, doit être légèrement modifiée, mais, heureusement, ce changement n'est pas significatif.

Énoncé du problème


Il y a deux bonnes nouvelles.

La première est qu'après avoir terminé la construction de votre réseau et l'avez mis en service, à partir de ce moment, la gamme des tâches que vous effectuez sur le réseau est considérablement réduite.
En règle générale, les tâches opérationnelles sont les suivantes:

  • crĂ©ation / suppression d'une configuration liĂ©e Ă  la mise en place des protocoles L2 / L3 pour la connexion des appareils (rĂ©seaux, wilans, sous-interfaces, ...).
    Je l'appellerai création / suppression de réseau.
  • accès ouvert / fermĂ©
  • crĂ©ation / suppression de serveurs virtuels pour Ă©quilibrer le trafic

Cela nous donne la possibilité de modifier l'exigence initiale. Nous n'allons pas gérer toutes les opérations sur le réseau. On distingue plusieurs opérations interdépendantes, à savoir

  • crĂ©ation d'accès
  • rĂ©seautage (dans le sens dĂ©crit ci-dessus)
  • crĂ©ation de serveurs virtuels pour l'Ă©quilibrage
  • ...

La deuxième bonne nouvelle est l'interface.

Le produit Cisco ConfD nous donne tout ce dont nous avons besoin. En utilisant le langage YANG, nous pouvons décrire (et donc créer) pratiquement toute logique nécessaire de notre interface. Nous aurons également tout ce que nous aimons tant. En voici quelques-unes:

  • sauvegarde de la configuration
  • versions de configuration candidate et en cours d'exĂ©cution (capacitĂ© de validation)
  • vĂ©rification de la syntaxe et de la logique des changements
  • annulations
  • AAA
  • configurabilitĂ© via cli, http, rest, netconf, snmp

PSEFABRIC v.010


Nouvelle version v.010 PSEFABRIC

  • facilite le basculement entre diffĂ©rents contextes de projet
  • Il est facilement personnalisable pour une grande variĂ©tĂ© de conceptions, d'Ă©quipements et d'exigences. Ceci est assurĂ© par les propriĂ©tĂ©s PSEFABRIC suivantes:
    • projet p000 , qui est un modèle pour d'autres projets. L'approche recommandĂ©e lors de la crĂ©ation d'un nouveau projet consiste Ă  copier les fichiers de ce projet avec leur modification ultĂ©rieure
    • Un ensemble d' outils pour configurer PSEFABRIC. Aucun changement de code requis
    • une mĂ©thodologie qui dĂ©crit la sĂ©quence des Ă©tapes Ă  suivre dans le processus de mise en Ĺ“uvre de cette solution

Lorsque cet article a été écrit il y a un an, c'était en gros la réponse à la question "est-ce possible en principe?"

L'exemple donné alors (maintenant il s'appelle le projet p001 ), intéressant du point de vue d'un ensemble d'équipements (routeurs Cisco, commutateurs L3, commutateurs, Cisco ASA, Juniper SRX), est encore quelque peu artificiel.

Le gros avantage de ce projet (p001) est la présence d'un laboratoire (UNL), où vous pouvez "jouer" avec les réglages de PSEFABRIC et tous les équipements ci-dessus, comprendre les principes de fonctionnement, les principaux points de la configuration, vous familiariser avec les outils de diagnostic ...

La version actuelle de PSEFABRIC (v.010) est déjà un produit à part entière. Vous pouvez le prendre et l'appliquer sur votre réseau ou sur le réseau de votre client. Pour démontrer la flexibilité et la force de cette solution, un autre projet a été créé ( p002 ).

Il s'agit déjà d'une conception «combat» que vous pouvez appliquer chez vous ou chez le client. Il s'agit d'une approche populaire et moderne pour construire un centre de données basé sur des idées de longue date:

  • Segmentation logique imbriquĂ©e
    • dispositifs logiques (ACI Tenants, Palo-Alto VSYS, N7k VDC, ...)
    • Segmentation de routage (VRF)
  • contrĂ´le du trafic entre les segments logiques sur les pare-feu
  • Cloud MPLS pour connecter les centres de donnĂ©es

Équipement: Palo-Alto, Cisco ACI.

Dans cette vidéo d'une demi-heure , nous analysons en détail l' exemple 0 . Dans cet exemple, en utilisant PSEFABRIC, nous configurons l'accès entre les différents segments de réseau du projet p002, en ajustant respectivement l'équipement ACI et PA.

Un peu de miracles


Pour comprendre comment PSEFABRIC modifie le concept de gestion de réseau, voici quelques exemples.

Commençons par des choses conceptuelles.

  • FlexibilitĂ© Après avoir rĂ©pondu Ă  toutes les questions du questionnaire, la mise en place de PSEFABRIC pour un nouveau projet prend de plusieurs jours Ă  plusieurs semaines. Tout dĂ©pend de la rapiditĂ© avec laquelle vous pouvez crĂ©er tous les modèles nĂ©cessaires. Mais en tout cas, 3 mois semblent assez rĂ©alistes pour la mise en Ĺ“uvre (avec les tests) de ce système. Par exemple, la configuration de PSEFABRIC pour le projet p002 a pris 1 semaine. Ayant de l'expĂ©rience dans la crĂ©ation d'un système de contrĂ´le d'accès pour ACI, je peux dire que mĂŞme si nous augmentons ce dĂ©lai Ă  6 mois pour un projet complexe, cela reste un très, très bon indicateur.
  • Reprise après sinistre. Vous avez en fait une configuration «opĂ©rationnelle» de «l'ensemble du rĂ©seau» dans un seul fichier. Vous pouvez facilement l'appliquer Ă  de nouveaux Ă©quipements. Mais de façon intĂ©ressante, vous pouvez mĂŞme remplacer le type d'Ă©quipement (par exemple, c'Ă©tait Juniper SRX, mais est devenu Palo-Alto FW), modifier les paramètres PSEFABRIC (ou crĂ©er un nouveau projet avec de nouveaux paramètres) et appliquer la mĂŞme configuration, mais Ă  un nouveau type d'Ă©quipement. Et cela ressemble vraiment Ă  un miracle, non?
  • Journalisation d'accès. Le problème habituel. Si vous ne vous connectez pas, alors très vite vous ne comprendrez plus oĂą et quoi et quels accès sont encore nĂ©cessaires, et qui sont obsolètes, et en gĂ©nĂ©ral vous perdez le contrĂ´le de votre rĂ©seau. Si vous vous connectez, cela prend beaucoup de temps, et vous n'ĂŞtes jamais sĂ»r que les accès qui sont enregistrĂ©s correspondent vraiment Ă  la configuration rĂ©elle et Ă  la fin vous cessez de le faire. Ici, vous avez Ă  la fois la configuration et l'enregistrement dans une seule bouteille.
  • DevOps. La configuration de votre rĂ©seau est dĂ©sormais un fichier texte simple et facile Ă  lire. Par consĂ©quent, vous pouvez appliquer le dĂ©veloppement des meilleures pratiques aux modifications apportĂ©es Ă  votre rĂ©seau.
  • NaaS. Avez-vous pensĂ© Ă  comment implĂ©menter la solution «Network as a Service»? Vous avez maintenant cette solution avec les interfaces cli, netconf, REST, HTTP, SNMP.

Et quelques exemples techniques:

  • Avez-vous essayĂ© de rĂ©pondre Ă  des questions comme «oĂą / d'oĂą sont ouverts les accès depuis / vers tel ou tel rĂ©seau?» Si vous avez plusieurs centres de donnĂ©es et que les accès sont contrĂ´lĂ©s sur une douzaine d'appareils diffĂ©rents, la rĂ©ponse Ă  cette question peut ĂŞtre assez difficile. Dans le cas de PSEFABRIC, c'est Ă©lĂ©mentaire.
  • Certains fournisseurs proposent des solutions d'administration d'accès pratiques, telles que tag dans Palo-Alto ou StanleyCec dans Cisco. L'essentiel est de fournir automatiquement l'accès aux rĂ©seaux Ă  l'aide de balises. Chez PSEFABRIC, vous pouvez l'implĂ©menter pour l'ensemble de votre rĂ©seau, quel que soit le fournisseur. Cela ressemble Ă  un miracle? Ă€ mon avis, oui.
  • Vous souhaitez ouvrir l'accès Ă  partir de plusieurs rĂ©seaux oĂą se trouvent des ressources administratives (système de surveillance, systèmes de sauvegarde, ...) Ă  tous les pĂ©riphĂ©riques rĂ©seau et serveurs Linux. Habituellement, cela conduit au fait que vous devez ouvrir de nombreux accès sur de nombreux appareils. Une procĂ©dure exĂ©cutable, mais pas très agrĂ©able, et bien sĂ»r, il peut y avoir de nombreux exemples. Dans le cas de PSEFABRIC, il peut s'agir d'une stratĂ©gie, puis PSEFABRIC dĂ©terminera oĂą et quelles commandes de configuration doivent ĂŞtre appliquĂ©es.

Foire aux questions


Mais en quoi cela diffère-t-il de l'orchestration régulière, par exemple, en utilisant Cisco UCSD?
Quoi de neuf dans cette approche?

La nouveauté est que l'orchestration ne connaît généralement pas la configuration du réseau, et si des informations sont requises, l'orchestration doit faire des demandes d'équipement réel.
Par exemple, si vous supprimez un contrat sur un ACI, le système d'orchestration doit passer par tous les EPG de l'ACI pour trouver tous les fournisseurs et consommateurs de ce contrat. Et il peut s'agir de dizaines de milliers d'EPG. Et ce n'est pas seulement une question de performances (bien que cela aussi), mais que cela complique grandement la logique.

Eh bien, il suffit de regarder le chapitre précédent et de répondre à la question, avez-vous tous ces avantages en cas d'orchestration?

Intéressant?


PSEFABRIC est open source avec la licence Apache, version 2.0.

https://github.com/nihole/PSEFABRIC
https://github.com/nihole/PSEFABRIC/wiki
https://github.com/nihole/PSEFABRIC/wiki/Installation

Source: https://habr.com/ru/post/fr431910/


All Articles