Les avantages de la conteneurisation dans SONiC

par | 14 mars 2023 | Non classé

Si, comme moi, vous vous intéressez aux systèmes d'exploitation en réseau, vous savez que l'architecture de conteneurisation de SONiC est un grand pas en avant pour atteindre des niveaux plus élevés de disponibilité du réseau.

Dans le passé, la plupart des systèmes d'exploitation de réseau étaient monolithiques, ce qui signifie qu'ils avaient une base de code unique contrôlant toutes les fonctions de réseau, une grosse image avec toutes les fonctionnalités. Mais la conteneurisation change tout cela ! Désormais, chaque fonction réseau est séparée dans son propre conteneur ou microservice. C'est comme si vous aviez différentes pièces pour différentes fonctions dans votre maison au lieu de tout avoir dans une seule grande pièce. Vous pouvez rénover complètement une pièce sans que la vie dans les autres pièces ne soit affectée.

Les conteneurs, les microservices et Kubernetes sont les normes pour le déploiement d'applications distribuées dans le cloud, peut-être est-il temps pour la mise en réseau de rattraper son retard ? À quoi pouvons-nous nous attendre avec ce nouveau paradigme ?

Flexibilité

Pourquoi les conteneurs sont-ils si importants ? Tout d'abord, ils nous donnent beaucoup plus de flexibilité. Grâce à la conteneurisation, nous pouvons mettre à jour ou ajouter de nouvelles fonctionnalités à un service spécifique sans avoir à modifier l'ensemble du système d'exploitation. Cela change la donne pour la configuration et le dépannage des réseaux. Auparavant, en cas de bogue ou de vulnérabilité dans un composant ne faisant pas partie du plan de données, il fallait redémarrer l'ensemble du système pour le corriger. Il existait bien sûr des solutions propriétaires comme ISSU, mais elles n'étaient pas très fiables et faisaient partie de la boîte noire du fournisseur. Avec les conteneurs et les logiciels libres, nous pouvons savoir quels éléments dépendent les uns des autres. C'est un aspect très important du développement de systèmes fiables.

Évolutivité

Un autre grand avantage est l'évolutivité. Grâce à la conteneurisation, nous pouvons faire évoluer des services individuels en fonction des besoins au lieu de devoir faire évoluer l'ensemble du système. C'est une excellente nouvelle pour faire face à l'augmentation du trafic réseau sans se ruiner. Nous pouvons faire évoluer chaque conteneur individuel avec des ressources supplémentaires, ou créer de nouveaux conteneurs identiques pour paralléliser les charges de travail afin de mieux répondre à la demande nécessaire.

Sécurité

La sécurité est également un atout majeur. La conteneurisation offre une couche supplémentaire de sécurité pour les systèmes d'exploitation en réseau. Chaque service est isolé dans son propre conteneur, de sorte que les failles de sécurité ou les vulnérabilités n'affectent que ce service spécifique, et non l'ensemble du système. Et si nous trouvons un morceau de code qui n'est pas sûr, nous pouvons le remplacer facilement et rapidement car nous n'avons pas besoin de remplacer l'ensemble du système d'exploitation. Cette tranquillité d'esprit n'a pas de prix !

Efficacité

L'efficacité est également un argument de vente important. La conteneurisation permet à chaque service d'utiliser uniquement les ressources dont il a besoin, ce qui permet de réaliser des économies, en particulier dans les réseaux à grande échelle. Et le meilleur, c'est que l'approche conteneurisée de SONiC permet une plus grande ouverture et une meilleure interopérabilité avec d'autres systèmes. De la même manière que nous pourrions limiter le trafic entrant vers les interfaces de gestion, nous devrions également fixer des limites aux processus de gestion afin de nous assurer qu'ils ne font pas exploser notre plan de contrôle. Plus nous contrôlons les processus du système, plus nous disposons d'espace pour les nouveaux logiciels passionnants que nous avons toujours voulu utiliser dans la gestion de notre réseau.

Orchestration

Et voici un peu de magie qui pourrait vous faire penser différemment à l'avenir des réseaux. Si le NOS est un ensemble de conteneurs exécutant nos services de réseau sur des nœuds, et la structure du réseau est un groupe de ces nœuds de travail participant à l'obtention d'un résultat spécifique, n'est-ce pas fondamentalement la même chose qu'une application distribuée ? (HOCHEMENT DE TÊTE)

Pouvons-nous donc utiliser Kubernetes pour déployer et exploiter ces services réseau de manière extrêmement intelligente ? C'est certain ! Nous n'avons pas besoin d'un système de gestion de réseau (NMS) ou d'un contrôleur de réseau propriétaire, nous pouvons utiliser Kubernetes et bénéficier de tous les avantages de l'ensemble de la communauté d'outils Cloud Native pour améliorer considérablement nos capacités.

Cela change la donne.

Dans l'ensemble, je pense que la conteneurisation dans SONiC est une énorme amélioration par rapport aux systèmes d'exploitation de réseau monolithiques. Il s'agit d'une approche plus flexible, plus évolutive, plus sûre, plus efficace et plus ouverte. C'est exactement ce que veulent les développeurs d'applications lorsqu'ils conçoivent des applications modernes. Il est temps que le réseau rattrape le reste de l'infrastructure moderne.

Jusqu'à la prochaine fois...

Josh Saul
Josh Saul

Josh Saul est le pionnier des solutions réseau open source depuis plus de 25 ans. En tant qu'architecte, il a construit des réseaux centraux pour GE, Pfizer et NBC Universal. En tant qu'ingénieur chez Cisco, Josh a conseillé des clients du secteur financier du Fortune 100 et a évangélisé les nouvelles technologies auprès des clients. Plus récemment, Josh a dirigé des équipes de marketing et de produits chez VMware (racheté par Broadcom), Cumulus Networks (racheté par Nvidia) et Apstra (racheté par Juniper). Josh vit à New York avec ses deux enfants et est un passionné de plongée sous-marine.