Second Spectrum Reduces Kubernetes Hosting Costs by 90% Using AWS Load Balancer Controller and Amazon EKS

2021년

Second Spectrun은 스포츠 방송을 위한 인공지능 기반 추적 기술을 제공하는 회사로, 사람들이 스포츠에 참여하는 방식을 현대화합니다. 방송 캐스터와 해설 위원은 회사의 도구를 사용하여 유용한 시각 효과와 빠른 인사이트를 제공합니다. 이러한 도구를 개선하고 새로운 도구를 신속하게 개발하기 위해 Second Spectrum은 Amazon Web Services(AWS)의 엔지니어링 리소스를 효율적으로 사용합니다.

Second Spectrum은 처음에는 자체 관리형 Kubernetes 클러스터에서 실행되던 컨테이너화된 워크로드에 Application Load Balancer를 사용하기 시작했습니다. 곧 이 회사는 AWS 또는 온프레미스에서 Kubernetes 애플리케이션을 시작, 실행 및 규모 조정할 수 있는 유연성 있는 관리형 Kubernetes 서비스인 Amazon Elastic Kubernetes Service(Amazon EKS)로 마이그레이션하면 Kubernetes 클러스터를 더 효율적으로 실행할 수 있다는 사실을 알게 되었습니다. Second Spectrum은 또한 AWS Load Balancer Controller를 사용하여 워크로드 라우팅을 간소화할 기회를 보았습니다. 이를 통해 이 회사는 Amazon EKS(관리형 Kubernetes 클러스터)에 배포된 여러 애플리케이션 간에 Application Load Balancer를 공유하여 운영을 간소화할 수 있었습니다. Second Spectrum은 이러한 통합 AWS 솔루션을 통해 Kubernetes 호스팅 비용을 90% 절감하고, 오류를 최대 75% 줄였습니다. 더불어 애플리케이션 응답 시간을 요청당 5ms 단축하고, 직원 생산성을 높였으며, 회사 전체에서 확장 가능하고 반복 가능한 스트리밍 워크로드 프로비저닝 수단을 생성할 수 있었습니다.

Running soccer player on grass
kr_quotemark

AWS Load Balancer Controller에서 다이렉트 포드 인터넷 프로토콜 대상을 등록한 덕분에 구성을 정리하고 사용하기 쉬운 Kubernetes 입력으로 통합할 수 있었습니다." 

Sheldon Kwok
Second Spectrum Infrastructure Senior Director

Kubernetes를 위한 효율적인 로드 밸런서 솔루션 모색

University of Southern California의 연구 그룹에서 성장한 Second Spectrum은 2013년 로스앤젤레스에서 설립되었습니다. 전미 농구 협회(NBA), 메이저 리그 사커(MLS) 또는 프리미어 리그 경기나 시합을 보는 TV 시청자들은 컴퓨터 비전을 사용하여 선수의 움직임을 추적하는 Second Spectrum 기술이 실제로 사용되는 것을 본 적이 있을 겁니다. Second Spectrum은 스타트업으로서 새로운 도구 제품을 신속하게 실험하고 가장 실행 가능한 도구의 생산을 개시하고자 합니다. 이를 위해서는 아키텍처의 특정 부분을 반복 가능한 방식으로 프로비저닝할 수 있는 효율적인 라우팅이 필요합니다.

애플리케이션 배포를 위해 Second Spectrum은 2014년부터 컨테이너화를 사용해 왔습니다. Second Spectrum의 infrastructure senior director인 Sheldon Kwok은 "Kubernetes는 다루기 까다로운 서비스"라면서 "구동 부품이 너무 많기 때문에 사내에서 Kubernetes 내부를 이해하고 관리하는 데 시간이 많이 걸립니다."라고 설명했습니다

이러한 컨테이너화된 환경에서, Second Spectrum은 2016년 릴리스 이후 Application Load Balancer를 사용해 왔습니다. Application Load Balancer는 요청 수준(계층 7)에서 작동하여 컨테이너 또는 인터넷 프로토콜 주소와 같은 대상으로 트래픽을 라우팅합니다. 하지만 팀은 여전히 비효율성 문제에 직면해 있었습니다. Kwok은 "추가 네트워크 단계가 필요했습니다. 최종 서비스와 동일한 가용 영역에 있지 않아도 되는 NodePort의 Kubernetes 프록시를 통해 라우팅해야 했습니다."라고 설명했습니다. Second Spectrum 팀은 성능을 개선하기 위해 이 추가 단계를 생략하는 데 주력했습니다.

효율적인 리소스 사용을 위해 AWS Load Balancer Controller 및 Amazon EKS 사용

Second Spectrum의 엔지니어들은 AWS가 2020년에 AWS Load Balancer Controller를 출시했을 때 흥미를 느꼈습니다. 이 컨트롤러는 함께 배포하고 관리할 수 있는 소규모 애플리케이션 컨테이너 그룹 또는 포드를 지원합니다. "AWS Load Balancer Controller에서 다이렉트 포드 인터넷 프로토콜 대상을 등록한 덕분에 구성을 정리하고 사용하기 쉬운 Kubernetes 입력으로 통합할 수 있었습니다."라고 Kwok은 전했습니다.

Second Spectrum은 Amazon EKS로부터 추가 지원을 받았습니다. Amazon EKS는 이 회사의 Kubernetes API 서버를 담당하고 자체 관리형 Kubernetes 클러스터의 보다 효율적인 대안 역할을 했습니다. Kwok은 "Amazon EKS를 사용하면 Kubernetes 관리에 따르는 모든 골칫거리가 사라집니다."라면서 "덕분에 더 많은 제품 관련 기능을 작업할 수 있게 되었습니다."라고 전했습니다. Amazon EKS의 간소화된 관리 환경 덕분에 생산성은 향상되었고 비용도 절감할 수 있었습니다. Kwok은 "이전에는 API 서버용 Kubernetes 클러스터 하나를 실행하는 데만 매달 약 1,000 USD를 지출했습니다."라면서 "아마존 EKS는 한 달에 약 100 USD의 비용이 듭니다"라고 설명했습니다.

AWS Load Balancer Controller와 Amazon EKS를 통해 Second Spectrum은 Kubernetes 포드를 직접 모니터링하고 먼저 인스턴스를 살펴보는 추가 단계를 건너뛸 수 있었습니다. 이 새로운 구성을 통해 팀은 요청당 약 5ms의 성능 향상을 확인했습니다. 시청 경험을 더 개선하기 위해서는 거의 실시간에 가까운 추적과 시각화를 제공해야 한다는 점에서 이는 작지만 중요한 성과입니다. 또한 이러한 AWS 자동화 프로세스는 구성 체인에서 인적 오류가 발생할 가능성을 크게 줄여줍니다. Second Spectrum의 engineering operations vice president인 Eric Lui는 "로드 밸런싱 및 가용성 관련 문제가 발생하는 비율은 약 75% 감소할 것"이라고 전했습니다.

Second Spectrum 팀은 구성이 단순할수록 직원이 연간 최소 2주의 시간을 절약할 수 있다고 추정합니다. 엔지니어가 인프라 팀을 기다릴 필요 없이 셀프서비스를 더 잘 수행할 수 있기 때문입니다. Amazon EKS를 사용하면 신입 직원에게 자체 관리형 Kubernetes 클러스터 운영에 대한 교육을 하는 데 소요되는 시간을 줄일 수 있으며, 이에 따른 예상 시간 절감 효과를 합하면 연간 약 3개월이 됩니다. 이 회사는 전체 네임스페이스에 단 하나의 Application Load Balancer만 사용하면 됩니다. 또한 AWS Load Balancer Controller는 밀려 들어오는 요청을 처리할 수 있게 동적으로 확장하고, 중단된 프록시 서버로의 라우팅을 자동으로 중지할 수 있습니다.

최신 AWS 제품을 사용하여 가치 극대화

Second Spectrum 팀은 이 새로운 구성을 소프트웨어 엔지니어링에 대한 DevOps 접근 방식으로 전환하는 데 있어 중요한 단계로 보고 있습니다. Lui는 "우리는 개발자들이 자체 로드 밸런싱 구성(배포, 테스트, 상태 확인 설정)을 담당할 수 있도록 이러한 도구를 제공하고자 합니다."라면서 "그러면 사람들의 자율성과 생산성을 높일 수 있습니다. 조직에 미치는 영향을 생각하면 이는 핵심 요소입니다."라고 설명했습니다.

이제 Second Spectrum 엔지니어들은 Kubernetes 클러스터를 관리하는 데 많은 시간을 할애하지 않기 때문에 다른 기회를 모색할 시간이 더 많아졌습니다. 앞으로 팀은 Amazon EKS와 함께 작동하는 컨테이너용 서버리스 컴퓨팅 엔진인 AWS Fargate로 이러한 워크로드를 마이그레이션하여 탄력적 워크로드의 가격 절감 효과를 활용할 계획입니다. 또한 새로운 라우팅 구성은 확장 가능하고 반복 가능하므로 유럽에서도 비슷한 구성을 유지할 수 있습니다.

Second Spectrum은 스포츠 분석을 계속 발전시켜 나갈 예정입니다. 때문에 AWS 제품이 핵심적인 역할을 할 것으로 기대하고 있습니다. Kwok은 "AWS는 고객의 요청에 매우 열려 있습니다. 우리는 종종 새로운 기능을 요청하는데, 기술 지원 담당자는 다른 고객들도 이와 비슷한 기능을 요청했다고 말했습니다."라면서 "우리는 AWS를 최대한 활용할 수 있도록 AWS가 제공하는 모든 새로운 기능을 충분히 파악하려고 노력합니다."라고 전했습니다. 

Second Spectrum의 참조 아키텍처

Application Load Balancer와 자체 관리형 Kubernetes를 사용하는 오리지널 아키텍처

이제 Amazon EKS와 AWS Load Balancer Controller를 사용하는 새로운 아키텍처


Second Spectrum 소개

Second Spectrum은 2013년 로스앤젤레스에서 설립되었습니다. 전미 농구 협회(NBA), 메이저 리그 사커(MLS) 및 프리미어 리그의 공식 추적 제공업체인 Second Spectrum은 게임에 대한 고급 기계 이해를 제공하여 기술 기반 인사이트를 빠르게 얻을 수 있도록 합니다.

AWS의 이점

  • Kubernetes 호스팅 비용 90% 절감
  • 오류율 75% 감소 기대
  • 엔지니어링 및 신입 사원의 교육 시간을 매년 3개월씩 절약할 수 있을 것으로 예상
  • 요청당 5ms의 애플리케이션 응답 시간 향상

사용된 AWS 서비스

Amazon EKS

Amazon Elastic Kubernetes Service(Amazon EKS)는 AWS 클라우드 또는 온프레미스에서 Kubernetes 애플리케이션을 시작, 실행 및 규모 조정할 수 있는 유연성을 제공합니다. Amazon EKS는 고가용성의 안전한 클러스터를 제공하는 데 도움이 되며 패치 적용, 노드 프로비저닝 및 업데이트와 같은 주요 태스크를 자동화합니다. 

자세히 알아보기 >>

Application Load Balancer

HTTP 및 HTTPS 트래픽의 고급 로드 밸런싱에 적합한 Application Load Balancer는 마이크로서비스와 컨테이너 기반 애플리케이션을 비롯한 현대적 애플리케이션 아키텍처 전달을 위한 고급 요청 라우팅 기능을 제공합니다.

자세히 알아보기 >>

AWS Load Balancer Controller

AWS Load Balancer Controller는 Kubernetes 클러스터의 AWS Elastic Load Balancer를 관리합니다. 

자세히 알아보기 >>

AWS Fargate

AWS Fargate는 컨테이너에 적합한 서버리스 컴퓨팅 엔진으로, Amazon Elastic Container Service(ECS) 및 Amazon Elastic Kubernetes Service(EKS)와 연동됩니다. Fargate에서는 서버를 프로비저닝하고 관리할 필요가 없어 애플리케이션별로 리소스를 지정하고 관련 비용을 지불할 수 있으며, 애플리케이션 격리용 설계로 보안 성능을 향상합니다.

자세히 알아보기 >>

시작하기

산업 분야를 불문하고 다양한 규모의 기업들이 AWS를 통해 매일 비즈니스를 혁신하고 있습니다. 지금 전문가와 상담하고 AWS 클라우드로의 여정을 시작하세요.