Second Spectrum réduit ses coûts d'hébergement Kubernetes de 90 % grâce à AWS Load Balancer Controller et Amazon EKS
2021
Second Spectrum, un société qui fournit une technologie de suivi axée sur l'intelligence artificielle aux diffuseurs d'évènements sportifs, modernise l'engagement des utilisateurs vis-à-vis du sport. Les diffuseurs et les commentateurs utilisent les outils de l'entreprise pour fournir des informations rapides accompagnées de visuels utiles. Pour améliorer ces outils et en développer rapidement de nouveaux, Second Spectrum s'appuie sur l'utilisation efficace des ressources d'ingénierie d'Amazon Web Services (AWS).
Second Spectrum a commencé à utiliser Application Load Balancer pour les charges de travail conteneurisées qu'elle exécutait initialement sur des clusters Kubernetes autogérés. L'entreprise a rapidement compris qu'elle pouvait gérer ses clusters Kubernetes de manière plus efficace en migrant vers Amazon Elastic Kubernetes Service (Amazon EKS), un service Kubernetes géré qui offre aux entreprises la flexibilité nécessaire pour démarrer, exécuter et mettre à l’échelle des applications Kubernetes sur AWS ou sur site. Second Spectrum a également vu l'opportunité de rationaliser le routage de la charge de travail à l'aide d'AWS Load Balancer Controller, ce qui permettrait à l'entreprise de simplifier les opérations en partageant un Application Load Balancer entre plusieurs applications déployées dans un cluster Kubernetes géré par Amazon EKS. Cette solution AWS intégrée a permis à Second Spectrum de réduire les coûts d'hébergement Kubernetes de 90 %, de réduire les erreurs jusqu'à 75 %, d'améliorer le temps de réponse des applications de 5 ms par requête, d'augmenter la productivité du personnel et de créer un moyen évolutif et reproductible de rationaliser le provisionnement des charges de travail au sein de l'entreprise.
L'enregistrement de la cible IP Direct-Pod depuis AWS Load Balancer Controller nous a permis de nettoyer et de consolider notre configuration dans une entrée Kubernetes simple à utiliser. »
Sheldon Kwok
Directeur principal de l'infrastructure, Second Spectrum
À la recherche d'une solution d'équilibrage de charge efficace pour Kubernetes
Issue d'un groupe de recherche de l'université de Californie du Sud, Second Spectrum a été fondée à Los Angeles en 2013. Les spectateurs des matchs de la National Basketball Association, de la Major League Soccer ou de la Premier League ont vu la technologie Second Spectrum en action, par exemple lors de l'utilisation de la vision par ordinateur pour suivre les mouvements des joueurs. En tant que start-up, Second Spectrum cherche à expérimenter rapidement de nouvelles offres d'outils et à lancer les plus viables en production. Pour ce faire, l'entreprise a besoin d'un routage efficace afin de pouvoir fournir certaines parties de son architecture d'une manière reproductible.
Pour le déploiement d'applications, Second Spectrum utilise la conteneurisation depuis 2014. « Kubernetes est un monstre à maîtriser », confie Sheldon Kwok, directeur principal de l'infrastructure chez Second Spectrum. « En raison de la multitude de parties mobiles, comprendre et gérer les composants internes de Kubernetes en interne prend énormément de temps.
« Dans cet environnement conteneurisé, Second Spectrum s'appuie sur Application Load Balancer depuis sa sortie en 2016. Application Load Balancer fonctionne au niveau de la requête (couche 7) et achemine le trafic vers des cibles telles que des conteneurs ou des adresses IP. Cependant, l'équipe était toujours confrontée à un problème d'inefficacité. « Il y avait une étape réseau supplémentaire : vous deviez passer par le proxy Kubernetes sur un NodePort qui ne se trouverait pas nécessairement dans la même zone de disponibilité que votre service final », explique Kwok. L'équipe de Second Spectrum souhaitait supprimer cette étape supplémentaire pour améliorer les performances.
Utilisation d'AWS Load Balancer Controller et d'Amazon EKS pour une utilisation efficace des ressources
Les ingénieurs de Second Spectrum ont été intrigués lorsqu'AWS a lancé AWS Load Balancer Controller en 2020, qui prenait en charge les pods, des petits groupes de conteneurs d'applications pouvant être déployés et gérés de concert. « L'enregistrement de la cible IP Direct-Pod depuis AWS Load Balancer Controller nous a permis de nettoyer et de consolider notre configuration dans une entrée Kubernetes simple à utiliser », explique Kwok.
Second Spectrum a reçu une assistance supplémentaire de la part d'Amazon EKS, qui gérait le serveur d'API Kubernetes pour l'entreprise et constituait une alternative plus efficace au cluster Kubernetes autogéré. « L'utilisation d'Amazon EKS élimine tous les maux de tête liés à la gestion de Kubernetes », déclare Kwok. « Cela nous permet de travailler sur davantage de fonctionnalités liées au produit. » Tout en améliorant la productivité, l'environnement géré rationalisé d'Amazon EKS permet également à l'entreprise de réaliser des économies : « auparavant, nous dépensions environ 1 000 USD par mois juste pour exécuter un cluster Kubernetes pour les serveurs API », raconte Kwok. « Amazon EKS nous coûte environ 100 USD par mois. »
AWS Load Balancer Controller et Amazon EKS ont permis à Second Spectrum de surveiller directement les pods Kubernetes et d'éviter l'étape supplémentaire consistant à passer en revue les instances. Grâce à cette nouvelle configuration, l'équipe a constaté une amélioration des performances d'environ 5 ms par requête, ce qui représente un avantage modeste mais important lorsqu'il s'agit de fournir un suivi et des visualisations en temps quasi réel pour une expérience de visionnage améliorée. Ce processus automatisé par AWS réduit également considérablement le risque d'erreur humaine dans la chaîne de configuration. « Le taux auquel nous rencontrons des problèmes d'équilibrage de charge et de disponibilité devrait diminuer d'environ 75 % », annonce Eric Lui, vice-président des opérations d'ingénierie chez Second Spectrum.
L'équipe de Second Spectrum estime que la configuration plus simple permet au personnel de gagner au moins deux semaines par an, car les ingénieurs sont mieux équipés pour utiliser le libre-service plutôt que d'attendre l'équipe chargée de l'infrastructure. Si l'on tient compte de l'utilisation d'Amazon EKS, qui élimine le temps passé à former les nouveaux employés à l'exploitation de clusters Kubernetes autogérés, le gain de temps escompté s'élève à environ 3 mois en équivalent temps plein par an. L'entreprise ne peut utiliser qu'un seul Application Load Balancer pour l'ensemble de son espace de noms, et AWS Load Balancer Controller peut se mettre à l'échelle de manière dynamique pour gérer un afflux de requêtes entrantes et arrêter automatiquement le routage vers les serveurs proxy en cas de panne.
Utilisation des dernières offres AWS pour optimiser la valeur
L'équipe de Second Spectrum considère cette nouvelle configuration comme une étape importante dans son évolution vers une approche DevOps en matière de génie logiciel. « Nous cherchons à mettre ces outils à la disposition des développeurs afin qu'ils puissent prendre en charge leur propre configuration d'équilibrage de charge : le déploiement, les tests et la configuration de la surveillance de l'état », explique Lui. « Cela permet aux gens d'être plus autonomes et plus productifs. En termes d'impact sur l'organisation, c'est un élément clé. »
Maintenant que les ingénieurs de Second Spectrum ne passent plus autant de temps à gérer les clusters Kubernetes, ils ont plus de temps pour explorer d'autres opportunités. À l'avenir, l'équipe prévoit de tirer parti des économies réalisées sur les charges de travail élastiques en migrant celles-ci vers AWS Fargate, un moteur de calcul sans serveur pour les conteneurs qui fonctionne avec Amazon EKS. De plus, la nouvelle configuration de routage est évolutive et reproductible, de sorte que l'entreprise peut mettre en place une configuration similaire en Europe.
Alors que Second Spectrum continue de faire progresser l'analyse sportive, l'entreprise s'attend à ce que les offres AWS jouent un rôle clé. « AWS est très ouverte aux demandes des clients. Nous demandons souvent de nouvelles fonctionnalités, et notre gestionnaire de compte technique a indiqué que d'autres clients avaient demandé quelque chose de similaire », détaille Kwok. « Nous essayons de rester au courant de toutes les nouvelles fonctionnalités proposées par AWS afin d'utiliser AWS autant que possible. »
Architecture de référence de Second Spectrum
Architecture originale, utilisant Application Load Balancer et Kubernetes autogéré.
Nouvelle architecture, utilisant désormais Amazon EKS et AWS Load Balancer Controller.
À propos de Second Spectrum
Second Spectrum a été fondée à Los Angeles en 2013. En tant que fournisseur de suivi officiel de la National Basketball Association, de la Major League Soccer et de la Premier League, Second Spectrum fournit une compréhension avancée des matchs qui permet d'obtenir rapidement des informations technologiques.
Avantages d'AWS
- A réduit les coûts d'hébergement Kubernetes de 90 %
- Prévoit de réduire le taux d'erreur de 75 %
- Prévoit d'économiser 3 mois en équivalent temps plein par an en ingénierie et en temps de formation pour les nouveaux employés
- A amélioré le temps de réponse de l'application de 5 ms par requête
Services AWS utilisés
Amazon EKS
Amazon Elastic Kubernetes Service (Amazon EKS) vous offre la possibilité de démarrer, d'exécuter et de mettre à l'échelle des applications Kubernetes dans le cloud AWS ou sur site. Amazon EKS vous aide à fournir des clusters hautement disponibles et sécurisés et automatise les tâches clés telles que les correctifs, la mise en service des nœuds et les mises à jour.
Application Load Balancer
Application Load Balancer est parfaitement adapté à l'équilibrage amélioré des charges du trafic HTTP et HTTPS et fournit un routage des requêtes avancé afin de fournir des architectures d'application moderne, notamment des microservices et des applications conteneurisées.
AWS Load Balancer Controller
AWS Load Balancer Controller gère AWS Elastic Load Balancers pour un cluster Kubernetes.
AWS Fargate
AWS Fargate est un moteur de calcul sans serveur pour conteneurs qui fonctionne avec Amazon Elastic Container Service (ECS) et Amazon Elastic Kubernetes Service (EKS). Fargate supprime la nécessité de provisionner et de gérer des serveurs, permet de spécifier et de payer les ressources en fonction des applications et améliore la sécurité grâce à une isolation intégrée de l'application.
Démarrer
Les entreprises de toute taille et de tous les secteurs d'activités transforment chaque jour leurs activités à l'aide d'AWS. Contactez nos spécialistes et commencez dès aujourd'hui votre transition vers le Cloud AWS.