概要
Cloudinaryは、画像及びビデオといったメディアを管理、効率的に配信し、ブラウザの表示スピード改善することができるサービスです。
利用方法としては以下2通りのパターンがあります。
- Cloudinary上でコンテンツを管理し配信
- コンテンツをS3等で管理し配信
Cloudinary上でコンテンツを管理し配信
Cloudinary上でメディアコンテンツを保管し、webサイトはCloudinary上のコンテンツを取得する使い方になります。
コンテンツをS3等で管理し配信
S3等のストレージサービスでコンテンツを管理し、Cloudinary経由で取得する使い方になります。
現状のこちらの使い方がメジャーな気がしています。
特徴
ではCloudinaryを使用する上でのメリットとなる特徴を解説します。
1.最適な画像形式での配信
画像配信のパフォーマンスを上げるためには、画像ファイルサイズを最小限に抑えることが重要になってきます。
webサイト上における画像の読み込み時間の短縮に繋がり、結果としてサイトの表示が速くなるからです。
そこで、Cloudinaryが着目したのはGoogleが開発した"WebP"と呼ばれる画像フォーマットです。
WebPは、"2010年にGoogleが初めて発表した強力な画像フォーマットで、高度な圧縮技術により、WebP形式は、一般的なJPEG(非可逆)およびPNG(可逆)画像形式よりも大幅に小さいファイルを使用して写真をエンコードする技術。"の様です!
しかし、全てのブラウザでWebPが利用できるわけでないようで、WebPがサポートされていないブラウザもある様です。(Google Cromeは利用できる模様)
そこでCloudinaryは、webサイトを開くブラウザがWebPをサポートするかどうかを識別し、サポートする場合は自動的に画像をWebPフォーマットに変換し配信します。(その場合、呼び出しURLに'f_auto'パラメータを設定する必要がありますが本記事では割愛)
2.Cloudinary側での画像加工
Cloudinaryを使用して画像や動画を呼び出す際に、Cloudinary側で対象のメディアを加工しサイトに表示することができます。
これの何がいいかというと、サイトで画像を表示する際に通常CSSを使用して画像のリサイズ等を行いますが、これでは画像取得→CSS適用→表示の処理を踏む為、パフォーマンスが落ちてしまいます。
Cloudinary側で加工処理をになってあげると、サイト側では画像取得→表示だけになるので結果として、サイトの表示速度の向上が期待できます。
また、RESTful APIやSDKといった、開発者に対して使いやすいインターフェースを提供しているので、アプリケーションへの組み込みも簡単に行うことができます。
3.CDN(コンテンツデリバリネットワーク)としてのメディア配信
また、CloudinaryはCDNとしての機能も提供しています。
ユーザーに最も近い場所からコンテンツ(画像や動画)を提供することで、パフォーマンスの向上と読み込み時間の短縮が可能です。
また特徴2でお伝えした加工した画像、動画もキャッシュとして配置しておくことができるので、2回目以降の読み込みが高速になります。
使ってみよう
実際にCloudinaryを使ってみましょう!
以下URLからCloudinaryのサイトに飛んでください。
以下画面に飛んだらメニューから「SIGN UP FOR FREE」を選択します。
プランはいくつかありますが、ここではフリープランを選びましょう!(各種プランについては一旦割愛)
サインアップ完了後、メニューから「Media Library」を選択すると以下画面に遷移します。
ハンズオンのため、何か画像をアップロードしてみましょう!「アップロード」ボタンを押してください。
アップロードする画像は自由ですが、筆者は以下画像をアップロードしたいと思います!(unsplashより)
アップロードが完了しましたら、準備完了です!
それでは上記画像の取得URLになりますが、CloudinaryのURLは基本的に以下で構成されます。
今回、以下の項目以外は任意で設定する項目なので省きます(すみません。)
- クラウド名:ユーザー毎に割り振られている値です。メニューからダッシュボードに遷移することで確認できます。
- アセットタイプ:何のコンテンツかを指定する項目で、
image
、video
、raw
から選択します。今回は"image"を指定します。 - デリバリータイプ:コンテンツをどの様に配信するかを指定する項目です。今回は"upload"を指定します。
他の項目情報についてはこちら - パブリックID:Cloudinary上のコンテンツに割り振られているIDです。以下の部分がパブリックIDになります。
- フォーマット:コンテンツのフォーマットを指定することができます(jpg、png等)。今回はjpgで指定します。
画像に対して指定できる項目はこちら
上記踏まえるとアップロードした画像のURLは以下の通りとなります。(クラウド名とパブリックIDはご自身のを置き換えてください)
https://res.cloudinary.com/*******/image/upload/dog.jpg
上記をブラウザのURL欄に入力すると以下の様に画像を取得できます。
まとめ
今回は一旦、Cloudinaryの概要から簡単なハンズオンまで解説しました!
Cloudinaryの本命機能であるコンテンツ加工機能やS3からのコンテンツ取得等の解説はまた別で解説しようと思います!