La problemática del DC
En los últimos tiempos se han estado produciendo grandes cambios en los entornos de Tecnologías de la Información y Comunicaciones, en particular con la aparición de las nuevas tecnologías y metodologías de trabajo cuyo principal objetivo es solventar unas necesidades de negocio cada vez más exigentes para cualquier empresa que requiera de la tecnología para cubrir sus servicios.
La llegada de los nuevos paradigmas de despliegue continuo de aplicaciones en entornos de contenedores y los nuevos entornos Cloud pusieron de manifiesto que los centros de datos tradicionales tienen ciertos problemas a la hora de gestionar y escalar debido al ritmo de cambios que los desarrolladores introducen en los entornos de producción. En concreto, la red del data center es una de las que más problemas sufre, ya que no son capaces de adaptarse al funcionamiento de los nuevos entornos ni en dinamismo ni en consistencia.
Todos estos problemas no se producen exclusivamente en entornos de contenedores sino también en el despliegue de cargas tradicionales mediante procedimientos automatizados introducidos en el mundo de los sistemas en los últimos años, a través de herramientas de automatización como Ansible, Puppet, Terraform, o Cloudforms, constatando así estos problemas.
La red del data center es una de las que más problemas sufre, ya que no son capaces de adaptarse al funcionamiento de los nuevos entornos ni en dinamismo ni en consistencia
También es necesario mencionar aquí la orquestación de contenedores, que permite a los equipos DevOps montarse su “chiringuito”, desplegando una red de overlay invisible para los ingenieros de red, por lo que estos perdían el conocimiento de lo que estaba pasando por su red, generando problemas tanto a nivel de visibilidad como de troubleshooting. Todo esto, junto con el problema de la seguridad dentro de una red de overlay no gestionada, ha provocado que la mayoría de empresas fueran reticentes a montar este tipo de soluciones o que los ingenieros de data center tuvieran que salir de su ámbito de conocimiento para poder aplicar las medidas de seguridad que cualquier entorno requiere.
SDN en el data center
Las redes SDN nos permiten separar el plano de control del plano de datos, consiguiendo que este último esté distribuido en el equipamiento de red y posibilitando así la gestión de las infraestructuras de telecomunicaciones desde un solo punto. Esto contribuye a la resolución de algunos de los problemas de las redes tradicionales, como son la gestión, el disponer de una visión global, los costes de mantenimiento o los tiempos de actualización.
La separación entre el plano de control y el de datos, y la existencia de API completas en gran parte de los nuevos entornos de TI, permiten que las redes SDN sean capaces de integrarse con soluciones tradicionales de virtualización, permitiendo conocer desde el punto de control de la SDN datos que antes era necesario buscar y correlar de forma manual. Esto ha permitido mejorar el troubleshooting, consiguiendo contestar a preguntas básicas que se realizaban cada vez que había que diagnosticar algún problema o realizar un informe del estado real del entorno, ya que afortunadamente las redes SDN poseen en su plano de control toda esta información.
Si la problemática mencionada la trasladamos a un entorno de orquestación de contenedores como Kubernetes, Openshift o Docker Swarm, el troubleshooting a nivel de equipamiento de red sería prácticamente imposible ya que los paquetes de la red overlay son trasparentes en el equipamiento de red. Todo esto unido a que el ciclo de vida de un contenedor puede ser muy corto hace que el troubleshooting sea una auténtica odisea.
Afortunadamente las redes SDN permiten integrarse con estas nuevas infraestructuras de despliegue y orquestación de contenedores, permitiendo la visibilidad de lo que realmente se produce en las comunicaciones internas del clúster, facilitando la ayuda al diagnóstico de problemas en general y la reducción de la carga del encapsulado de networking a nivel de red en los propios host de procesamiento, provocando un aumento de los recursos disponibles en los hosts para las cargas de trabajo.
Otra de las ventajas más representativas de la integración de las redes SDN con las infraestructuras de contenedores es la capacidad de configuración dinámica que tienen los diferentes componentes del clúster de contenedores para gestionar la conectividad de cada contenedor a nivel de SDN. Esto concede la posibilidad de aplicar un conjunto de reglas previamente definidas por el equipo de data center a cada contenedor que se despliega, dotando de un nivel de auto-gestión importante a la solución además de aplicar funciones de segmentación dentro de una misma red. Adicionalmente, en el caso de un orquestador de contenedores como Kubernetes u Openshift, es posible explotar aún más las funcionalidades de la red SDN, pudiendo crear balanceadores de capa 4 para exponer los servicios al exterior, permitiendo así escalar la plataforma de forma horizontal sin balanceadores externos y reduciendo el tráfico de tromboning producido dentro de la red de overlay.
Adicionalmente las redes SDN han nacido ya preparadas para ofrecer los servicios del CPD de una forma completamente redundada, ofreciendo mecanismos nativos de DCI (Datacenter Interconnect) que permiten extender nuestros data center entre sites geográficamente dispersos sin los inconvenientes presentes y por todos sufridos de las redes tradicionales.
La llegada de los servicios Cloud también ha provocado que las redes de centro de datos tengan que adaptarse ya que es necesario compartir cargas entre el data center tradicional y los entornos de nube pública. Gracias a las redes SDN, podemos integrarnos con diferentes proveedores de cloud de forma simultánea, formando un CPD híbrido que nos permite extender nuestras soluciones de virtualización y contenedores hacia la cloud.
Estas integraciones nos permiten abstraernos de la implementación propia realizada por los proveedores de cloud, ofreciéndonos un entorno de prestación de servicios homogéneo en el que nuestras cargas de trabajo tienen el mismo tratamiento independientemente de que se ejecuten en nuestros data center on premise o en un proveedor de servicios Cloud. Esta agilidad a la hora de implementar estas políticas nos ofrece la posibilidad de mover nuestras cargas de trabajo con total dinamismo aprovechando en cada momento la solución que mejor se adapte a nuestros requisitos ya sea por motivos estratégicos (negocio) y/o tácticos (tecnológicos).
Y no sólo es la red del centro de datos la que ha tenido que adaptarse a los nuevos paradigmas, sino también la infraestructura de seguridad, que se ha convertido en la preocupación que más ha crecido en las empresas en los últimos tiempos tanto a nivel general como a nivel particular en los entornos de contenedores. Las capacidades de las redes SDN amplían enormemente las posibilidades de segmentación y securización de las redes tradicionales, permitiendo gestionar la comunicación a través de reglas y políticas específicas por entidad sea cual sea su direccionamiento asociado. Esto ha permitido que a elementos que tradicionalmente tendrían conectividad a nivel 2 se les pueda aplicar funcionalidades de segmentación y microsegmentación para añadir seguridad a los entornos sin necesidad de subdividir la red a base de routing y máscaras de red más pequeñas.
Las capacidades de las redes SDN amplían enormemente las posibilidades de segmentación y securización de las redes tradicionales
Además, cabe destacar que independientemente del entorno en el que nos encontremos, ya sea equipamiento físico, máquinas virtuales o contenedores, para la red SDN todos se consideran el mismo tipo de entidad, lo que nos permite que todo lo mencionado anteriormente se puede aplicar a cualquier tipo de entorno.
Por último, mencionar que las redes SDN no se quedan simplemente a nivel de routing y switching tradicional si no que permiten implementar funcionalidades que antes estaban por encima de estos, como son los servicios de firewall en la capa de transporte, permitiendo no solo aislar totalmente a nivel de red los diferentes equipos, si no también aplicar un aislamiento parcial permitiendo o no el paso de comunicaciones en función de nuestras necesidades.
¿Es la red SDN la solución?
En la actualidad las capacidades de las redes SDN han mejorado en gran medida la vida de los ingenieros, permitiendo a los administradores de red involucrarse en los despliegues tanto a nivel de virtualización como a nivel de contenedores. Esto hace que se puedan involucrar en todo el flujo de trabajo y que tengan visibilidad completa de lo que ocurre en la red, permitiendo que cada administrador tenga bien definido su rol y aplique su especialización donde realmente es necesario.
El crecimiento tanto de los entornos de virtualización como de los entornos de contenedores, así como el auge de los servicios en la nube, provocará un aumento sustancial en el número de organizaciones que implementarán SDN, ya que ésta ayuda a llevar un control centralizado y a escalar. La administración de la infraestructura de red a través del plano de control permite a los administradores tener un mayor grado de control del que tendrían de una red tradicional heredada.
Sin embargo, las redes SDN aún están en crecimiento y aún tienen un largo camino por recorrer. Como sabemos, esta tecnología tiene un potencial de desarrollo muy alto, ya que las organizaciones siempre están buscando formas de disminuir la complejidad de la administración de la red y reducir los costes generales, y la capacidad de la red SDN en este sentido es muy prometedora. Aunque sus ventajas son claras, existen determinadas resistencias al cambio sobre todo la alta curva de aprendizaje y los cambios organizativos tan profundos que introduce, por lo que es necesario que las redes SDN sigan evolucionando para que la adopción de las mismas sea generalizada.
Indudablemente, el futuro de los servicios en el CPD pasa por la adopción de una filosofía de automatización de servicios apoyados en este tipo de redes SDN integradas con el resto de tecnologías propias del data center.