Second Spectrum reduz os custos de hospedagem do Kubernetes em 90% ao usar o AWS Load Balancer Controller e o Amazon EKS
2021
A Second Spectrum, uma empresa que fornece tecnologia de rastreamento orientada por inteligência artificial para transmissões esportivas, está modernizando a maneira como as pessoas se envolvem com os esportes. Emissoras e comentaristas usam as ferramentas da empresa para fornecer insights rápidos acompanhados de recursos visuais úteis. Para aprimorar essas ferramentas e desenvolver novas rapidamente, a Second Spectrum conta com o uso eficiente de recursos de engenharia da Amazon Web Services (AWS).
A Second Spectrum começou a usar o Application Load Balancer para workloads em contêineres que inicialmente eram executadas em clusters do Kubernetes autogerenciados. A empresa logo reconheceu que poderia executar os clusters do Kubernetes com mais eficiência ao migrar para o Amazon Elastic Kubernetes Service (Amazon EKS), um serviço de Kubernetes gerenciado que oferece às empresas flexibilidade para iniciar, executar e escalar aplicações de Kubernetes na AWS ou on-premises. A Second Spectrum também viu uma oportunidade de simplificar o roteamento da workload usando o AWS Load Balancer Controller, o que possibilitaria à empresa simplificar as operações ao compartilhar um Application Load Balancer em diversas aplicações implantadas em um cluster do Kubernetes gerenciado pelo Amazon EKS. Essa solução integrada da AWS ajudou a Second Spectrum a reduzir os custos de hospedagem do Kubernetes em 90%, a diminuir os erros em até 75%, a melhorar o tempo de resposta da aplicação em 5 ms por solicitação, a aumentar a produtividade da equipe e a criar um meio escalável e replicável de simplificar o provisionamento da workload em toda a empresa.
O registro de destino do protocolo de Internet de pod direto do AWS Load Balancer Controller nos possibilitou limpar e consolidar nossa configuração em uma entrada do Kubernetes simples de usar.”
Sheldon Kwok
Diretor sênior de infraestrutura da Second Spectrum
Busca por uma solução de balanceador de carga eficiente para o Kubernetes
Criada de um grupo de pesquisa na Universidade do Sul da Califórnia, a Second Spectrum foi fundada em Los Angeles em 2013. Os telespectadores dos jogos ou das partidas da National Basketball Association, da Major League Soccer ou da Premier League viram a tecnologia da Second Spectrum em ação, por exemplo, o uso de visão computacional para rastrear os movimentos dos jogadores. Como uma startup, a Second Spectrum busca experimentar com rapidez novas ofertas de ferramentas e introduzir as mais viáveis para a produção. Para fazer isso, a empresa precisa de um roteamento eficiente para que possa provisionar determinadas partes de sua arquitetura de forma replicável.
Para a implantação de aplicações, a Second Spectrum usa a conteinerização desde 2014. “O Kubernetes é incrível”, diz Sheldon Kwok, diretor sênior de infraestrutura da Second Spectrum. “Como existem diversas partes móveis, entender e gerenciar internamente os componentes do Kubernetes é extremamente demorado.”
Nesse ambiente conteinerizado, a Second Spectrum conta com o Application Load Balancer desde seu lançamento em 2016. O Application Load Balancer opera no nível da solicitação (camada 7), roteando o tráfego para destinos como contêineres ou endereços de protocolo da Internet. No entanto, a equipe ainda enfrentou um desafio de ineficiência. “Havia toda uma etapa adicional de rede em que era necessário rotear pelo proxy do Kubernetes em um NodePort que não estaria necessariamente na mesma zona de disponibilidade do seu serviço final”, diz Kwok. A equipe da Second Spectrum estava empenhada em eliminar essa etapa adicional para melhorar a performance.
Uso do AWS Load Balancer Controller e do Amazon EKS para utilização eficiente de recursos
Os engenheiros da Second Spectrum ficaram intrigados quando a AWS lançou o AWS Load Balancer Controller em 2020, que oferecia suporte para pods ou pequenos grupos de contêineres de aplicações que podem ser implantados e gerenciados em conjunto. “O registro de destino do protocolo de Internet de pod direto do AWS Load Balancer Controller nos possibilitou limpar e consolidar nossa configuração em uma entrada do Kubernetes simples de usar”, diz Kwok.
A Second Spectrum recebeu mais suporte do Amazon EKS, que gerenciou o servidor de API do Kubernetes para a empresa e serviu como uma alternativa mais eficiente ao cluster do Kubernetes autogerenciado. “O uso do Amazon EKS elimina todos os problemas que acompanham o gerenciamento do Kubernetes”, diz Kwok. “Isso nos permite trabalhar em mais atributos relacionados ao produto.” Ao aprimorar a produtividade, o ambiente gerenciado simplificado do Amazon EKS também possibilita que a empresa economize custos: “Anteriormente, gastávamos cerca de USD 1 mil por mês somente com a execução de um cluster do Kubernetes para os servidores de API”, diz Kwok. “O Amazon EKS nos custa cerca de USD 100 por mês.”
O AWS Load Balancer Controller e o Amazon EKS possibilitaram que a Second Spectrum monitorasse os pods do Kubernetes diretamente e pulasse a etapa adicional de examinar primeiro as instâncias. Com essa nova configuração, a equipe percebeu uma melhoria de performance de cerca de 5 ms por solicitação, que é uma pequena, mas importante vitória quando se trata de fornecer rastreamento e visualizações quase em tempo real para uma experiência de visualização aprimorada. Esse processo automatizado pela AWS também reduz de forma considerável o potencial de erro humano na cadeia de configuração. “A taxa em que enfrentamos problemas com balanceamento de carga e disponibilidade deve diminuir em cerca de 75%”, afirma Eric Lui, vice-presidente de operações de engenharia da Second Spectrum.
A equipe da Second Spectrum estima que a configuração mais simples economiza pelo menos duas semanas de tempo da equipe por ano, pois os engenheiros estão melhor equipados para realizarem o autoatendimento em vez de terem de esperar pela equipe de infraestrutura. Considerando o uso do Amazon EKS, que elimina o tempo dedicado para o treinamento de novas contratações na operação de clusters do Kubernetes autogerenciados, e a economia de tempo esperada, temos aproximadamente três meses equivalentes em tempo integral por ano. A empresa pode usar somente um Application Load Balancer para todo o namespace e o AWS Load Balancer Controller pode escalar de forma dinâmica para lidar com um fluxo de solicitações recebidas e interromper automaticamente o roteamento para servidores proxy que ficam inativos.
Uso das últimas ofertas da AWS para maximizar o valor
A equipe da Second Spectrum vê essa nova configuração como uma etapa importante em seu movimento em direção a uma abordagem de DevOps para a engenharia de software. “Desejamos colocar essas ferramentas nas mãos dos desenvolvedores para que eles possam assumir a responsabilidade por sua própria configuração de balanceamento de carga: implantá-la, testá-la e configurar verificações de integridade”, diz Lui. “Isso libera a capacidade das pessoas para serem mais autônomas e produtivas. Em termos de impacto para a organização, essa é uma peça fundamental.”
Atualmente, como os engenheiros da Second Spectrum não dedicam tanto tempo ao gerenciamento de clusters do Kubernetes, eles têm mais tempo para explorar outras oportunidades. No futuro, a equipe planeja aproveitar a economia de preço para workloads elásticas ao migrar essas workloads para o AWS Fargate, um mecanismo de computação com tecnologia sem servidor para contêineres que funciona em conjunto com o Amazon EKS. Além disso, a nova configuração de roteamento é escalável e replicável para que a empresa possa manter uma configuração semelhante na Europa.
À medida que a Second Spectrum continua avançando na análise de esportes, ela espera que as ofertas da AWS desempenhem um papel fundamental. “A AWS é muito aberta às solicitações dos clientes. Frequentemente solicitamos novos atributos, e nosso gerente técnico de contas mencionou que outros clientes solicitaram algo semelhante”, diz Kwok. “Tentamos ficar a par de todas as novas funcionalidades que a AWS oferece para fazer o máximo uso possível da AWS.”
Arquitetura de referência da Second Spectrum
Arquitetura original com o uso do Application Load Balancer e do Kubernetes autogerenciado.
Nova arquitetura com uso do Amazon EKS e do AWS Load Balancer Controller.
Sobre a Second Spectrum
A Second Spectrum foi fundada em Los Angeles em 2013. Como fornecedora oficial de rastreamento para a National Basketball Association, a Major League Soccer e a Premier League, a Second Spectrum fornece uma compreensão avançada de jogos por máquinas que revela insights rápidos orientados por tecnologia.
Benefícios da AWS
- Redução dos custos de hospedagem do Kubernetes em 90%.
- Redução esperada da taxa de erro em 75%.
- Economia esperada de três meses equivalentes em tempo integral por ano em engenharia e em tempo de treinamento de novas contratações.
- Aprimoramento do tempo de resposta da aplicação em 5 ms por solicitação.
Soluções da AWS usadas
Amazon EKS
O Amazon Elastic Kubernetes Service (Amazon EKS) oferece flexibilidade para iniciar, executar e escalar aplicações do Kubernetes na Nuvem AWS ou on-premises. O Amazon EKS ajuda a fornecer clusters altamente disponíveis e seguros e automatiza tarefas importantes, como a aplicação de patches, o provisionamento de nós e as atualizações.
Application Load Balancer
Ideal para o balanceamento de carga avançado de tráfego HTTP e HTTPS, o Application Load Balancer fornece roteamento avançado de solicitações direcionado à entrega de arquiteturas de aplicações modernas, incluindo microsserviços e aplicações baseadas em contêineres.
AWS Load Balancer Controller
O AWS Load Balancer Controller gerencia o AWS Elastic Load Balancers para um cluster do Kubernetes.
AWS Fargate
O AWS Fargate é um mecanismo de computação com tecnologia sem servidor para contêineres que funciona tanto com o Amazon Elastic Container Service (ECS) quanto com o Amazon Elastic Kubernetes Service (EKS). O Fargate elimina a necessidade de provisionar e gerenciar servidores, permite especificar e pagar pelos recursos por aplicação e aprimora a segurança por meio do isolamento da aplicação desde a concepção.
Comece a usar
Empresas de todos os portes em todos os setores estão transformando seus negócios diariamente usando a AWS. Entre em contato com nossos especialistas e comece sua própria jornada para a Nuvem AWS hoje mesmo.