¿Qué es una red de servicios?

 

Una red de servicios hace referencia a la forma en que el código de software de las aplicaciones alojadas en la cloud se intercala en los diferentes niveles del servidor web en capas integradas. En lugar de funcionar en un archivo ejecutable aislado en la capa superior de la configuración de la pila de un servidor web, el código de la aplicación alojada en la cloud puede crearse con API que faciliten las llamadas a otros servicios basados en software disponibles en el ámbito del sistema operativo, el servidor web, la red o el centro de datos. Una red de servicios aumenta las posibles funciones de las aplicaciones de software ampliando los niveles de comunicaciones que interoperan entre los elementos de la infraestructura del entorno de producción.

 

Una red de servicios interconecta miles de microservicios de las máquinas virtuales de un centro de datos de cloud elástica mediante la comunicación entre canales automatizada que mantienen las aplicaciones en ejecución. La funcionalidad de comunicaciones dedicadas entre servicios es necesaria para las aplicaciones de coordinación de cloud, equilibrio de carga, detección de recursos, enrutamiento de redes definidas por software (SDN), comunicaciones de las API, sincronización de bases de datos y optimización de scripts en todos los niveles de las operaciones del centro de datos. Una red de servicios se puede utilizar para mejorar los análisis de datos y los parámetros de tráfico de una arquitectura de red de múltiples niveles entre millones de servidores multicliente en rack simultáneamente.

Red de servicios

Las redes de servicios utilizan SDN para controlar funciones esenciales como la automatización y la virtualización de red.

Más información 

Ventajas de una red de servicios

  • Mayor interoperabilidad: una red de servicios amplía la funcionalidad de las características de enrutamiento de SDN para entornos de microservicios integrados en los que se ejecuta código de aplicaciones web, móviles y de software como servicio (SaaS).
  • Detección de microservicios mejorada: una red de servicios facilita la configuración y la gestión de la red al optimizar la detección de microservicios.
  • Supervisión y análisis detallados de la actividad de red en tiempo real: una red de servicios puede acceder a los procesos de back-end y al hardware de los servidores web para efectuar una supervisión y unos análisis más detallados de la actividad de red en tiempo real.
  • Potente automatización de scripts para aplicaciones web y móviles: los desarrolladores pueden crear scripts para las funciones de la red de servicios mediante archivos YAML o utilidades como Vagrant, Jenkins, Puppet, Chef, etc. para crear potentes automatizaciones de scripts para aplicaciones web y móviles según las necesidades. Este tipo de arquitectura es necesaria para poder utilizar aplicaciones SaaS complejas en entornos de producción en las empresas. Una red de servicios permite coordinar miles o millones de contenedores que se ejecutan simultáneamente en la cloud.

 

¿Cómo funciona una red de servicios?

Una red de servicios utiliza aplicaciones de detección y enrutamiento que están instaladas en cada nodo o instancia de máquina virtual de una red elástica de servidores web para registrar los microservicios que se ejecutan en cada dirección IP. Se utiliza un registro central para la configuración, gestión y administración de todos los microservicios que se ejecutan simultáneamente en una red. Las aplicaciones que funcionan en paralelo en los distintos niveles de un servidor web, un centro de datos o una aplicación pueden hacer referencia a la red de servicios para ampliar las posibilidades de interoperar mediante el análisis de datos y la supervisión de la red. Esto permite aumentar la automatización de los centros de datos en materia de enrutamiento IP, definiciones de SDN, configuración de cortafuegos, filtros, reglas y equilibrio de carga de cloud.

 

Las conexiones de las API pueden hacer referencia a la red de servicios para obtener definiciones que les permitan detectar las aplicaciones en ejecución y las características de los microservicios para las transferencias de datos o las actividades de procesamiento que sean necesarias. Las plataformas elásticas de servidores web que se adaptan automáticamente con Kubernetes utilizan Istio como registro central y utilidad de gestión de la configuración para la detección de microservicios. Las plataformas elásticas de servidores web, como AWS EC2 y Kubernetes, utilizan la red de servicios para gestionar varias copias de las aplicaciones de cloud en tiempos de ejecución simultáneos a la vez que sincronizan los cambios con la base de datos maestra y la información de almacenamiento. Una red de servicios permite a la capa de aplicaciones comunicarse mediante unas API con los recursos de servidor web, de Internet y de la red del centro de datos, o viceversa, en función de los requisitos del microservicio o la base de código.

 

Arquitectura de la red de servicios

Una red de servicios se basa en una capa de desvinculación que está instalada en las máquinas virtuales o los contenedores de un centro de datos de cloud. En cada nodo o máquina virtual se instala el código que se comunica con una instancia de software de administración central que coordina el centro de datos. Las soluciones de red de servicios, como VMware NSX e Istio, utilizan Envoy para crear el plano de datos en el nivel de nodo. Envoy gestiona la información relacionada con los microservicios que se están ejecutando, las direcciones IP con licencia, el cifrado de HTTPS, los formatos de las bases de datos activas, etc. de cada nodo o máquina virtual. En el caso de NSX, esto incluye la integración del cortafuegos distribuido en el nivel del hipervisor. En las redes elásticas de cloud, la información del plano de datos de cada nodo o máquina virtual se utiliza para el equilibrio de carga. Las conexiones de las API utilizan la arquitectura de la red de servicios para satisfacer los requisitos de enrutamiento entre las aplicaciones. La telemetría en la capa 7 de la red de servicios incluye DNS, HTTP/S, SMTP, POP3, FTP, etc.

 

Implementación de la red de servicios

La implementación de la red de servicios incluye el equilibrio de carga y la detección de servicios en los recursos de API, SDN, dirección IP y microservicio de una aplicación web o móvil. La red de servicios gestiona las comunicaciones, la sincronización y el cifrado de las conexiones en el back-end del servidor web en los distintos dispositivos de hardware de una arquitectura elástica de servidores web. En las aplicaciones de cloud, los archivos estáticos de las páginas web, el script y la base de datos suelen estar separados en distintos equipos de hardware, y se combinan para generar la página final que se envía al navegador web. El enrutamiento de SDN entre el hardware, los scripts, la base de datos y los archivos se complica aún más cuando intervienen API de terceros en el código. Cuando es necesario combinar todos estos elementos procedentes de distintos recursos para cargar cada página, la red de servicios integra, sincroniza y estandariza la operación en todas las máquinas virtuales de los marcos elásticos de servidores web. La red de servicios se creó para satisfacer una necesidad que no aborda ningún otro software en el centro de datos. También incluye análisis de datos y parámetros de usuario de las conexiones de tráfico de sitios web.

 

Red de servicios de código abierto

Istio actualmente es el proyecto más avanzado de red de servicios de código abierto, y utiliza Envoy para las principales funciones relacionadas con la gestión del plano de datos en los nodos. Istio se desarrolló originalmente formando parte de Cloud Native Computing Foundation (CNCF) y funciona en VMware NSX Service Mesh y en las plataformas de Enterprise PKS. PKS es la distribución de Kubernetes de VMware que coordina servidores web de cloud mediante contenedores. PKS está disponible en un paquete autoalojado para satisfacer requisitos de cloud privada y pública o como producto de contenedores como servicio (CaaS) completamente gestionado. Istio se utiliza para las comunicaciones de los microservicios en Kubernetes con funciones complejas de enrutamiento de direcciones IP y cifrado para sistemas elásticos de coordinación de servidores web en centros de datos empresariales según las necesidades. Linkerd, Conduit, Aspen y Consul son otros proyectos importantes de código abierto que se están desarrollando como componentes de los marcos de la red de servicios.

 

Red de servicios elástica

Se necesita una red de servicios elástica para sincronizar los archivos de bases de datos y sitios web de un marco de alojamiento en la cloud, como AWS EC2 o Kubernetes. La red de servicios controla el enrutamiento entre las máquinas virtuales del back-end del servidor web para satisfacer los requisitos de SDN y de las API que presentan las aplicaciones de software. Cuando la red de servicios también se utiliza para la detección y el equilibrio de carga en redes elásticas de servidores web, los administradores pueden automatizar la asignación de recursos del centro de datos de manera que coincidan con los requisitos de tráfico de los usuarios en entornos de producción. Es posible configurar los servidores web para que se inicien o se cierren automáticamente cuando ya no sean necesarios con objeto de utilizar de forma más eficiente los recursos de hardware de cloud. La posibilidad de integrar funciones de análisis y supervisión en tiempo real en una red de servicios en el nivel de máquina virtual o de nodo ofrece a los desarrolladores de software, los programadores y los generadores de contenido web la posibilidad de crear características nuevas para las aplicaciones mediante microservicios.

 

¿Por qué es necesaria una red de servicios para la arquitectura de microservicios?

Una cloud pública puede contener millones de microservicios que se ejecutan simultáneamente en contenedores o máquinas virtuales que permiten utilizar distintas aplicaciones y bases de datos en paralelo a través de archivos ejecutables aislados. Los entornos multicliente que se basan en la virtualización requieren un método mejor para detectar y registrar los microservicios que permita integrar la funcionalidad única de cada uno en las aplicaciones o compartirla con otros dispositivos utilizando distintas API. Muchos formatos de microservicios no se han diseñado específicamente para las plataformas elásticas de servidores web y necesitan una red de servicios para gestionar el funcionamiento en contenedores. Una red de servicios proporciona la funcionalidad detallada de enrutamiento y cifrado por SDN que permite que las distintas API se comuniquen entre los procesos del código que se ejecutan en servidores web, terminales y otros dispositivos.

Productos, soluciones y recursos de VMware relacionados con la red de servicios

NSX Data Center

VMware NSX® Data Center proporciona virtualización de red y seguridad íntegramente mediante software.

VMware NSX Service Mesh

VMware NSX Service Mesh permite obtener visibilidad y control homogéneos de los servicios, los datos y los usuarios.

VMware Enterprise PKS

VMware Enterprise PKS permite implementar, ejecutar y gestionar Kubernetes en entornos de producción.