Découvrez le projet OPI - L'infrastructure programmable ouverte
Sommaire :
I. Introduction à l'Infrastruture Open Programmable (OPI)
II. Groupe de travail sur le cycle de vie et la mise en service
A. Mise en service des périphériques DP et IP
B. Collecte d'inventaire à partir des périphériques DP et IP
C. Séquençage du démarrage
D. Gestion du cycle de vie
E. Surveillance et télémétrie
III. Groupe de travail sur les API de stockage
A. API côté hôte
B. API côté réseau
C. API de sortie
IV. Groupe de travail sur la sécurité
A. API de sécurité réseau et cryptographie
V. Groupe de travail sur les API réseau
A. Réseaux cloud
B. Réseaux de télécommunications
C. Intégration à Kubernetes
VI. Groupe de travail sur les cas d'utilisation
A. Discussions avec les clients
B. Cas d'utilisation de sécurité
C. Cas d'utilisation de stockage
D. Cas d'utilisation de routage et de commutation
VII. Groupe de travail sur les preuves de concept et la plateforme de développement
A. Environnement de simulation
B. Plateforme de développement
VIII. Rejoignez-nous et participez au projet OPI
🛠 Introduction à l'Infrastruture Open Programmable (OPI)
L'Infrastruture Open Programmable (OPI) est un projet qui vise à créer un écosystème ouvert et standardisé pour la gestion des dispositifs de traitement des données (DP) et des dispositifs d'infrastructure programmable (IP). Le projet est hébergé par Linux Foundation et regroupe des entreprises leaders dans le domaine, telles que Dell, F5, Intel et Nvidia.
Le but principal de l'OPI est de créer des normes et des lignes directrices communes pour la gestion des DP et des IP, afin de faciliter l'interopérabilité entre les différents fournisseurs. Les travaux sont divisés en plusieurs groupes de travail, qui se concentrent sur des domaines spécifiques tels que le cycle de vie et la mise en service, les API de stockage, la sécurité, les réseaux, les cas d'utilisation, les preuves de concept et la plateforme de développement.
🚀 Groupe de travail sur le cycle de vie et la mise en service
Le groupe de travail sur le cycle de vie et la mise en service se concentre sur le processus de provisionnement des DP et des IP, ainsi que sur la collecte d'inventaire, le séquençage du démarrage, la gestion du cycle de vie et la surveillance et la télémétrie.
-
Mise en service des périphériques DP et IP
- Adoption de la norme RFC a572 pour la mise en service sécurisée des dispositifs DP et IP
- Automatisation du processus de mise en service pour éliminer toute intervention manuelle ou administrative
- Validation du réseau et des dispositifs pour assurer l'authenticité et la sécurité
-
Collecte d'inventaire à partir des périphériques DP et IP
- Collecte des informations d'inventaire locales à partir des applications exécutées sur les DP et les IP
- Collecte d'inventaire à distance via le réseau pour permettre aux applications externes d'accéder aux informations d'inventaire
- Accès de l'ordinateur hôte et du contrôleur de gestion de l'ordinateur hôte aux informations d'inventaire des DP et des IP
-
Séquençage du démarrage
- Coordination du démarrage entre l'ordinateur hôte et les DP et les IP pour assurer un démarrage synchronisé
- Notification du redémarrage des DP et des IP pour permettre à l'hôte de se préparer aux modifications
- Gestion des plantages pour assurer une reprise en douceur après un plantage du DP ou de l'IP
-
Gestion du cycle de vie
- Redémarrage des DP et des IP pour permettre les mises à jour logicielles, les réinitialisations d'usine, etc.
- Récupération des DP et des IP dans un état connu en cas de besoin
- Débogage des DP et des IP pour résoudre les problèmes et améliorer les performances
-
Surveillance et télémétrie
- Utilisation de la norme Open Telemetry pour collecter les traces, les métriques et les journaux à partir des DP et des IP
- Intégration avec des outils standard tels que Prometheus et Grafana pour analyser les données collectées
- Déploiement de collecteurs Open Telemetry sur les DP et les IP pour collecter les données de manière fiable et sécurisée
📦 Groupe de travail sur les API de stockage
Le groupe de travail sur les API de stockage se concentre sur la création d'API communes et normalisées pour gérer les périphériques de stockage, tels que les dispositifs NVMe et les périphériques de stockage émulés.
-
API côté hôte
- Configuration des dispositifs NVMe émulés exposés vers l'hôte
- Gestion des différentes propriétés du dispositif, telles que la capacité, la file d'attente de commandes, etc.
-
API côté réseau
- Configuration des périphériques de stockage distants, tels que les baies de stockage, via les protocoles NVMe sur TCP, RDMA, etc.
- Gestion des adresses IP, des noms de sous-système, etc.
-
API de sortie
- Composants intermédiaires pour ajouter des fonctionnalités supplémentaires, comme la compression et le chiffrement des données
Les implémentations de référence pour ces API de stockage sont disponibles dans des conteneurs Docker, avec des ponts spécifiques aux fournisseurs pour les fonctionnalités émulées.
🔒 Groupe de travail sur la sécurité
Le groupe de travail sur la sécurité se concentre sur les API liées à la sécurité des réseaux et à la cryptographie. L'objectif est de définir des normes communes pour l'offloading de la sécurité, telle que l'accélération IPsec, la gestion des clés, etc.
🌐 Groupe de travail sur les API réseau
Le groupe de travail sur les API réseau se concentre sur les API spécifiques aux besoins des fournisseurs de services cloud, des opérateurs de télécommunications et de l'intégration à Kubernetes.
-
Réseaux cloud
- Définition des API pour la configuration des réseaux cloud, telles que Open vSwitch, BGP, etc.
-
Réseaux de télécommunications
- Définition des API pour les besoins spécifiques des opérateurs de télécommunications, comme les protocoles SDN et NCSI.
-
Intégration à Kubernetes
- Définition des API pour intégrer les DP et les IP aux réseaux de Kubernetes, tels que les plugins CNI.
💡 Groupe de travail sur les cas d'utilisation
Le groupe de travail sur les cas d'utilisation se concentre sur les discussions avec les clients pour comprendre leurs besoins spécifiques. Les principales priorités sont les cas d'utilisation de sécurité, de stockage et de routage.
-
Discussions avec les clients
- Écoute des besoins et des problèmes des clients pour orienter les travaux du projet
- Identification des cas d'utilisation et des priorités pour le développement des API
-
Cas d'utilisation de sécurité
- Définition des API pour les fonctionnalités de sécurité, comme les pare-feu, la gestion des politiques, etc.
-
Cas d'utilisation de stockage
- Définition des API pour les fonctionnalités de stockage, telles que l'émulation de périphériques NVMe, le pontage de stockage, etc.
-
Cas d'utilisation de routage et de commutation
- Définition des API pour les fonctionnalités de routage et de commutation, telles que OVS, BGP, etc.
👩💻 Groupe de travail sur les preuves de concept et la plateforme de développement
Le groupe de travail sur les preuves de concept et la plateforme de développement se concentre sur la création d'un environnement de simulation afin de faciliter le développement et les tests. Ils développent également une plateforme de développement pour les développeurs qui souhaitent créer des applications pour l'OPI.
-
Environnement de simulation
- Création d'un environnement de simulation pour tester les API et les fonctionnalités de l'OPI sans avoir accès à du matériel réel
- Déploiement automatisé des services OPI dans l'environnement de simulation
-
Plateforme de développement
- Mise en place d'une plateforme de développement pour faciliter la création d'applications pour l'OPI
- Intégration continue (CI) pour tester et valider les nouvelles fonctionnalités
🤝 Rejoignez-nous et participez au projet OPI
Si vous souhaitez contribuer au projet OPI, il existe différentes options pour rejoindre la Linux Foundation en tant que membre individuel ou en tant qu'organisation. Toutes les réunions du projet sont publiques, à l'exception des réunions du conseil d'administration. Vous pouvez également participer aux groupes de discussion, aux listes de diffusion et au canal Slack du projet.
Votre participation est essentielle pour donner vie à ce projet et pour créer un écosystème ouvert et standardisé pour les dispositifs de traitement des données et les dispositifs d'infrastructure programmable.
🔗 Ressources supplémentaires :
FAQ :
Q: Les API d'infrastructure programmable (IPI) couvriront-elles la virtualisation du stockage ?
R: Oui, les API d'infrastructure programmable (IPI) couvriront la virtualisation du stockage, y compris la gestion des dispositifs NVMe émulés et l'interfaçage avec les systèmes de stockage distants.
Q: Y aura-t-il des API pour la synchronisation du temps ?
R: Les API pour la synchronisation du temps sont actuellement dans notre feuille de route, mais elles n'ont pas encore été priorisées. Toutefois, nous sommes ouverts aux contributions et aux commentaires de la part des utilisateurs intéressés par cette fonctionnalité.
Q: Est-ce que GraphQL sera pris en compte dans la structure globale de l'API ?
R: Nous avons envisagé l'utilisation de GraphQL, mais nous avons finalement opté pour gRPC, qui est plus couramment utilisé dans les cas d'utilisation que nous ciblons. Cependant, nous sommes ouverts à vos suggestions et si vous pensez que GraphQL est le meilleur choix pour vos besoins, nous vous encourageons à rejoindre le projet et à faire part de vos suggestions.
Q: Les API prendront-elles en charge des cas d'utilisation moins courants, tels que la vidéo en continu ou la virtualisation ?
R: Nous sommes ouverts à l'ajout de nouvelles API pour les cas d'utilisation moins courants, et nous encourageons les utilisateurs à nous rejoindre et à participer pour faire avancer ces sujets. Nous voulons construire un écosystème ouvert et inclusif, capable de répondre à une grande variété de cas d'utilisation.