個人開発でのサーバー料金等の運用コストについて調査・検討
さて、そろそろ本格的にwebサービスの開発に着手していきたいと思いますが。
まず、全体の構成として
Go(gin) + Next.js
というのは決定しています。
そしてNext.jsをデプロイする先はvercelでほぼ決まりでしょう。
企業で本番環境で使うことはあまりないようなのですが、個人開発にとってはもってこいです。無料かつデプロイが超簡単なので。
herokuのノリですかね。
APIサーバー
AWSが親しみ慣れているが、せっかく個人開発なので、使ったことないサービスとか馴染みないサービスを使ってみたいところ。
なので、GCPを使おうと。
CloudRunが良さそう。
コンテナを簡単にいい感じにデプロイしたり、マネージしてくれたりするやつ?
料金も使わなければ安そう。
AWSのApp Runnerみたいなやつとのこと。
App Runnerも初見だった。
見ると2021年5月リリースなので、自分がエンジニア休憩していた時期だった。
友人にはCloud RunはAWSでいうECSみたいな感じって聞いていたが、それよりも簡単そう。VPCとかネットワークとかセキュリティグループとかの設定も皆無らしい。強い。
Cloud RunとCloud SQLについて書いてあった。
さらっとCloud SQLのミニマム料金書いてあった。12$くらいと。ちょっと調べてみても出てこなかったので助かる。
やはりCloud Runは良さそう。
ベストではなくてもベターではありそう。一回使ってみたいってのはあるので、これを採用する。
料金について
リクエストの処理中のみCPUを割り当てるサービスの料金
CPU: 毎月最初の 180,000 vCPU 秒は無料
メモリ: 毎月最初の 360,000 GiB 秒は無料
CPUが常に割り当てられるサービス
CPU: 46.656$/月(無料枠を加味していない)
メモリ: 5.184$/月(無料枠を加味していない)
これは後者は高すぎるので、前者でやる。
前者だと無料でできそう。
データベース
今回は普通にRDBMSでテーブルの設計をなんとなく考えていたので、となるとCloud Runを使う以上GCPでやるのがやりやすそうで、つまりはCloud SQLが有力です。
ネックになるのは料金。
個人開発者にとってこれは死活問題。
公式を見てみても、料金体系がよくわかりづらい。
これによると、(4年前の情報だけども)ミニマムで月額1500円弱くらい。
AWSのRDSでも東京リージョンでミニマムでも18$/月くらいかかるので、1500円だったら飲み込めるか。。
あるいは、無料で使える?データベースとしてFirebaseを選択するか。
しかし、今回GoとNext.jsが所見なので、ここにFirebaseも入ってくると流石に勉強期間が長過ぎてだれる恐れがあるので、やめときたい。
Firebaseそのものもそうだし、そもそものNoSQLでのデータのリレーションとかどうするのかとかもよくわかっていないため、かなり学習コストが高い。
それにGoを今後使っていきたいとして、殆どの企業では基本的にはRDBMSを使っている?と思うので、そのあたりにスムーズに入れるように、一旦今回はNo NoSQLでいきます。
料金について
vCPU: $39.19 per vCPU・月
メモリ: $6.64 per GB・月
ストレージ: HDD ストレージ容量: 1 GB あたり $0.117/月
ネットワーク: 内向き・外向きともにGoogleプロダクトなら大陸内は無料
インスタンス: 一番安いやつで$9.96/月
CPUとメモリ料金に加えて、インスタンス料金もかかるってこと?
インスタンスにはCPUとメモリは含まれていないの?
sharedの場合は、インスタンス料金だけでいけるような雰囲気がある。
これによると、1,646円。まあ許容できる。
あとはドメイン代くらいか。
全体で月2000円くらいで運用できそうかな。
がんばります。