Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Herokuの無料プランで月間100万PVをさばく(さばかない)話
Search
o_tomomichi
February 04, 2018
Technology
3
8.8k
Herokuの無料プランで月間100万PVをさばく(さばかない)話
o_tomomichi
February 04, 2018
Tweet
Share
More Decks by o_tomomichi
See All by o_tomomichi
個人開発からのんびり育てる意識低いWebサービス開発の話 / Easy going web development
tomomichi
0
2.1k
個人開発を支える何も作らない技術 / No Devs No Bugs
tomomichi
3
1.1k
FirebaseでSPAするときのSEO/OGP対応もうこれでいいんじゃないですか2018暫定版
tomomichi
1
7.6k
Other Decks in Technology
See All in Technology
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
800
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
270
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.7k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
Language Update: Java
skrb
2
290
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Facilitating Awesome Meetings
lara
55
6.5k
Practical Orchestrator
shlominoach
190
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
KATA
mclloyd
32
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Automating Front-end Workflow
addyosmani
1370
200k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Designing for Performance
lara
610
69k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Into the Great Unknown - MozCon
thekraken
40
2k
Transcript
Herokuの無料プランで 月間100万PVを さばく(さばかない)話 @Heroku Meetup #19 Heroku Trust!
自己紹介 • なんちゃってWebエンジニア • ぼっちWebサービス開発 • 合同会社を準備中(がんばる) おおにし @NOT SO
BAD
ニッチなWebサービスを作る性癖があります トーナメント作成サービス 【THE TOURNAMENT】 年表作成サービス 【THE TIMELINE】 Rails Heroku Riot.js
Firebase
簡単・便利なトーナメント表作成サービス
THE TOURNAMENTの話 ・細々と4年前から運用 ・意外と法人利用が多い ・売上もある(儲かってはない) ・ときどきアクセス跳ねるけど、基本 FreeDynoのみで運用
None
THE TOURNAMENT埋め込みパーツ(iframe)
間接Yahoo!砲
(余談) 埋め込みパーツの提供は ツール系サービスの集客にGood
(やっと本題) システム構成どうしてるか
更新系と閲覧系を別にする Heroku Google Cloud Storage
【THE TOURNAMENT】 Heroku GCS 【外部サイト】 更新 閲覧 閲覧 静的HTMLを出力
• かなり安い • 十分速い • スケールの心配ゼロ
https://note.mu/konpyu/n/nb424a9a2ea8a
やり方が違う(Fastly)だけで コンセプトはたぶん同じ。
Edge Server 【Fastly】 Origin Server 【Heroku】
たぶんFastlyが正解という前提で、GCSのメリット • 固定料金「$25/月〜」(Heroku Fastly Addon)が不要 →Addonの最低料金は静的アセットの前提?動的コンテンツ のキャッシュはもっとかかるのかも(知らない) →アクセスが多いとGCSでも多少お金かかるけどね • 導入が簡単・メンテナンスしやすい
→困ったらStorage見れば状態がわかる →3年間ほぼトラブルなし
GCS方式のデメリット • 即時削除(Instant Purge)ができない →エッジキャッシュを諦めた。。 →元々east asiaのDRAなので、そんなに課題感ないかも • 別ドメインになっちゃうことによるSEO問題 →(次ページ)
CDNの場合、アクセス先のドメインは常に同じ https://the-tournament.jp https://the-tournament.jp
GCS方式だと、どうしても別ドメインになる User https://the-tournament.jp User Edge Server Origin Server Heroku GCS
https://app.the-tournament.jp
解決案:Heroku側にcanonical向けてやれば…? User https://the-tournament.jp User Edge Server Origin Server Heroku GCS
https://app.the-tournament.jp <link rel="canonical" href="...">
canonicalは別ドメインでも有効。 でも最近知ったのでまだ未検証。 もっと早く知っていれば...
まとめ
ちゃんとしたサービスなら Fastly使いましょう
でもうちみたいな弱小サービスなら GCS(S3)形式もワンチャンあるのでは
Thank you.