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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
o_tomomichi
February 04, 2018
Technology
8.9k
3
Share
Herokuの無料プランで月間100万PVをさばく(さばかない)話
o_tomomichi
February 04, 2018
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.8k
Other Decks in Technology
See All in Technology
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
200
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
210
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
170
さきさん文庫の書籍ができるまで
sakiengineer
0
330
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー
tkyowa
0
150
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
280
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
320
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
580
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
960
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
120
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Accessibility Awareness
sabderemane
1
130
Raft: Consensus for Rubyists
vanstee
141
7.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Building Applications with DynamoDB
mza
96
7.1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
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.