419
296

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nuxt.js+Firebase+GAEで作った個人サービスが半月で2万PV超えたので実績値を全て公開する

Last updated at Posted at 2019-10-03

こんなサービス作りました

Twitterで大喜利するサービスです。
8月中頃にローンチしたのですが、有難いことに半月で約2.5万PVいきました。

開発に至ったポエム記事はCrieitに投稿しています。
なぜ大喜利サービスを作ったのか

この記事について

やっぱり公開直後は怖かったです。

そう、クラウド破産
Firebaseの設定を間違えて72時間で300万円以上請求されてしまったウェブサービス
BigQueryで150万円溶かした人の顔

上記以外にもネット上にはインパクトのある高額請求の記事がたくさんあり、
内容を確認すれば「なんだそんな事か」となるのですが、
実績値というのはセキュリティやNDAの関係からか、なかなか出回ってません。

個人開発ならそんなの関係ねぇ

って事で全て公開します。
使い方によって大きく変わる所かと思いますが、何かの参考(個人開発の後押し)になれば幸いです。

#環境構成

  • Nuxt v2.8.1

    • SSRモード
  • GAE

    • standard
    • runtime: nodejs10
    • instance_class: F1
  • Firestore

    • 改めて別記事書こうと思いますが一般的な構成だと思います
  • Cloud Functions for Firebase

    • engine: node8
    • ユーザー登録/脱会/ツイート/いいねRT集計/バックアップ で使用
  • Cloud Storage for Firebase

    • OGP画像の保存に使用
  • Regionは全てasia-northeast1

使用量

PV数

スクリーンショット 2019-10-03 20.46.11.png トータルで約2.5万PV。 デイリーだとローンチ直後の約5,500PVがMAXです。

割り当て

スクリーンショット 2019-10-03 20.26.04.png アクセス数に比例した増加は見られませんでした。

GCP Storage egress between NA and APAC
使用量: 3.59GB
一番費用が発生してるこれ、よく分かってません・・・
GAEのデプロイにかかる項目なのかな?と思ってます。

Cloud Firestore Entity Writes Japan
Cloud Firestore Read Ops Japan
Write: 480,077
Read: 606,253
Firestoreは1日単位で無料枠がリセットされるのですが、リリース直後はちょっと無料枠から足出た程度ですね。
21日辺りは障害等でデータいじってた・・・気がします。

#諸経費

サーバー代

スクリーンショット 2019-10-03 19.57.20.png 0円でした。 使用量として57円かかってるのですが、 GCPには1年間有効な$300のトライアルクレジットがあるので、そこに収まってます。 クレジットを$0.5消費しました。使い切れる自信がありません。

ドメイン代

スクリーンショット 2019-10-03 21.03.26.png 1,600円です。 [Google Domains](https://domains.google.com)でappドメインを取りました。 appドメインはSSL証明書無しでは使えないという安全なドメインです。 GAEの場合、SSL証明は[デフォルトで有効&無料](https://cloud.google.com/appengine/docs/standard/nodejs/securing-custom-domains-with-ssl?hl=ja)です。

#収益
AdSense広告を導入しています。
キャプチャは載せて良いのか分からなかったので・・・
半月で約1,300円でした。

#所感
環境構成について
一番びっくりしたのはNuxt.jsがF1インスタンスで落ちずに稼働していることです。
公式ドキュメントでもF2が推奨されてるのですが、F2では無料枠に収めることが難しいです。
バックエンド処理をFirebaseに任せてるおかげで負荷が少ない構成になってるのかなーと思います。

費用について
正直「バズった」と言える数値ではないと思ってるので「バズっても大丈夫」とは言えないです・・・
座布団数(ボケツイートのいいね/RT総数)も、現在のランキング1位は3桁です。
「バズっても大丈夫」と分かったら改めて記事書くので、誰かバズってください。

しかし、まぁバズが発生してない個人開発としてはそれなりのアクセス数だと思ってます。
それで数十円なので「そんなに怖くないよ!」とは言えるかと。

安心して使うために

  • GCPの課金アラートを設定する
  • Firestore Rulesはちゃんと書く
    は最低限やっとくべきです。
    ただ、Rulesはちゃんと書くと一般的なバックエンド処理と同レベルの規模になると思います。
    最低限の尺度が難しいですが、認証/取得件数/タイムスタンプ比較辺りは最低でもやっておくべきです。

マネタイズについて
AdSenseに頼ったサービスの運営は凄く難しいという体験をしました。
PV落ちたら施策を打たないといけないので放置出来ないし、
収益率はAdSenseの匙加減1つで大きくブレそうです。

前作ではマネタイズしてなくて、正直「もしバズったらお金かかるよな・・・」とアクセス数に対してネガティブになってました。
その経験を踏まえ、広告を貼りました。
結果、素直に「バズれ!」と思えるようになったので、それだけでも導入した価値はあったかと思います。

#おわり
今後、この個人開発で得た知見で記事書こうと思ってます。

  • TwitterAPIがBANされた話(2019/10/17 書きました
  • Firestoreの構成について
  • 文字入れ画像を作るソースコード
  • オレオレアトミックデザイン

他に「ここ知りたい」等あれば公開しますし、ボリュームある内容であれば記事書きます!

ただ、一番書きたいのは「バズっても大丈夫だった件」です。

Twitter連動型 大喜利サイト「ついぎり」
ogpTop_small.png
面白い投稿お待ちしてます:yum:

419
296
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
419
296

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?