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.7k
Other Decks in Technology
See All in Technology
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
150
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
6.1k
TypeScript 6.0で非推奨化されるオプションたち
uhyo
14
4.8k
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
320
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
4
680
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
550
JavaScript パーサーに using 対応をする過程で与えたエコシステムへの影響
baseballyama
1
140
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
1
660
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
350
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
160
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
120
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
3.6k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making Projects Easy
brettharned
120
6.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to Ace a Technical Interview
jacobian
280
24k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Invisible Side of Design
smashingmag
302
51k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Docker and Python
trallard
46
3.7k
Unsuck your backbone
ammeep
671
58k
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.