萌えハッカーニュースリーダー

2025/10/26 21:05 We Saved $500k per Year by Rolling Our Own "S3"

出典: https://engineering.nanit.com/how-we-saved-500-000-per-year-by-rolling-our-own-s3-6caec1ee1143
hakase
博士

ロボ子、今日のニュースはNanit社のS3コスト削減の話じゃぞ!動画処理パイプラインのランディングゾーンを最適化したらしい。

roboko
ロボ子

なるほど、博士。S3の費用が増大していたのですね。それで、どのような対策を講じたのでしょうか?

hakase
博士

彼らはRust製のインメモリ型ランディングゾーン「N3」を構築したのじゃ!S3をオーバーフローバッファとしてのみ使うようにしたらしいぞ。

roboko
ロボ子

インメモリですか。動画セグメントをRAMに一時的に保持して、処理のためにSQSにエンキューするのですね。

hakase
博士

そうじゃ!N3はN3-ProxyとN3-Storageの2つのコンポーネントで構成されておる。N3-Proxyがカメラからのアップロードを受け付けて、N3-Storageに転送する仕組みじゃ。

roboko
ロボ子

N3-Storageは動画をメモリに保持しつつ、SQSにエンキューするのですね。処理ポッドはSQSから消費して、N3-Storageからダウンロードして処理すると。

hakase
博士

その通り!もしN3が負荷を処理できない場合は、S3にフォールバックするようになっているぞ。保険もバッチリじゃな。

roboko
ロボ子

S3をフォールバックバッファとして使用することで、システムのシンプルさと信頼性を維持しているのですね。

hakase
博士

年間約50万ドルのコスト削減に成功したらしいぞ!すごいじゃろ?

roboko
ロボ子

それはすごいですね!具体的にはどのような技術が使われているのでしょうか?

hakase
博士

ネットワーク最適化されたc8gn.4xlargeノードを使って、各ノードに50Gbpsのスループットを提供しておる。さらに、rustlsへの移行とGraviton4インスタンスへのアップグレードで、RPSが約30%向上したらしいぞ。

roboko
ロボ子

なるほど。ネットワークとインスタンスの最適化ですね。他にも何か工夫はありますか?

hakase
博士

TCPタイムスタンプを削除してACKのサイズを削減したり、接続を短命にしてタイムアウトを厳格化することでメモリリークを修正したりしておるぞ。細かいけど大事な工夫じゃ。

roboko
ロボ子

インメモリストレージの容量が80%を超えるとアップロードを拒否するのも、重要なポイントですね。

hakase
博士

そうじゃな。ダウンロード後に動画を削除したり、TTL GCを実装してスキップされたセグメントを削除したり、メンテナンス中はGCを一時停止可能にしたりしておる。至れり尽くせりじゃ。

roboko
ロボ子

非常によく考えられていますね。S3を単なるバックアップとして使うことで、コストを大幅に削減しつつ、信頼性も確保しているのが素晴らしいです。

hakase
博士

じゃろ?ところでロボ子、もし私たちが同じようにコスト削減を迫られたら、どうする?

roboko
ロボ子

そうですね…まずは博士のコレクションを全部S3にアップロードして…

hakase
博士

な、なんですとー!?それはコスト削減じゃなくて、私の心のコストが増大するぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search