Un elemento esencial de cualquier infraestructura cloud es la red en que se basa: al fin y al cabo una cloud es en esencia un conjunto de componentes virtualizados que se acceden a través de una red. Y la virtualización de red es el paso natural que es necesario tomar para avanzar en la disponibilidad de un servicio de TI realmente virtualizado. Por eso hoy voy a hablaros del uso de SDN (Software Defined Networking).
Desde hace tiempo se han tomado iniciativas para crear modelos abstractos de los componentes de red (routers, firewalls, balanceadores…). La estrategia era disponer de un interfaz común, de manera que las aplicaciones podían interactuar con la red usando estas abstracciones. El problema de esta aproximación es que continúa usando el modelo de red que ha estado en uso desde la primera conexión entre dos ordenadores: la red es un conjunto de elementos independientes, asociados por medio de conexiones entre ellos, conmutando datos de acuerdo con su estado interno. No hay manera de tratar de la red como un todo, sino que los usuarios deben saber de los elementos individuales, sus conexiones y sus estados particulares. Cualquier interacción siguiendo ese nivel de abstracción requiere un conocimiento (en muchas ocasiones detallado) de la estructura interna de la red. Un pobre mecanismo de abstracción, se diría…
En los últimos años un nuevo paradigma de gestión de la red ha aparecido, basado en desacoplar totalmente las funciones que deciden cómo conmutar los datos (el plano de control) de las que realizan la conmutación propiamente dicha (el plano de datos). El elemento del plano de control (el controlador: no se trata de buscar un nombre complicado) y los elementos del plano de datos (los conmutadores: de nuevo el nombre se corresponde con la función) son normalmente elementos separados, incluso físicamente, y se comunican por medio de un protocolo estándar. De esta manera, el controlador central permite que toda la red sea vista como un solo elemento, dado que él define el comportamiento de la red como un todo. Lo que es más, el protocolo común se comporta como el conjunto de instrucciones de un microprocesador, de manera que es posible aplicar las técnicas y herramientas de desarrollo software al diseño y desarrollo de la red, de ahí el nombre de SDN (Software Defined Networking) que reciben estas tecnologías.
Usando SDN, la red puede emplearse como otro recurso de la cloud e integrarla en una oferta general de servicios que se utilizan de manera flexible de acuerdo con las necesidades de los usuarios en cada momento, acercándonos así al modelo de red plástica centrada en el usuario al que aspiramos.