Second Spectrum riduce i costi di hosting Kubernetes del 90% utilizzando AWS Load Balancer Controller e Amazon EKS

2021

Second Spectrum, un'azienda che fornisce tecnologia di tracciamento basata sull'intelligenza artificiale per le trasmissioni sportive, modernizza il coinvolgimento delle persone con gli sport. Emittenti e commentatori utilizzano gli strumenti dell'azienda per fornire approfondimenti rapidi accompagnati da immagini utili. Per migliorare questi strumenti e svilupparne rapidamente di nuovi, Second Spectrum si affida all'uso efficiente delle risorse ingegneristiche di Amazon Web Services (AWS).

Second Spectrum ha iniziato a utilizzare Application Load Balancer per carichi di lavoro containerizzati che inizialmente eseguiva su cluster Kubernetes autogestiti. L'azienda ha presto capito di poter eseguire in modo più efficiente i cluster Kubernetes effettuando la migrazione ad Amazon Elastic Kubernetes Service (Amazon EKS), un servizio Kubernetes gestito che offre alle aziende la flessibilità di avviare, eseguire e dimensionare le applicazioni Kubernetes su AWS oppure on-premise. Second Spectrum ha, inoltre, visto un'opportunità di semplificare l'instradamento del carico di lavoro utilizzando AWS Load Balancer Controller, che avrebbe consentito all'azienda di semplificare le operazioni condividendo un Application Load Balancer tra più applicazioni implementate in un cluster Kubernetes gestito da Amazon EKS. Questa soluzione AWS integrata ha aiutato Second Spectrum ad abbattere i costi di hosting Kubernetes del 90%, ridurre gli errori fino al 75%, migliorare i tempi di risposta delle applicazioni di 5 ms per richiesta, aumentare la produttività del personale e creare un mezzo scalabile e replicabile per semplificare il provisioning dei carichi di lavoro in tutta l'azienda.

Running soccer player on grass
kr_quotemark

La registrazione della destinazione del protocollo Internet direct-pod da AWS Load Balancer Controller ci ha permesso di riordinare e consolidare la configurazione in un input Kubernetes semplice da utilizzare". 

Sheldon Kwok
Senior Director of Infrastructure, Second Spectrum

Alla ricerca di una soluzione di bilanciamento del carico efficiente per Kubernetes

Nata da un gruppo di ricerca presso la University of Southern California, Second Spectrum è stata fondata a Los Angeles nel 2013. I telespettatori delle partite o dei tornei della National Basketball Association, della Major League Soccer o della Premier League hanno visto in azione la tecnologia Second Spectrum, ad esempio l'uso della visione artificiale per tracciare i movimenti dei giocatori. Come startup, Second Spectrum cerca di sperimentare rapidamente nuove offerte di strumenti e di mettere in produzione quelle più efficaci. A tal fine, l'azienda ha bisogno di un instradamento efficiente, in modo da fornire alcune parti della sua architettura in maniera replicabile.

Per l'implementazione delle applicazioni, Second Spectrum utilizza la containerizzazione dal 2014. "È difficile avere una buona padronanza di Kubernetes", afferma Sheldon Kwok, Senior Director of Infrastructure presso Second Spectrum. "Poiché ci sono tante parti mobili, comprendere e gestire internamente i meccanismi di Kubernetes richiede molto tempo.

"All'interno di questo ambiente containerizzato, Second Spectrum si affida ad Application Load Balancer sin dal suo lancio nel 2016. Application Load Balancer opera a livello di richiesta (livello 7), instradando il traffico verso destinazioni come container o indirizzi di protocollo Internet. Tuttavia, il team doveva ancora risolvere un problema di inefficienza. "C'era un ulteriore passaggio legato alla rete: era necessario creare un instradamento attraverso il proxy Kubernetes su un NodePort che non si trovasse per forza nella stessa zona di disponibilità del servizio finale", afferma Kwok. Per il team di Second Spectrum era fondamentale eliminare questo passaggio in più per migliorare le prestazioni. 

AWS Load Balancer Controller e Amazon EKS per un uso efficiente delle risorse

Gli ingegneri di Second Spectrum si sono incuriositi quando nel 2020 AWS ha lanciato AWS Load Balancer Controller, che supportava i pod, cioè piccoli gruppi di container di applicazioni implementabili e gestibili insieme. "La registrazione della destinazione del protocollo Internet direct-pod da AWS Load Balancer Controller ci ha permesso di riordinare e consolidare la configurazione in un input Kubernetes semplice da utilizzare", afferma Kwok.

Second Spectrum ha ricevuto ulteriore supporto da Amazon EKS, che si è dimostrata un'alternativa più efficiente al cluster Kubernetes autogestito, occupandosi di gestire il server API Kubernetes per conto dell'azienda. "L'uso di Amazon EKS elimina tutte le complicazioni associate alla gestione di Kubernetes", afferma Kwok. "Ci consente di lavorare su più funzionalità relative al prodotto". Oltre a migliorare la produttività, l'ambiente gestito semplificato di Amazon EKS consente all'azienda di risparmiare sui costi: "In precedenza spendevamo circa mille dollari al mese per eseguire solo un cluster Kubernetes per i server API", spiega Kwok. "Amazon EKS ci costa circa cento dollari al mese".

AWS Load Balancer Controller e Amazon EKS hanno consentito a Second Spectrum di monitorare direttamente i pod Kubernetes e di saltare il passaggio aggiuntivo di analisi iniziale delle istanze. Con la nuova configurazione, il team ha notato un miglioramento delle prestazioni di circa 5 ms per richiesta: una vittoria piccola ma significativa quando si tratta di fornire tracciamento e visualizzazioni quasi in tempo reale per migliorare l'esperienza degli spettatori. Questo processo automatizzato da AWS riduce inoltre notevolmente il potenziale di errore umano nella catena di configurazione. "La frequenza con cui riscontriamo problemi di bilanciamento del carico e disponibilità dovrebbe diminuire di circa il 75%", afferma Eric Lui, Vice President of Engineering Operations presso Second Spectrum.

Il team di Second Spectrum stima che la configurazione più semplice consenta di risparmiare almeno due settimane di tempo del personale all'anno, perché gli ingegneri sono meglio attrezzati per agire in autonomia piuttosto che aspettare il team dell'infrastruttura. Se si prende in considerazione anche l'uso di Amazon EKS, che elimina il tempo dedicato alla formazione di nuovi assunti sulla gestione di cluster Kubernetes autogestiti, il risparmio di tempo previsto ammonta a circa tre mesi equivalenti a tempo pieno all'anno. L'azienda utilizza un solo Application Load Balancer per l'intero namespace e AWS Load Balancer Controller effettua il dimensionamento dinamico per gestire l'afflusso di richieste in ingresso e interrompere automaticamente l'instradamento verso i server proxy non funzionanti.

Uso delle offerte AWS più recenti per massimizzare il valore

Il team di Second Spectrum considera la nuova configurazione un passo importante verso un approccio DevOps all'ingegneria del software. "Mettiamo questi strumenti nelle mani degli sviluppatori in modo che si assumano la responsabilità della propria configurazione di bilanciamento del carico: la implementino, la testino e impostino i controlli dell'integrità", afferma Lui. "Ciò consente al personale di essere più autonomo e produttivo. In termini di impatto sull'organizzazione, si tratta di un fattore cruciale".

Ora che non devono più dedicare tanto tempo alla gestione dei cluster Kubernetes, gli ingegneri di Second Spectrum hanno più tempo per esplorare altre opportunità. In futuro, il team prevede di sfruttare i risparmi di prezzo dei carichi di lavoro elastici trasferendoli su AWS Fargate, il motore di calcolo serverless per container che funziona insieme ad Amazon EKS. Inoltre, la nuova configurazione di instradamento è scalabile e replicabile, quindi l'azienda può utilizzare una configurazione simile in Europa.

Mentre continua a far progredire l'analisi sportiva, Second Spectrum prevede che le offerte AWS avranno un ruolo chiave. "AWS è molto aperta alle richieste dei clienti. Spesso chiediamo nuove funzionalità e il nostro Technical Account Manager riferisce che altri clienti hanno richiesto qualcosa di simile", spiega Kwok. "Cerchiamo di rimanere aggiornati su tutte le nuove funzionalità offerte da AWS per utilizzare i suoi servizi il più possibile". 

Architettura di riferimento di Second Spectrum

Architettura originale, basata su Application Load Balancer e Kubernetes autogestito.

Nuova architettura, basata su Amazon EKS e AWS Load Balancer Controller.


Informazioni su Second Spectrum

Second Spectrum è stata fondata a Los Angeles nel 2013. In qualità di provider ufficiale di tracciamento per la National Basketball Association, la Major League Soccer e la Premier League, Second Spectrum offre una comprensione automatica avanzata delle partite che sblocca approfondimenti rapidi basati sulla tecnologia.

Vantaggi di AWS

  • Costi per l'hosting Kubernetes ridotti del 90%
  • Prevede di ridurre il tasso di errore del 75%
  • Prevede di risparmiare tre mesi equivalenti a tempo pieno all'anno in termini di ingegneria e formazione per i nuovi assunti
  • Tempo di risposta delle applicazioni migliorato di 5 ms per richiesta

Servizi AWS utilizzati

Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) offre la flessibilità di avviare, eseguire e dimensionare le applicazioni Kubernetes nel cloud AWS oppure on-premise. Amazon EKS consente di fornire cluster sicuri e altamente disponibili e automatizza attività chiave come l'applicazione di patch, il provisioning dei nodi e gli aggiornamenti. 

Ulteriori informazioni >>

Application Load Balancer

Ideale per il bilanciamento avanzato di traffico HTTP e HTTPS, Application Load Balancer offre un instradamento avanzato delle richieste mirato alle architetture applicative più moderne, tra cui microservizi e applicazioni basate su container.

Ulteriori informazioni >>

AWS Load Balancer Controller

AWS Load Balancer Controller gestisce gli AWS Elastic Load Balancer per un cluster Kubernetes. 

Ulteriori informazioni >>

AWS Fargate

AWS Fargate è il motore di calcolo serverless per container che funziona sia con Amazon Elastic Container Service (ECS) che con Amazon Elastic Kubernetes Service (EKS). Fargate elimina la necessità di occuparsi del provisioning e della gestione di server, permette di specificare e pagare solo le risorse utilizzate per ciascuna applicazione e migliora la sicurezza attraverso l'isolamento delle applicazioni previsto già in fase di progettazione.

Ulteriori informazioni >>

Inizia

Le aziende di tutte le taglie e di tutti i settori stanno trasformando ogni giorno la propria attività grazie ad AWS. Contatta i nostri esperti e inizia subito il tuo viaggio in AWS Cloud.