はじめての個人開発では、Firebase を使ってみよう!(1) ~概要編~
こんにちは。地図パズル製作所では、Firebase を使っています。今日は Firebase を個人開発で使うといいと思った理由を説明します。とはいっても、私自身 Firebase を使うのは二回目だったので、あまり詳しくないですが、頑張って説明していきます!
個人開発したいけどインフラ何にしよう?と考えている方、個人開発するのってコストが高くて大変じゃない?と思っている方、参考にしてください!もちろん個人開発でなくても、Firebase を使うとどんないいことがあるの?と思っている方、ぜひ読んでみてください!
とその前に、地図パズル製作所の宣伝です。
地図パズル製作所とは
地図パズル製作所は地図のパズルができるウェブサービスです。最初は、学生さんの地理の勉強に役立ててもらえるのではないかと思っていたのですが、、正直なところあんまり勉強にはなりません(笑) これは、9割遊びです(笑)
はじめての方は、64ピースの日本地図がおすすめです。10分以内でできたら上級者です!
※上の画像は地理院タイルを加工して利用しています。
以上、宣伝でした!
Firebase とは
Firebase とは アプリや、ウェブサイトのバックエンド(サーバー側)を簡単につくることができるサービスです。データベースサービス、認証システム、ストレージサービス(画像やファイル類の保存場所)、ホスティングサービス(HTMLや画像ファイルなどを置いて配信するウェブサーバーのようなもの)、などがあり、スマホアプリやウェブアプリを作りたいときにやりたいことはたいていできちゃいます。
では、ここからは Firebase の利点をいくつか解説していきます!
利点1:安い!
Firebase には十分な無料枠があり、データベースサービス、認証サービス、ホスティングサービスを無料で使うことができます。特に、システム開発ではデータベースの料金がネックになってしまうことが多いですよね。なので、性能の高いデータベースが無料で使えるというのは個人開発では大きな魅力です。一般的な RDB のデータベースサービスを使うと、月何千円もかかってしまいますからね。
もし、有料枠のサービス使うことになったとしても、そちらもとても安いです。私が最近会社で開発したシステムでは、有料版の機能を使って1分ごとにバッチを実行しているのですが、それでもかかった費用はたったの 12円/月でした(笑) 本当に安いです。
利点2:自動でスケールしてくれる!
システム構成を考えるときには、スケールするように作ることが重要です。
サーバーレスではないシステム構成の場合は、普段はサーバーの台数を少なくしておいて、アクセス数が多くなったらサーバーの台数を増やして、と設定しますよね。最近は簡単にできるようになってはいますが、それでもやはり、サーバーレスでないシステム構成でスケールするように構築するのは一手間です。
でも、Firebase を利用すると、自動でスケールしてくれます。面倒な設定は全く必要なし!私のように、自分の作ったシステムがたくさんの人に使われることを夢見ているめんどくさがり屋には、とても魅力的です(笑)
利点3:インフラ管理不要?
以前はシステム構築するには、物理的なサーバーを買うことから始めなければいけませんでした。でも、時代を経て、クラウドを使うことができるようになり、、そして、今ではブラウザから設定するだけで使えるようになりました。その中でも Firebase は特に楽々です。ブラウザから本当にちょっとだけの設定をするだけで使えるようになります。
もちろん、サーバーをメンテナンスしたりする手間もありません。だから、開発者は自分の書くソースコードに集中できます。ただ、以前に頑張って勉強した Linux や Apache のインストールの仕方、そういうのが必要のない時代が来てしまい、ちょっと寂しい気持ちもあります。。。
デプロイもとても簡単です。最初に少し設定をすれば、後は firebase deploy
というコマンドを実行するだけで、リリースできます。すごいというか、ちょっと恐ろしいです(笑)
利点4:安定安心の Google!
今の時代、多くの人が Google なしでは生きていけないと思います。検索も Google検索、メールも Gmail、ブラウザは Chrome、、、私もそんな Google に抱え込まれてしまった人の一人です(笑) Firebase はそんな Google が提供しているプロダクトの一つです。なので、絶対に安心!とは言い切れないかもしれませんが、他のサービスより、安心感は大きいです。そんな Firebase を、私はこれからも積極的に使用していきたいと思います。Google の思うつぼですね(笑)
最後に
Firebase には今まであげたもの以外にもたくさんの利点があります。例えば、リアルタイムにデータを取得できたり、API を簡単に作成したりすることができることなどです。そして、もちろん、弱点だってあります。
まだまだ、語りたい気持ちもありますが、今回の記事はこれくらいで終わりにしたいと思います。この記事の第二弾、第三弾も投稿していく予定ですので、よろしくお願いいたします!
Discussion