6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実装する前に調べて!S3 vs Cloudinary で学んだ、後悔しない技術選択

6
Last updated at Posted at 2025-12-21

はじめに

RUNTEQ Advent Calendar 2025 に参加するsahoです!
みなさんは課題やアプリ開発をする前にその技術について
どれくらい調べているでしょうか?
私は、issue作成時点でぼんやりと記事を見てしっかり調べていなかったので
失敗してしまったのでそのことをお伝えしようと思います。

私の失敗

カフェSNSアプリを開発していて、投稿に画像を追加できるよう ActiveStorage を実装しました。
その後、ファイルサイズ軽量化のため JPEG や PNG をWebP に変換する処理を実装。
そして本番環境での画像保存のため、S3 と Cloudinary のどちらを使うか
ここで初めてきちんと調べました。 ← これが手遅れだったのです😅

なぜ失敗したのか?

実装前に調べていれば、WebP 変換を実装せず Cloudinary を選んでいたはず。
実装後に調べたから、すでに WebP 変換のコードが完成していて
後から変更しにくくなってしまいました。

S3 vs Cloudinary の違い

Cloudinary は公式で「サイズ、品質、解像度が自動的に最適化される」と明記されています。

つまり、Rails で WebP 変換してから Cloudinary に送ると:

Rails(WebP に変換)→ Cloudinary(さらに最適化)= 二重最適化 ❌

一方 S3 は「ストレージサービス」なので:

Rails(WebP に変換)→ S3(そのまま保存)= 最適化は1回 ✅

学んだこと:実装前の調査が大切

  • 複数の選択肢がある時は、実装前に比較検討する
  • 公式ドキュメントで各サービスの仕様を確認する
  • 一度実装したら戻すコストは大きい

最後に

調べるのは大変ですが、実装前のたった10分の調査が
後々の作業効率を大きく左右します。

皆さんは私のような失敗をしないよう、
技術選択が必要な場面では必ず事前に調べることをおすすめします!🌟

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?