Passer au playerPasser au contenu principal
  • il y a 3 mois
FRnOG 42 - Benoit Kohler (OpsMill) : InfraHub Community

Catégorie

🤖
Technologie
Transcription
00:00bonjour à tous du coup je vais vous parler d'infrable en tout cas la version open source
00:04et du coup faite par offsmill d'abord pour ceux qui me connaissent pas du coup j'ai travaillé
00:11chez cloud temple et j'ai travaillé chez vente privée à venir chez offsmill et du coup pourquoi
00:15offsmill essentiellement pour créer un outil dont j'avais besoin pour les dinaires années
00:21quand je travaillais avec netbox essentiellement pour la partie source de vérité et plus largement
00:26la partie infrastructure management offsmill pour l'explication la société a créé à deux ans par
00:34rafael meunier et damien garros donc on a déjà fait une précise il ya deux ans avec des gros
00:40finalement des des gros sponsors tels que serena partec et ovni capital on a déjà des clients et
00:49on travaille finalement essentiellement sur des gros sur des gros comptes que ce soit avec la
00:57version open source ou avec la version entreprise dont je ne parlerai pas aujourd'hui parce que ce
01:01n'est pas un taux commercial premier problème aujourd'hui sur la partie source de vérité en
01:07infrastructure et finalement la présentation juste avant de nokia était un des exemples on n'a pas
01:13toute la source de vérité au même endroit on peut se retrouver avoir de la data dans une cmdb dans
01:17gith dans des outils préconçus tels que netbox et notobot mais du coup on n'a pas toute la vérité au
01:22même endroit et ça rend l'automatisation fragile en tout cas complexe ce qui n'est pas facile de tout
01:29utiliser directement si on manage on arrive à essayer d'utiliser une seule source de vérité que ça
01:37peu importe le système on se retrouve avec les downfalls associés donc j'utilise une cmdb c'est pas fait pour
01:43faire l'automatisation j'ai pas forcément d'ipi si je veux utiliser git super je peux faire un peu
01:49ce que je veux du coup c'est flexible l'inconvénient à nouveau j'ai pas d'ipi du coup ça peut être plus
01:55complexe puisque du coup on n'a pas de schéma mais on peut faire un peu ce qu'on veut ce qui peut
02:00devenir très complexe et enfin ceux qui sont dédiés à type des outils donc netbox notobot parfait c'est
02:08fait pour faire de l'infra inconvénient c'est inflexible on n'a pas de on peut pas facilement
02:15l'étendre en tout cas c'est avec des plugins pour ceux qui ont utilisé netbox et notobot sur les
02:19lignères années on sait que vous savez que chaque fois qu'on fait un upgrade il est souvent le cas
02:26d'avoir des plugins qui ne fonctionne pas sur une nouvelle version il s'améliore et c'est pas leur faute
02:31c'est la faute avec les plugins mais c'est lié au modèle du coup un frauble là dessus où on va
02:38situer l'idée bien sûr c'est de faire tout ça tous ensemble donc on va réunifier la data d'avoir des
02:44modèles qui soit custom et de pouvoir les faire finalement les étendre autant qu'on veut et de
02:51garder également toute la partie configuration avec donc au lieu d'avoir j'ai ma source de vérité ici j'ai
02:59ma configuration qui va aller vivre dans un guide on va la stocker également dans un frauble c'est
03:03pas mandatory mais on va pouvoir la stocker ce qui va nous permettre de faire du versionning et sur
03:07la data et sur le résultat pour faire un peu de buzzword on va faire du flou on fait des
03:14knowledge graph puisqu'on utilise une graph database en dessous du coup on est déjà ready pour
03:19faire de l'IA puisque du coup on a tout ce système de de graph qui est associé qui permet de faire
03:25un life cycle un peu plus un peu pertinent
03:29toutes les features qui sont présentes aujourd'hui sur la version entreprise sont
03:34également présents sur la version open source on fait pas une version open source au rabais on n'a
03:38pas mis un sso derrière un p wall on n'a pas décidé de retirer certaines fonctionnalités donc du coup si
03:44vous voulez utiliser la version communauté toutes les features sont bien présentes que ça soit la
03:49partie pipeline sur lequel on peut écrire des checks custom la partie air back toutes les
03:56des potencies les grosses différentes ça va être entre entre les deux versions va être essentiellement
04:01de la performance et de comment et des règles un petit peu avancées typiquement comme gitlab si
04:10vous voulez faire un approvole mandatory sur votre ci bah vous devez être une entreprise et vous devez
04:15payer parce que normalement vous n'avez pas ce besoin là si vous êtes trois personnes
04:18pour faire un cas un peu plus concret et pas justement vous balancer chaque feature une par
04:25une et vous expliquer ce que c'est l'idée là c'est on va créer un modèle donc c'est une démo papier parce
04:31que du coup j'ai pas de vidéo et j'ai pas de j'ai pas de vrais démo sur le sur le laptop de philippe
04:35donc on va attendre un modèle directement au niveau du schéma on va importer ou éditer de la data faire une
04:42branche et je vous montre un petit peu le système là du coup un pour le schéma ici je vous ai pris
04:47l'exemple d'un service un l3 vpn donc typiquement sur moi 3 vpn ça peut être je vais avoir besoin de
04:54vrl je vais avoir besoin de préfixes l'exemple que vous avez à gauche c'est un petit yamel qui est
04:59l'explication de votre de votre schéma donc ce yamel là vous allez pouvoir le loader directement dans
05:04un freb sans avoir besoin de l'eau de quoi que ce soit et ça va être pris en compte du coup dès que vous
05:09allez le loader lui il va changer les ipi vont être disponibles et c'est vous allez pour le
05:14consommer une fois que c'est présent vous allez pouvoir utiliser d'autres outils en interne donc
05:20typiquement la partie générateur et la partie ressources manager qu'elle soit d'après j'aurais
05:25peut-être dû les inverser où vous allez pouvoir définir donc le générateur qui va être en finalement
05:32un script python qui va pouvoir tourner dans un freb vous allez pouvoir définir une logique et votre
05:37design qui peut être également défini dans d'autres modèles typiquement bah tiens ma vrf doit avoir tel
05:42type d'id je veux utiliser tel type de source d'ipi avec tel rôle basé basé là encore sur mon design et
05:50vous allez pouvoir stocker ça dans votre source de vérité au même endroit et du coup elle sera versionnée
05:54tout ensemble la partie ressources management dont je parlais juste avant aujourd'hui si vous prenez
06:01netbox vous êtes capable de lui dire et donne moi le prochain vln disponible donne moi le prochain préfixe
06:06disponible sur un range mais ça s'arrête là si vous lui dites de moi le prochain s disponible sur un
06:12range il est pas capable puisque c'est pas une table prédéfinie vous n'avez pas d'allocations
06:17automatique que ça soit via l'ui seulement via la partie via la partie python donc l'idée ici c'est
06:22d'avoir un système de ressources management plus étendu ou typiquement les les interfaces des
06:28poules d'interface des poules des poules de rack etc pour dire donne moi le prochain est disponible le
06:33prochain rack etc
06:36une fois que vous avez tout ça que vous avez pu créer votre modèle on va on va vouloir transformer
06:44cette data et du coup en faire en faire une configuration donc nos configurations on les
06:48a appelé artefacts et au final un artefact donc au sens git du terme ça va être un fichier ça peut
06:55être à peu près n'importe quoi et je suis déjà en avance sur mes slides en fait ça va être n'importe quoi
07:03et du coup la partie transformation que ce soit du ninja ou du python vous allez pouvoir faire la
07:08partie custom sur votre vendeur spécifique et donc pour le changer vous n'avez pas besoin de
07:12changer vos modèles vous avez juste changé votre d'inja de la même manière que le fait sur
07:15ansible pour avoir la nouvelle configuration
07:18donc typiquement ici j'ai un l3 vpn avec avec la vrf qui est associé et en fonction de la
07:25transformation je vais pouvoir choisir ok j'ai celui là c'est pour du cisco celui là c'est pour de
07:30l'arista et du coup si vous changez juste le modèle sur votre d'un point de vue configuration vous
07:36allez pouvoir avoir celle du vendor associé à votre device bien sûr tout ça est versionné donc on se dit
07:44que tous ces changements là vous avez fait dans une branche parce que vous êtes quelqu'un de bien et
07:47vous faites pas tout dans la même branche donc vous allez faire une branche vous allez faire ces
07:50changements là vous allez faire un propos change donc c'est l'équivalent du mass request git
07:54que un de vos collègues va pouvoir review vous allez voir effectivement quels sont les changements
08:00qui ont été faits d'un point de vue data et d'un point de vue configuration également
08:03donc qu'est ce qui a changé sur donc le diff également sur la configuration typiquement
08:13si vous rajoutez des mtu et autres vous allez pouvoir le voir et en data et en configuration
08:17vous pouvez également rajouter du coup des checks qui soient définis par un user ça peut être après
08:23n'importe quoi typiquement si tu shutdown ce device je veux que tu confirmes que un autre device du
08:31même rôle soit présent sur mon site pour garantir un petit peu que maintenant ce va bien se passer
08:35avant que ça soit validé et aujourd'hui si les checks ne marchent pas vous n'allez pas
08:41pouvoir merge cette branche là et du coup comme le check peut être n'importe quoi ça peut être du
08:46transit du device des descriptions parce que vous voulez garantir que la description soit conforme à
08:51un certain modèle pour éviter d'avoir 20 versions en production qui soient toutes différentes
08:56l'artefact dont je parlais tout à l'heure ça peut être n'importe quoi c'est pas forcément lié à un
09:04device si vous avez envie de le mettre sur un rack et faire de la ski art pour expliquer comment
09:09comment le rack est conçu vous pouvez le faire vous pouvez faire des csv pour du cabine plan vous
09:14pouvez faire des images vous pouvez faire des e-mails des e-mails également pour des maintenances
09:18plusieurs plusieurs formats qui soient présents les grands classiques csv json mark donne et autres
09:26et toute cette partie là vous allez pouvoir la récupérer directement dans des outils tiers
09:32contrairement en autobot on a fait le choix de pas tout avoir dans un frappe sur une seule partie
09:37c'est la partie déploiement il ya d'autres outils qu'ils le font bien vous pouvez utiliser ansible
09:43vous pouvez ténormir ou même d'autres outils il n'y a pas de raison pour nous de faire un
09:47redéveloppement et le faire vous pouvez garder vos outils la seule différence c'est que du coup si
09:51vous hésitez par ansible au lieu de récupérer de la data faire la transformation dans le cible et
09:56après la push et dans le cible vous allez pouvoir lui dire et récupère moi la configuration et push a du
10:02coup lancible lui même n'a plus d'intelligence et fait juste passe plat ce qui permet que si demain vous
10:07utilisez plus ansible et vous passez sur un système autre à base de web book et d'orchestration
10:13vous pouvez le faire assez facilement ce que la logique n'est plus portée dans l'outil de déploiement
10:19et de mémoire c'est la fin tout à fait donc vous avez liens ici du repos gith sur la version open
10:27source et le qr code pour joindre notre serveur discord si vous avez des questions vous pouvez les
10:35poser maintenant

Recommandations