2014年10月24日金曜日

Herokuでファイルホスティングする方法

備忘録。

ファイルホスティング(webサイトの静的ページ=画像とかJSとかCSSを公開する)一般的な方法として最近はAmazonのS3を使うことが多いかと思いますが、Herokuでアプリを公開している場合、特に企業組織で複数アカウント開発している場合、ファイルホスティングのためだけにS3用のアカウント作って、課金も別になりちょっと管理が面倒。

そういうときにHerokuでファイルホスティングするTIPSです。

まだ試してませんが、Herokuエバンジェリストの@ayuminさんから教えて頂いたので一番ベストは方法のはず!

ここで「普通にアプリ内にファイル置くじゃだめなの?」って疑問がある方もいらっしゃると思いますが、Herokuなどのスケール型のPaasだと、リクエスト毎にアクセスされるノード(Dyno)が異なるため、画像などの大きなファイルを置く場合うまくキャッシュされずパフォーマンスに影響がでてしまうので、通常静的ファイル用のサーバーを立てたりします。

では、手順。

1)置くファイル一式をPHPアプリとしてHerokuにデプロイ

(HerokuへのデプロイやGitの使い方は割愛)

「PHP書くのー?」って人もいるかと思いますが、空のcomposer.jsonというファイルを置くだけでPHPアプリとしてみなしてくれるそうです。
あとは、画像とか適当に配置して、git push!

2)Fastlyというアドオンを入れる


HerokuでCDNぽい環境を作ってくれるアドオン。
https://addons.heroku.com/fastly

まあ、今回のTIPSの肝はこれなんですが。

置くファイルの容量や想定するリクエストなどに合わせてプランをチョイス。

S3も安いので単純に価格比較とだどっちがいいか一概に言えませんが
(ただこっちは月額計算で明瞭だし、$5@monthからだから安い)
Herokuで閉じるってのがメリットかと。
あと、展示会とかTV取材で「今日ピーク!」て時に画面でググっとグレード挙げるとかはHerokuの得意技ですね!

以上で、ちゃんとファイルが適切にキャッシュされるファイルホスティングができるはず!

ちゃんと使ってみたら素のHerokuアプリとのベンチマークとか図ってみたいと思います。

0 件のコメント:

コメントを投稿