この記事では、現在サーバーサイドを実装するにあたって、簡単に無料枠でできるサービスについての長所、短所についてをまとめてみました。ほかにも無料で利用できるサービスもあると思いますが、今回は公開されているものの中で特に有名で、今後も使われ続けるであろうサービスを中心にを挙げてみました。
Heroku
公式サイト:https://jp.heroku.com/
対応言語:Node.js, Ruby, Java, PHP, Python, Golang, Scala,Clojure, etc...
長所
- 多くのプログラミング言語に対応している
- Dockerfile で簡単に環境構築ができる
- SQL やRedis といったDatabase を無料で利用することができる
- すでに多くの記事が上がっていてわからないことがあっても簡単に調べられる
短所
- 30分間アクセスがなければ停止して、再び起動させるのに時間がかかる
- MySQL やRedis で使用できる容量が圧倒的に少ない(MySQL なら5M バイト程)
Firebase Functions
対応言語:Node.js, C++. Kotlin, Java, Object-C, Swift
長所
- Firebase で使用できる認証機能やStorage 機能と簡単に連携できる
- Analytics といったGoogle ライブラリとの連携が簡単に行える
- Emulator が用意されているため、ローカル環境下でも動作確認することができる。
短所
- GitHub へ master ブランチに push すると自動的にデプロイするシステムが公式で用意されていない
- API を 公開するためには、従量課金制のBlaze プランに変更しないと利用できない
- 使用できる言語のバージョンが古い(Node.js なら 8, または10)
Netlify Functions
対応言語:Node.js, Golang,
長所
- Emulator 環境が用意されていて、ローカル環境でも試せる
- Forms やCMSの機能が充実している
短所
- 公式でDatabase 環境が用意されていないため、外部のDatabase を利用する必要がある
- ドキュメントが英語しか対応しておらず、日本語の記事が少ない
Verecel (Serverless Function)
対応言語:Node.js, Python, Golang, Ruby
長所
- GitHub だけでなく、GitLab やBitBucket よりプロジェクトを読み込んで自動で立ち上げることができる
- Nuxt.js やNext.js でSSR で実装できるように公式のドキュメントやライブラリが用意されている
短所
- Database が公式で用意されていないので、外部のDatabase と連携する必要がある
- 無料枠でできるプランの変化が激しく、今後どこまでできるかがはっきりしていない
- SSR で実装する際に、Firebaseといった一部のライブラリが使えなくなる問題がある
今後、無料枠でできることがどんどん変化していきますので、注意してください。