維持費をほぼ0円にする公開のしかた小さなアプリを、たくさんの人に届けるために
小さな会社がアプリを公開するとき、いちばん怖いのは「人気が出たら費用が払えなくなる」ことです。BAF STUDIO では、アクセスが増えても費用がほとんど増えない形で公開しています。その考え方を紹介します。
2種類の Web サイト
Web サイトは、大きく2種類に分けられます。
- 置いておくだけのサイト(静的サイト):あらかじめ用意したファイル(ページ、画像、プログラム)を、そのまま配るだけのサイトです。だれが見ても同じファイルが届きます。
- その場で計算するサイト(動的サイト):見に来た人ごとに、サーバーがその場で計算してページを作るサイトです。ログインやランキングなど、人ごとに違う内容を出すときに使います。
その場で計算するサイトは、アクセスが増えるほどサーバーの仕事が増え、費用も増えていきます。一方、置いておくだけのサイトは、ファイルを配るだけなので、とても安く、たくさんの人に届けられます。
計算は、遊ぶ人の端末でしてもらう
画像走は、画像の読み取りもレースの計算も、すべて遊ぶ人のブラウザの中で行います。サーバーがするのは、ゲームのファイルを配ることだけです。だからこそ、置いておくだけのサイトとして公開できます。
1回の訪問で届けるファイルは、ページと見た目とプログラムを合わせて約40KBです。スマホの写真1枚よりずっと小さな量です。仮に100万回遊ばれても、合計で約40GB。動画にすれば数本分です。
配信は Cloudflare に任せる
ファイルの配信には、Cloudflare(クラウドフレア)という会社のサービスを使っています。世界中に拠点を持ち、見に来た人の近くからファイルを届けてくれるので、表示も速くなります。
Cloudflare の静的ファイルの配信は、公式の説明で「静的ファイルへのリクエストは無料かつ無制限」とされています。サーバーの処理を足さない限り、アクセスが何百万回になっても、配信の費用はかかりません。実際にかかっている費用は、ドメイン(bafstudio.com という住所)の代金の年1,500円ほどだけです。
アプリごとに住所を分ける
BAF STUDIO では、アプリごとに「gazoso.bafstudio.com」のような住所(サブドメイン)を割り当てています。こうすると、
- アプリごとに独立した見た目や作りにできる
- 1つのアプリを直しても、ほかのアプリに影響しない
- ドメインは1つで済むので、住所の費用は増えない
という利点があります。新しいアプリを出すときも、住所を1つ足すだけです。
本番の前に「試す場所」を通す
費用を抑えても、品質は落としたくありません。公開には2つの場所を使っています。
- ステージング(試す場所)本番と同じ仕組みで動く、検索には載らない場所です。新しい版はまずここに出して、スマホやパソコンで実際に確かめます。
- 本番ステージングで確かめたのとまったく同じ版だけを、本番に出します。確かめていない版を出そうとすると、公開の手順が自動で止まるようにしています。
どの版をいつ公開したかは記録に残しているので、問題が起きたときもすぐに前の版に戻せます。
そのかわり、できないこと
置いておくだけのサイトには、できないこともあります。
- 世界中のプレイヤーのランキングを作る
- 遊んだ記録をサーバーに保存して、別の端末で続きから遊ぶ
- 結果ごとに、共有用の画像をサーバーで作る
こうした機能を足すと、サーバーの処理が必要になり、アクセスに応じた費用がかかるようになります。足すときは、遊びがどれだけ楽しくなるかと、費用のふくらみ方をてんびんにかけて判断します。
小さく作って、長く続ける
維持費がほとんどかからなければ、すぐに大きな人気が出なくても、アプリを長く置いておけます。だれかが何年後かに見つけて遊んでくれるかもしれません。小さく作って、長く続ける。それが BAF STUDIO のアプリの出し方です。