概略
簡潔に説明すると、以下のメルカリの事例のような画像配信の仕組みを運用に載せました。
画像変換基盤は自前で構築しました。
サービスインを社内でアナウンスしてもあまりにも反応が少なかったので、供養のためにQiitaにのせときます。
どこかのサービスの運用コストが下がる、もしくは技術的課題の解決につながればよいです。
どんなプロダクト?
サービス自身には 中央値が 2.5k rpsくらい。直近5日くらいの最大が 5k rps くらい、
画像のCDNに対しては中央値が 4k rps くらい。直近5日くらいの最大が 8k rps くらい
の規模感のサービスです。
クローラからもそれなりにリクエストくるのでそれなりのサービスです。
日系のサービスだったらそこそこのサービスだと思っています。
基盤を構築する背景
当該のサービスは10年以上運用されているのでストレージにためられた画像のデータ量がペタ(単位)を超えてます。
同じ画像で画像サイズだけが異なっているものが数種類あって、それを管理しているだけで毎年相当なコストがかかっていました。
FinOpsの一環でストレージのコスト削減の施策を行うことになりました。
施策の内容は、
- ストレージに保存されている数種類ある画像を1枚にする
- それぞれのサイズはユーザからリクエストされたときに元画像からリサイズを行い、配信する
- 配信した画像はCDNにキャッシュする
つまり、A社やS社が提供している画像変換配信エンジンをかます
というものでした。
それぞれの会社さんに当該サービスの導入コストをヒアリングしたのですが、
試験段階の自作アプリの運用試算のが運用コストを落とせそうだったので、一旦自前で構築・運用してみよう
という流れで、画像変換配信のシステムを自前で構築しました。
結果
本番運用できるものを構築できました。
運用にのせることができました。
コストは画像配信全体で 20 ~ 30 core CPU くらいのサーバリソースで画像配信ができることがわかりました。
アプリケーションはコンテナ化されているので、アプリケーションに割り当てているCPUとコンテナの台数をもとに算出しています。
AWSのEC2とかをもとに計算してみると 8xlarge 2台分くらいでしょうか?
1時間で 2〜3USD くらい?
システムの運用コストは月額 30万円 くらいです
年間で 360 万円
そこそこかかるように思えてしまいますが、当該のシステムのストレージの運用コストはそれを遥かに上回っています。(年間で数千万かかっているみたいでした。)
詳しい話が聞きたい方はコメントかDMください。
会社にバレてなにか言われたらこの記事は削除します。