Second Spectrum reduce los costes de alojamiento de Kubernetes en un 90 % con AWS Load Balancer Controller y Amazon EKS

2021

Second Spectrum, una empresa que proporciona tecnología de seguimiento basada en inteligencia artificial para transmisiones deportivas, está modernizando la manera en que disfrutamos del deporte. Las emisoras y los comentaristas utilizan las herramientas de la compañía para brindar información rápida acompañada de elementos visuales útiles. Para mejorar estas herramientas y desarrollar rápidamente otras nuevas, Second Spectrum hace un uso eficiente de los recursos técnicos de Amazon Web Services (AWS).

Spectrum también comenzó a usar el equilibrador de carga de aplicación para cargas de trabajo en contenedores que inicialmente se ejecutaban en clústeres de Kubernetes autogestionados. La empresa pronto se dio cuenta de que podía ejecutar sus clústeres de Kubernetes de forma más eficiente mediante la migración a Amazon Elastic Kubernetes Service (Amazon EKS), un servicio de Kubernetes gestionado que ofrece a las empresas la flexibilidad de iniciar, ejecutar y escalar aplicaciones de Kubernetes en AWS o de forma local. Second Spectrum también vio la oportunidad de optimizar el enrutamiento de cargas de trabajo con AWS Load Balancer Controller, lo que permitió a la empresa simplificar las operaciones al compartir un equilibrador de carga de aplicación en varias aplicaciones que se implementaron en un clúster de Kubernetes gestionado por Amazon EKS. Esta solución integrada de AWS permitió a Second Spectrum reducir los costes de alojamiento de Kubernetes en un 90 % y los errores hasta en un 75 %, mejorar el tiempo de respuesta de las aplicaciones en 5 ms por solicitud, aumentar la productividad del personal y crear un medio escalable y replicable para agilizar el aprovisionamiento de cargas de trabajo en toda la empresa.

Running soccer player on grass
kr_quotemark

El registro del destino del protocolo de Internet de pod directo desde AWS Load Balancer Controller nos permitió limpiar y consolidar nuestra configuración en una entrada de Kubernetes fácil de usar». 

Sheldon Kwok
Senior Director of Infrastructure, Second Spectrum

Buscando una solución de equilibrador de carga eficiente para Kubernetes

Second Spectrum se fundó en Los Ángeles en 2013 como evolución de un grupo de investigación de la Universidad del Sur de California. Los telespectadores de partidos de la NBA, la Major League Soccer o la Premier League han visto en acción la tecnología de Second Spectrum, por ejemplo, en el uso de la visión artificial para rastrear los movimientos de los jugadores. Como startup, Second Spectrum busca experimentar rápidamente con nuevas ofertas de herramientas y llevar las más viables a la producción. Para ello, la empresa necesita un enrutamiento eficiente para poder aprovisionar ciertas partes de su arquitectura de forma replicable.

Para el despliegue de aplicaciones, Second Spectrum ha utilizado la organización en contenedores desde 2014. «Es difícil manejar Kubernetes», afirma Sheldon Kwok, senior director of infrastructure de Second Spectrum. «Al haber tantas partes móviles, entender y gestionar los componentes internos de Kubernetes nos lleva mucho tiempo».

En este entorno de contenedores, Second Spectrum utiliza el equilibrador de carga de aplicación desde su lanzamiento en 2016. El equilibrador de carga de aplicación funciona en el nivel de solicitud (capa 7) y dirige el tráfico a objetivos como contenedores o direcciones de protocolo de Internet. Sin embargo, el equipo aún debía hacer frente al desafío de la ineficiencia. «Aún quedaba un paso adicional en la red: había que enrutar a través del proxy de Kubernetes en un NodePort que podría no estar en la misma zona de disponibilidad que el servicio final», afirma Kwok. El equipo de Second Spectrum quería eliminar este paso adicional para mejorar el rendimiento.

Uso de AWS Load Balancer Controller y Amazon EKS para una administración eficiente de los recursos

Los especialistas de Second Spectrum estaban intrigados cuando AWS lanzó en 2020 AWS Load Balancer Controller, que admitía pods o pequeños grupos de contenedores de aplicaciones que se podían implementar y administrar de forma conjunta. «El registro del destino del protocolo de Internet de pod directo desde AWS Load Balancer Controller nos permitió limpiar y consolidar nuestra configuración en una entrada de Kubernetes fácil de usar», afirma Kwok.

Second Spectrum recibió más apoyo de Amazon EKS, que gestionaba el servidor de API de Kubernetes para la empresa y ofrecía una alternativa más eficaz al clúster de Kubernetes autogestionado. «El uso de Amazon EKS elimina todos los dolores de cabeza que conlleva la administración de Kubernetes», afirma Kwok. «Nos permite trabajar en más funciones relacionadas con el producto». Al mismo tiempo que mejora la productividad, el entorno gestionado simplificado de Amazon EKS también permite a la empresa ahorrar costes: «Antes gastábamos unos 1000 dólares al mes en ejecutar un clúster de Kubernetes para los servidores de API», afirma Kwok. «Amazon EKS nos cuesta alrededor de 100 dólares al mes».

AWS Load Balancer Controller y Amazon EKS permitieron a Second Spectrum supervisar los pods de Kubernetes directamente y omitir el paso adicional de revisar primero las instancias. Con esta nueva configuración, el equipo observó una mejora en el rendimiento de alrededor de 5 ms por solicitud, una ventaja pequeña pero importante cuando se trata de ofrecer visualizaciones y seguimiento casi en tiempo real para una experiencia de visualización mejorada. Este proceso automatizado por AWS también reduce en gran medida la posibilidad de que se produzcan errores humanos en la cadena de configuración. «La velocidad a la que experimentamos problemas con el equilibrio de carga y la disponibilidad debería reducirse en aproximadamente un 75 %», afirma Eric Lui, vice president of engineering operations de Second Spectrum.

El equipo de Second Spectrum estima que una configuración más sencilla ahorra al menos 2 semanas de tiempo del personal al año, ya que los especialistas están mejor equipados para trabajar por su cuenta en lugar de tener que esperar al equipo de infraestructura. Si se tiene en cuenta el uso de Amazon EKS, que elimina el tiempo dedicado a formar a los nuevos empleados en el funcionamiento de clústeres de Kubernetes autogestionados, el ahorro de tiempo previsto podría equivaler a aproximadamente a 3 meses de jornada completa al año. La empresa puede usar solo un equilibrador de carga de aplicación para todo su espacio de nombres, y AWS Load Balancer Controller puede escalar dinámicamente para gestionar la afluencia de solicitudes entrantes y detener automáticamente el enrutamiento a los servidores proxy que no funcionen.

Uso de las ofertas más recientes de AWS para maximizar el valor

El equipo de Second Spectrum considera que esta nueva configuración es un paso importante en su avance hacia un enfoque de DevOps para la ingeniería de software. «Queremos poner estas herramientas en manos de los desarrolladores para que puedan asumir la responsabilidad de su propia configuración de equilibrio de carga: implementarla, probarla y configurar las comprobaciones de estado», afirma Lui. «Esto permite que el personal sea más autónomo y productivo. En términos de impacto en la organización, es una pieza clave».

Ahora que los especialistas de Second Spectrum no dedican tanto tiempo a administrar los clústeres de Kubernetes tienen más tiempo para explorar otras oportunidades. De ahora en adelante, el equipo planea aprovechar lo que ha ahorrado en el precio en las cargas de trabajo elásticas, para lo que migrará esas cargas de trabajo a AWS Fargate, un motor de procesamiento sin servidor para contenedores que funciona junto con Amazon EKS. Además, la nueva configuración de enrutamiento es escalable y replicable, por lo que la empresa puede implementar una configuración similar en Europa.

Second Spectrum espera que las ofertas de AWS desempeñen un papel clave a medida que continúa avanzando en el análisis deportivo. «AWS está muy abierto a las solicitudes de los clientes. A menudo pedimos nuevas funciones y nuestro Technical Account Manager nos comenta que otros clientes han pedido algo similar», afirma Kwok. «Intentamos estar al día de todas las nuevas funcionalidades de AWS para aprovechar al máximo los servicios que ofrece». 

Arquitectura de referencia de Second Spectrum

Arquitectura original, que utiliza el equilibrador de carga de aplicación y Kubernetes autogestionado.

Nueva arquitectura, que ahora utiliza Amazon EKS y AWS Load Balancer Controller.


Acerca de Second Spectrum

Second Spectrum se fundó en Los Ángeles en 2013. Como proveedor oficial de seguimiento de la NBA, la Major League Soccer y la Premier League, Second Spectrum proporciona una comprensión automática avanzada de los partidos que permite obtener información rápida basada en la tecnología.

Beneficios de AWS

  • Reducción de los costes de alojamiento de Kubernetes en un 90 %
  • Espera reducir la tasa de errores en un 75 %
  • Podría ahorrar el equivalente a 3 meses a jornada completa al año en tiempo de formación en ingeniería y para nuevos empleados
  • Mejora del tiempo de respuesta de las aplicaciones en 5 ms por solicitud

Servicios de AWS utilizados

Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) ofrece la flexibilidad de iniciar, ejecutar y escalar aplicaciones Kubernetes en la nube de AWS o de forma local. Amazon EKS le ayuda a proporcionar clústeres seguros y de alta disponibilidad y a automatizar tareas clave como los parches, el aprovisionamiento de nodos y las actualizaciones. 

Más información >>

Equilibrador de carga de aplicación

El equilibrador de carga de aplicación, ideal para el equilibrio de carga avanzado de tráfico HTTP y HTTPS, proporciona un direccionamiento de solicitudes avanzado destinado a la entrega de arquitecturas de aplicaciones modernas, incluidos microservicios y aplicaciones basadas en contenedores.

Más información >>

AWS Load Balancer Controller

AWS Load Balancer Controller gestiona AWS Elastic Load Balancers para un clúster de Kubernetes. 

Más información >>

AWS Fargate

AWS Fargate es un motor informático sin servidor para contenedores que funciona tanto con Amazon Elastic Container Service (ECS) como con Amazon Elastic Kubernetes Service (EKS). Fargate elimina la necesidad de aprovisionar y administrar servidores, permite especificar y pagar recursos por aplicación y mejora la seguridad mediante el aislamiento de aplicaciones por diseño.

Más información >>

Introducción

Cada día crece el número de empresas de todos los tamaños y sectores que consiguen transformar sus negocios gracias a AWS. Contacte con nuestros expertos e inicie hoy mismo su proceso de traspaso a la nube de AWS.