Les équipes de CoreOS, la distribution Linux qui utilise les containers Docker en tant que brique fondamentale, ont mis à disposition Rudder, un outil pour gérer la mise en réseau entre et au travers de containers Docker. Jusqu'à présent, ces derniers géraient le réseau d'une façon stricte en utilisant un pont réseau sur la machine hébergée pour dialoguer avec les containers et le monde extérieur, mais pour obtenir davantage de ressources réseau avancées, cela nécessitait des modifications manuelles comme le remapping (réallocation) des ports.
Plus préoccupant, comme l'a fait savoir Al Tobey de Datastax, c'est que les containers Docker se voient affectés des adresses réseau cachées de l'extérieur du réseau de la machine hôte de Docker. « Ce n'est pas un problème pour la plupart des applications mais pour celles utilisant l'adresse réseau pour l'identification, cela en devient un parce que par défaut, Docker utilise la même gamme d'adresses sur tous les hébergeurs. Il existe des solutions de contournement, comme l'utilisation du réseau de système d'exploitation hôte, mais cela rompt la sandbox et rend indisponible quelques-unes fonctions de Docker », a indiqué Al Tobey.
Rudder taillé pour la conception d'apps cloud plus portables
Rudder essaie donc de résoudre ces problèmes au travers d'une approche de haut niveau, explique CoreOS dans un billet. Il fonctionne sous Kubernetes, le logiciel de gestion de clusters Docker conçu par Google et utilisé depuis peu par Azure, afin d'abandonner entièrement le mapping de port. Chaque pod - ou noeud du cluster - se voit ainsi assigné sa propre adresse IP, et les containers sont mis en réseau ensemble au travers de ce que CoreOS décrit comme un « réseau maillé superposé » qui provisionne un sous-réseau séparé pour chaque serveur.
Nishant Patel, directeur technique de Raw Engineering, a examiné Rudder et d'autres options SDN, bien qu'elles n'aient pas été encore déployées dans les produits en production, et Raw Engineering a fini par utiliser sa propre couche de communication pour Docker. Cependant, N. Patel estime que Rudder aidera à réaliser des applications cloud plus portables. « Donner aux clients un choix de fournisseurs cloud est de plus en plus important et de tels outils rendent ces options plus faciles à implémenter ».
Al Tobey est également d'accord sur ce point : « Si cela fonctionne comme annoncé, la véritable innovation est que cela pourra se mettre en oeuvre sur n'importe quel réseau existant sans modification à effectuer. Avoir une sorte de SDN va permettre aux utilisateurs de créer des topologies de réseau sans modifier les réseaux physiques, ce qui conduit idéalement à accélérer l'innovation. »