ニコニコ生放送のBackend For FrontendsをKubernetesに移行した知見を公開します

こんにちは。生放送フロントエンドシステムセクションのHimenon(GitHub/Twitter)です。 ニコニコ生放送のWEBフロントエンドはBackend For Frontendsの構成を取っています。 これらは従来Docker Swarmのクラスター上でコンテナを稼働させてサービスを提供していましたが、今回、Kubernetesへ移行を実施しました。その知見を公開します!

構成

  • Kubernetes
  • istio
  • Argo CD
  • Argo Rollouts

稼働実績

2022年の4月の段階ではWebフロントエンドのサーバーはすべてKubernetesで稼働しており、ニコニコ超会議 2022(4/23 - 4/30)も障害なく無事に越えて運用されています。

公開背景

移行にあたり、多くの知識と検証に時間を必要としました。 何をすべきかはなんとなくわかっているが、具体的な実現方法がわからないパターンや、そもそも新しく考えなければいけないパターンが数多くありました。 初めのうちは情報をかき集めて継ぎ接ぎだけれどもまずは動く状態を作ったり、稼働できないパターンを負荷試験やミラーリング等によって集めたり、 影響範囲が小さいものから徐々に本番環境に投入する構成を作るなど、なるべく低コストで素早く実施可能な手段を尽くしていきました。

逆に言えば、これらの具体的な事例がより多くでていれば、より工数を小さくしたり、よりサービスの本質的なことに時間を割くことができるはずです。 したがって、移行に関する知見や運用の内容をまとめたハンドブックをWebフロントエンドの開発者の立場から公開することにしました。 賛否や良し悪しは必ずありますが、ぜひ自分の時間を有効活用できるように建設的な意見を発信していきましょう! この場を借りて、多くの情報を公開している開発者に感謝します!


株式会社ドワンゴでは、教育事業、ニコニコ事業、モバイル事業など様々なサービス、コンテンツを一緒につくるメンバーを募集しています。 ドワンゴに興味がある。または応募しようか迷っている方がいれば、気軽に応募してみてください。