PTAエンジニアアドテク×Kubernetes「オレシカナイトvol.10」レポート株式会社AbemaTV、新卒エンジニアの増田と申します。オレシカナイトVol.10」のレポートと次回開催のお知らせをしたいと思います。(PTA)」が主催する技術者向け勉強会です。今回のテーマは”Kubernetes”。当日は「AbemaTV」や「Ameba」の広告配信システムの開発プロセスで実際に使用し、成果をあげている運用手法や、チャレンジした手法などの紹介をしました。雄祐)まずはメディア統括本部の駒原がAmeba広告システムのEKS化とその障壁と対策について発表しました。Amebaの広告システムは、提供を開始してから4年以上が経過しており、負債が蓄積されている状況でした。Kubernetes)の導入を決定しました。EKSの導入を進める中で、アプリケーションから各種AWSリソースへのアクセス制御が課題になりました。Roleを割り当てるしかなく、その運用方法は好ましくないと判断しました。」の導入を行いました。EKSへの導入となると、情報が極端に少なかったようで、様々な点でつまづきながらもEKSの構築を進めていき、解決した頃には時代は令和に突入していたそうです。発表スライドはこちらをご覧ください。CI/CD環境の構築について発表しました。Ameba広告システムのEKS化に伴い、CI/CDツールとしてCircleCIとHelmを採用し、そのベストプラクティスを探りました。CircleCIの最適化に関しては、モノリシックなHelm用リポジトリを用意し、PullRequestベースでのデプロイ管理を行うことで、各ブランチが各環境の状態を表すようになり、クラスタをゼロ状態から復旧できるようになりました。diff`でマニフェストの差分を確認するなど、より安全確実な運用が出来るよう、最適化を行いました。Updateを利用すること、特定のラベルがついたDeploymentを対象とすることにより、簡易的にカナリアリリースを実現した話もありました。発表スライドはこちらをご覧ください。Kubernetesを活用したJob管理について発表しました。「AbemaTV」の広告配信では、大量のJobが様々なタイミングで動いているため、この複雑なJob群をどのように管理するかという課題を抱えていました。AbemaTVでは様々な業務があり、その分Jobも大量に乱立していました。KubernetesにもCronJobがありますが、気軽に再実行できないことや、GUIが存在しないことなど、自分たちのやりたいことが満たせないことが課題として挙げられていました。履歴管理や再実行性、実績を重視してJob管理ツールを選んだ結果、digdagを採用することにしました。digdagは、ジョブをスクリプト管理することができること、再実行が容易にできること、リッチなUIがあることが選定の理由です。現在はdigdagを使用していますが、まだまだ課題はあるので、常により良いサービスを検討していると言う話もありました。発表スライドはこちらをご覧ください。LTLTでは、株式会社AbemaTVの山口が「Kubeflowを用いた分析環境の統一は果たして良いかどうか」というテーマで発表をしました。「AbemaTV」のデータサイエンスチームでは、最初、分析環境がメンバーにより異なっていたため、KubeflowというKubernetes上で簡単に動かす機械学習用の環境を構築するOSSを導入しました。チームが使う開発環境がJupyterやRStudioなど人により異なること、チームのフェーズ的に機械学習モデルの構築よりも分析が多いという理由で、当時は分析環境を統一するという点でKubernetesを使う必要性はなかったそうですが、今後、機械学習のプロダクション運用が多くなるフェーズで導入を検討しているそうです。オレシカナイトでは、LTをしていただける方をゆるく募集していますので、ご興味のある方はConnpass経由でご連絡いただければと思います。SSP」などの広告配信システムで実際に使われているオークションロジックを赤裸々に?語ります。