Software Defined Networks : en avez-vous réellement besoin ?

Le SDN est une étape importante vers une plus grande agilité des datacenters et une meilleure réactivité des entreprises. Toutefois, si les réseaux définis par logiciel (SDN — Software Defined Networks) commencent à se faire une place, il est également possible qu’ils deviennent une solution en quête de problème.

De nombreux éditeurs de logiciels ont élaboré une stratégie SDN. Mais pour nos clients malheureusement, il semblerait que ces stratégies manquent de cohérence. Par conséquent, envisager le déploiement d’un SDN en commençant par le business case peut permettre de savoir s’il est judicieux ou non d’investir aujourd’hui, en tant que pionnier.
Le SDN concerne la programmabilité du réseau. Mais en avez-vous vraiment besoin ? Ajouter de la programmabilité à un réseau est la première étape pour quitter la connectivité statique afin d’être capable de réagir rapidement à des demandes. Mais au fait, d’où vient cette nécessité ? L’industrie des télécommunications nous apporte un élément de réponse.
Comment est-on passé du standard téléphonique — « bonjour, je vous mets en relation avec votre correspondant » — à la téléphonie cellulaire que nous utilisons aujourd’hui ? La technologie actuelle nous permet de poursuivre une conversation, même en mouvement, à pied, à cheval ou en voiture (en l’occurrence en mode mains-libres, cela va de soi !). Ceci est dû au fait que le service proprement dit, c’est-à-dire l’appel téléphonique, n’est pas tributaire des différents éléments physiques qu’il traverse.

Dans le domaine des télécommunications cellulaires, il existe un processus appelé « transfert intercellulaire » (handoff) qui se produit lorsque votre téléphone s’éloigne de la zone couverte par une antenne pour entrer dans la zone gérée par un autre relais. Avec le transfert intercellulaire, l’appel est transféré à l’antenne cellulaire suivante pour éviter que la conversation soit coupée lorsque le téléphone sort du rayon d’action de la première antenne-relais.
Il serait très intéressant de réaliser un tel exploit dans les datacenters, mais si nous l’avons accompli par le passé, ce n’a pas été sans difficulté. Un réseau rigide ralentit la capacité des entreprises à faire face à une augmentation de la demande ou à déployer un nouveau service.
 
Ce type de transfert convient parfaitement aux services cellulaires en raison de leur nature proprement dite. Une fois qu’un appel est établi, ses propriétés ne changent plus, quelle que soit sa durée : les données vocales sont échangées de façon bidirectionnelle jusqu’à la fin de l’appel, et les cellules se succèdent les unes aux autres tant que la conversation n’est pas interrompue. L’antenne-relais qui prend l’appel en charge n’a besoin d’autres informations que l’origine et la destination des données vocales.
Or, les applications et les services qui circulent dans les datacenters changent d’état et font l’objet de sollicitations variables tout au long des interactions. Par exemple, une application HTTP fournit différents types d’informations aux utilisateurs, même dans le cas d’une simple page Web : on en compte au moins deux — graphiques et textes —, auxquelles viennent s’ajouter de plus en plus souvent des contenus multimédias (HTML5, par exemple) et les technologies de script dynamiques qui doivent suivre l’état et l’interaction en permanence.
Compte tenu de la complexité inhérente aux applications, le processus de « transfert cellulaire » s’avère encore plus complexe.
Le but des SDN est de permettre à la « tuyauterie » sous-jacente du réseau de recevoir des instructions et de demander des changements. Il est toutefois important que ces instructions prennent en compte la complexité des applications et des services sur lesquels elles reposent. Et le simple fait de mettre en place une solution basique similaire à un « transfert cellulaire » serait probablement catastrophique pour la plupart des services pris en charge par les datacenters.

Posez-vous les bonnes questions

Si la programmabilité des réseaux SDN vous intrigue, étudiez les points suivants :

1) Support applicatif

Est-ce que toutes mes applications, tous mes services, supporteront un tel changement ?
De nombreuses entreprises utilisent des applications et des services « historiques » qui ne sont guère adaptés au changement et ont parfois été développés en partant du principe que le réseau serait éternellement statique et cohérent. Une telle situation pourrait à elle seule empêcher la mise en œuvre d’un plan SDN.

2) Agilité de l’entreprise

Nous sommes tous friands de beaux gadgets flambant neufs, mais demandez-vous d’abord si un SDN est vraiment indispensable. Dans bon nombre d’entreprises, le datacenter ne fait pas l’objet de cycles fréquents de déploiements ou de mises à niveau. Si ses activités sont relativement statiques, l’adoption rapide de la programmabilité du réseau n’est pas forcément une priorité absolue pour votre datacenter.

3) Compétences internes

Disposez-vous en interne des compétences indispensables pour gérer une telle technologie ? La mise en œuvre d’un SDN s’accompagne de nouveaux concepts tels que les contrôleurs SDN. Bien que le fonctionnement de votre réseau puisse gagner en simplicité avec l’arrivée à maturité des contrôleurs SDN, demandez-vous si le changement significatif justifie des gains futurs. Peut-être, mais pas avant d’avoir évalué les points 1) et 2).
Le SDN est une étape importante vers une plus grande agilité des datacenters et une meilleure réactivité des entreprises. Cependant, c’est à condition d’être adopté pour les bonnes raisons et d’être couplé à l’intelligence des propriétés et du comportement des applications que son impact sera vraiment effectif.