Second Spectrum が AWS Load Balancer Controller と Amazon EKS を使用して Kubernetes のホスティングコストを 90% 削減

2021 年

Second Spectrum は、AI を活用したスポーツ中継のトラッキング技術を提供し、人々のスポーツへの関わり方を近代化する企業です。ブロードキャスターやコメンテーターは、同社のツールを使用して、有益なビジュアルを伴う迅速なインサイトを提供しています。これらのツールを改良し、新しいツールを迅速に開発するために、Second Spectrum は Amazon Web Services (AWS) のエンジニアリングリソースを効率的に利用しています。

Second Spectrum は、もともとセルフマネージド型の Kubernetes クラスターで実行していたコンテナ化ワークロードで Application Load Balancer の利用を開始しました。同社はすぐに、Amazon Elastic Kubernetes Service (Amazon EKS) に移行することで、Kubernetes クラスターをより効率的に実行できることに気付きました。Amazon EKS は、AWS またはオンプレミスで Kubernetes アプリケーションを開始、実行、スケールできる柔軟性を企業に提供するマネージド型の Kubernetes サービスです。また、Second Spectrum は AWS Load Balancer Controller でワークロードのルーティングを効率化する機会を見出しました。これにより、同社は Amazon EKS が管理する Kubernetes クラスターにデプロイされた複数のアプリケーション間で Application Load Balancer を共有して運用を簡素化できるようになります。この統合された AWS ソリューションにより、Second Spectrum は Kubernetes のホスティングコストを 90%、エラーを最大 75% 削減し、アプリケーションの応答時間をリクエストごとに 5 ミリ秒短縮し、スタッフの生産性を向上させ、ワークロードのプロビジョニングを効率化するスケーラブルで複製可能な手段を会社全体で構築しています。

Running soccer player on grass
kr_quotemark

AWS Load Balancer Controller から Pod に直接インターネットプロトコルターゲットを登録することで、設定をクリーンアップしてシンプルで使いやすい Kubernetes 入力に統合できました” 

Sheldon Kwok 氏
Second Spectrum、Senior Director of Infrastructure

Kubernetes 向けの効率的なロードバランサーソリューションを求めて

南カリフォルニア大学の研究グループから始まった Second Spectrum は、2013 年にロサンゼルスで創業しました。全米プロバスケットボール、メジャーリーグサッカー、プレミアリーグの試合をテレビで観戦する人は、Second Spectrum のテクノロジーが実際に使われている場面 (コンピュータビジョンを利用して選手の動きを追跡するなど) を見たことがあるでしょう。スタートアップである Second Spectrum は、新しいツール製品の試験を迅速に行い、最も実行可能なツールを本番環境に投入することを目指しています。そのためには、アーキテクチャの特定の部分を再現可能な方法でプロビジョニングできる効率的なルーティングが必要です。

Second Spectrum では、2014 年からアプリケーションのデプロイにコンテナ化を利用してきました。Second Spectrum の Senior Director of Infrastructure、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 でリソースを効率的に使用

AWS が 2020 年に AWS Load Balancer Controller をリリースしたとき、Second Spectrum のエンジニアは興味をそそられました。このコントローラーは Pod、つまり連携してデプロイおよび管理が可能なアプリケーションコンテナの小グループをサポートしていたからです。「AWS Load Balancer Controller から Pod に直接インターネットプロトコルターゲットを登録することで、設定をクリーンアップしてシンプルで使いやすい Kubernetes 入力に統合できました」と Kwok 氏は言います。

Second Spectrum は Amazon EKS によってさらに後押しされました。Amazon EKS は同社の Kubernetes API サーバーを操作し、セルフマネージド型 Kubernetes クラスターのより効率的な代替手段として機能しました。「Amazon EKS を使用すると、Kubernetes の管理に伴う頭痛の種をすべて取り除くことができます」と Kwok 氏は言います。「そのぶん、製品関連の機能に集中できます」。 Amazon EKS の効率化されたマネージド環境により、同社は生産性向上と同時にコスト削減も達成しています。「以前は API サーバーの Kubernetes クラスターを 1 つ実行するだけで、1 か月あたり約 1,000 USD の費用がかかっていました」と Kwok 氏は言います。「Amazon EKS の費用は 月 100 USD 程度です」。

AWS Load Balancer Controller と Amazon EKS を使用することで、Second Spectrum は Kubernetes Pod を直接モニタリングできるようになり、最初にインスタンスを経由するという余分なステップを省くことができました。この新しい構成により、チームはリクエストあたり約 5 ミリ秒のパフォーマンス向上を実感しました。これは、ほぼリアルタイムのトラッキングと視覚化を実現し、視聴体験を向上させるという点で、小さいながらも重要な成果です。この AWS 自動化プロセスで、構成チェーンにおけるヒューマンエラーの可能性も大幅に減少します。Second Spectrum の Vice President of Engineering Operations である Eric Lui 氏は、「負荷分散と可用性に問題が発生する割合は 75 パーセントほど減少するはずです」と述べています。

Second Spectrum チームの予想では、よりシンプルな構成にすることで、1 年間に少なくとも 2 週間分にあたるスタッフの時間を節約できます。エンジニアはインフラストラクチャチームを待つ代わりにセルフサービスで対応できるようになるためです。Amazon EKS の使用を考慮すると、セルフマネージド型の Kubernetes クラスターを操作するための新規採用者トレーニングに費やす時間が不要になり、予想される節約時間はフルタイム換算で年間約 3 か月分になります。同社は名前空間全体で 1 つの Application Load Balancer のみ使用でき、AWS Load Balancer Controller は受信リクエストの流入を処理するよう動的にスケールし、ダウンしたプロキシサーバーへのルーティングを自動的に停止できます。

最新の AWS サービスで価値を最大化

Second Spectrum チームは、この新しい構成を、ソフトウェアエンジニアリングへの DevOps アプローチに向けた重要なステップと見なしています。「当社はこれらのツールをデベロッパーの手に委ね、デベロッパーが自分の負荷分散設定、つまりデプロイ、テスト、ヘルスチェックの設定に責任意識を持てるようにしたいと考えています」と Lui 氏は言います。「そうすることで従業員の能力を引き出し、自律性と生産性を高めることができます。組織への影響という点では、それが重要なポイントです」。

Second Spectrum のエンジニアは Kubernetes クラスターの管理に多くの時間を費やす必要がなくなったため、他の機会を模索する時間が増えました。今後、チームは Amazon EKS と連携して動作するコンテナ用のサーバーレスコンピューティングエンジンである AWS Fargate にワークロードを移行することで、変動的なワークロードでの費用節減効果を活用する予定です。また、新しいルーティング構成はスケーラブルで再現可能であるため、同社はヨーロッパでも同様の構成を立ち上げることができます。

Second Spectrum は、今後もスポーツ分析を進めていく中で、AWS のサービスが重要な役割を果たすと予想しています。「AWS は顧客の要望に対して非常にオープンです。当社から新機能をリクエストすることはよくありますし、当社の Technical Account Manager も、他の顧客から同じような要望があったと話しています」と Kwok 氏は言います。「AWS を最大限に活用するため、AWS が提供するすべての新機能を常に把握するよう努めています」。 

Second Spectrum のリファレンスアーキテクチャ

Application Load Balancer とセルフマネージド型 Kubernetes を使用したオリジナルのアーキテクチャ。

Amazon EKS と AWS Load Balancer Controller を使用するようになってからの新しいアーキテクチャ。


Second Spectrum について

Second Spectrum は 2013 年にロサンゼルスで創業しました。全米バスケットボール協会、メジャーリーグサッカー、プレミアリーグの公式トラッキングプロバイダーである Second Spectrum は、テクノロジーに基づく迅速なインサイトを引き出す高度な機械知覚を可能にします。

AWS の利点

  • Kubernetes のホスティングコストを 90% 削減
  • エラー率 75% 削減を達成する見込み
  • エンジニアリングと新規採用者のトレーニング時間についてフルタイム換算で年間 3 か月分の節約を達成する見込み
  • リクエストあたりのアプリケーション応答時間を 5 ミリ秒短縮

利用している 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 のエキスパートにお問い合わせのうえ、今すぐ AWS クラウドジャーニーを開始しましょう。