KBOYさんが【Firebaseあればサーバサイドエンジニア要らない説】という動画で解説していたので僕が思うFirebaseの利点について書きたいと思います。
動画はこちら。サクッと見れるのでぜひ!
mBaaS(Mobile Backend as a Service)として大人気のFirebaseですがどういったサービスがあって、使うとどんなメリットがあるか下記項目について深掘りしていきたいと思います。
- Cloud Firestoreを使うとAPI実装の工数を激減できる
- Cloud Functionsを使うとサーバ管理から解放される
Firebaseといってもサービスは色々あるのですが、この2つのサービスを使うことでFirebaseの恩恵を一番受けることができるのでこの機会にぜひ押さえておくといいです。
Cloud Firestoreを使うとAPI実装の工数を激減できる
Cloud Firestoreはモバイル、フロントエンドなどのクライアントから直接DBにアクセスすることができるサービスです。
クライアントから直接アクセスすることでAPIが要らない
Cloud FirestoreはFirebaseの認証機能とセキュリティルールを使うことで直接DBにアクセスすることができます。直接DBにアクセスすることの何がいいかというと、APIを実装する必要がなくなります。
これがサーバエンジニアが要らないと言われる1番の理由です。APIを実装しないことでサーバエンジニアとのコミュニケーションコスト、つなぎ込み処理、APIの実装コストがなくなるのでめちゃくちゃ工数を削減できます。
これまで開発に必要だったサーバエンジニア1人分も削減できるので個人開発、スタートアップは積極的に使うことをお勧めします。
DBは管理コストがかかるがCloud Firestoreはかからない
通常、DBへのアクセスをサーバサイドからに限定することで管理をしやすくしたりセキュリティレベルを上げています。
しかし、DBサーバの管理は簡単ではなく、耐障害性・可用性を考慮して、複数リージョンにDBのレプリケーションを作ったりと非常に管理・運用コストがかかります。
Cloud Firestoreであれば複数リージョンにデータを冗長化してくれるし、世界規模のスケールを想定してサービスが作られています。この品質レベルのサービスがマネージドで安価に使えるのは大きなメリットです。
Cloud Functionsを使うとサーバ管理から解放される
Cloud Functionsもサーバ管理が要らないサーバーレスで、プラットホーム上で任意のファンクションを実行できるFaaS(Function as a Service)です。
Cloud Functionsを使うとWEBサーバが要らない
Googleが管理しているサーバ上でAPIを実行できるのでサーバの管理と負荷対策で時間を取られることがありません。
リクエストが多くなればAPIを起動するコンテナが自動でスケーリングし、使わない場合は0にまで減るので料金もあまりかかりません。
基本的に単純なデータの更新、取得はクライアントから直接行うことで実装すべきAPIの数を格段に減らすことができます。なので、複雑な処理を行う場合のみ実装すればいいのでCloud Functionsもそんなに実装しないです。
他のサービスとの連携機能が協力
Cloud FunctionsはCloud Firestoreでデータが更新されたらそれをイベントにファンクションを起動することができます。APIだけでなくイベント駆動で処理を実行することもできます。
他にもCloud Messagingを使うことでデータ更新をトリガーにプッシュ通知を送ることもできるし、Firestoreのバックアップをとったり、BigQueryにデータを突っ込むことも簡単にできます。
まとめ
Firebaseを使うことでWEBサーバやDBサーバの管理が必要なくなり、サーバエンジニアを必要としない環境を構築することができます。
インフラの管理工数を減らしたり、少人数で開発を行いたいときはぜひ試してみてください。本日は以上です。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す