El ecosistema de malla de servicios empresariales toma forma

0
76

La malla de servicios está llegando a la madurez en el 2019, y todos los principales proveedores de nube ofrecen un medio para que los desarrolladores, independientemente de dónde residan, unifiquen la gestión del flujo de tráfico y accedan a la aplicación de políticas a través de sus microservicios.

Como pronosticamos a fines del año pasado, la malla de servicios se convertirá en una tecnología cada vez más importante para las compañías que buscan aprovechar la computación en la nube y, más específicamente, para contenedores y Kubernetes.

Sin embargo, en un área tan incipiente de la tecnología, las cosas están sujetas a cambios rápidos. Owen Garrett, director senior de administración de productos en NGINX, un proveedor de servidores web, les advierte a las empresas sobre involucrarse demasiado pronto.

«El tiempo determinará cómo se desarrollará, ya que hay un montón de espacio para la innovación”, afirmó Garrett. «Tal vez se comercializará rápidamente y se convertirá en una función predeterminada y omnipresente de todas las principales plataformas de runtime de contenedores. Tal vez surjan nuevos enfoques, más eficientes que el patrón de ‘sidecar proxy‘ en desarrollo, que ofrezcan un mejor desempeño y un menor uso de recursos. En esta etapa, no hay certeza sobre cómo se estabilizará la tecnología y quiénes serán los proveedores líderes”.

Actualmente, estas son algunas de las opciones líderes en el mercado, desde el código abierto y gratuito hasta más soluciones listas para uso empresarial.

Google Istio
Google causó un gran revuelo el verano pasado cuando anunció que estaba utilizando internamente una malla de servicios de código abierto llamada Istio.

Urs Holzle, vicepresidente senior de infraestructura técnica en Google Cloud, afirmó desde el escenario durante el evento Google Cloud Next, que Istio se desarrolló y lanzó para hacer frente a uno de los costos de mayor crecimiento en la empresa: la complejidad de la administración en ambientes híbridos.

«Istio es otro proyecto de código abierto, desarrollado por Google, que extiende a Kubernetes a estos servicios de nivel superior”, afirmó. «Para que pueda descubrir, conectar y monitorear servicios de manera integral en múltiples ubicaciones en un solo lugar”, sin tener que cambiar el código.

La herramienta se puede implementar en Kubernetes y Nomad con Consul, y se tienen planes para soportar plataformas como Cloud Foundry y Apache Mesos en un futuro próximo. Clientes empresariales como Auto Trader ya lo están utilizando en producción.

También vale la pena señalar que Istio se empareja perfectamente con Envoy -un servicio de proxy integrado en la empresa Lyft, como el plano de control del plano de datos de Envoy.

AWS App Mesh
Amazon Web Services (AWS), líder en el mercado de infraestructura en la nube como servicio, lanzó una versión preliminar pública de su propia malla de servicios en noviembre del año pasado. Llamada App Mesh, la aplicación tiene como objetivo permitir a los desarrolladores monitorear y controlar las comunicaciones a través de microservicios.

«Uno utiliza App Mesh para modelar cómo se conectan todos sus microservicios, y App Mesh calcula y envía automáticamente la información de configuración adecuada a cada proxy de microservicio. Esto le brinda visibilidad, así como controles de tráfico estandarizados y fáciles de usar en toda su aplicación”, escribió Nathan Taber, gerente senior de productos de EKS y Container OSS en AWS, en una entrada de blog.

App Mesh está disponible con Amazon ECS, Amazon EKS y Kubernetes en EC2. También utiliza el proxy de código abierto Envoy, lo que lo hace interoperable por naturaleza.

Microsoft SMI
Lanzado durante KubeCon en mayo del 2019, Microsoft fue un poco más lento en el mercado que Google y AWS cuando se trata de la malla de servicios. Su solución, llamada Service Mesh Interface (SMI), es un proyecto abierto desarrollado en colaboración con Linkerd, HashiCorp, Solo.io, Kinvolk y Weaveworks; con soporte de Aspen Mesh, Canonical, Docker, Pivotal, Rancher, Red Hat y VMware.

Promete un conjunto de APIs comunes y portátiles para lograr una interoperabilidad simple en diferentes mallas de servicios, incluido Istio.

La diferencia es sutil pero importante. En una entrada de blog, Gabe Monroy, gerente del programa principal de contenedores de Microsoft escribe: «Vemos una proliferación de tecnologías de malla de servicios con muchos proveedores que ofrecen nuevas y emocionantes opciones para los desarrolladores de aplicaciones. El problema es que los desarrolladores que recurren a las tecnologías de malla, deben elegir un proveedor y escribir directamente en esas APIs. Se bloquean en una implementación de malla de servicio. Sin interfaces genéricas, los desarrolladores pierden la portabilidad y la flexibilidad, y se limita la capacidad de beneficiarse de la innovación en todo el extenso ecosistema”.

Lo que SMI propone en su lugar es «una interfaz estándar para mallas en Kubernetes”, que ofrece un conjunto de funciones básicas y comunes, así como la flexibilidad para diferentes servicios de malla.

Monroy continúa en su blog para hablar sobre lo que los clientes empresariales le están expresando al proveedor sobré qué quieren en una malla de servicios, algo que puede resumirse en políticas de tráfico, telemetría y capacidades de administración.

SMI se puede usar directamente a través de un conjunto de APIs o los clientes pueden crear operadores para traducir SMI a APIs nativas.

Tetrate
Otro proveedor en el espacio de las mallas de servicios es Tetrate. Formada por algunos de los ingenieros clave del proyecto Istio de Google, esta empresa tiene su sede en San Francisco y se encuentra desarrollando una malla de servicios independiente y lista para su uso empresarial.

La idea es facilitar la complejidad administrativa de los equipos que tienen que operar muchos microservicios en ambientes híbridos o complejos a gran escala.

Tetrate se compromete esencialmente a combinar las opciones de código abierto de Istio y Envoy con funciones de nivel empresarial, lo que permite a las empresas ejecutar tanto el plano de datos como el de control en ambientes empresariales complejos sin ninguno de los problemas iniciales asociados con la tecnología de código abierto. Para Tetrate, esto significa «extensibilidad, escalabilidad y desempeño de nivel empresarial”.

El equipo fundador incluye a Varun Talwar, un exingeniero de Google que ayudó a construir Istio -la propia solución de malla de servicios de código abierto de la compañía-, y el exingeniero de la nube de Twitter, Jeyappragash Jeyakeerthi.

«Estamos tratando de simplificar, a algo pequeño y digerible, la complejidad de las configuraciones alrededor de Istio”, comentó el CEO de Tetrate, Varun Talwar, a Computerworld. «Es por esto por lo que todos los equipos obtienen una experiencia de UX donde pueden comenzar a programar el comportamiento del tráfico y la seguridad que desean, además de tener interacciones limpias entre ellos, su red central y los equipos de seguridad”.

Otras opciones
Otras soluciones de malla de servicios como Linkerd y Consul Connect de HashiCorp ya han demostrado ser bastante populares entre los desarrolladores.

Scott Carey, Computerworlduk.com