Firebaseの代替プラットフォーム – トップ10+ 競合比較
どの開発者も目標にしているのは、素晴らしいアプリを作ることです。そんな開発者の皆さんのために今回は、モバイルアプリの開発環境を向上させるのに役立つ、Firebaseの代替プラットフォームをご紹介します。
Firebaseは、BaaS(バックエンド機能を代行するクラウドサービス)市場に改革を起こし、席巻し続けています。その成長はとどまることなく、今では、Googleのモバイル戦略にとって、非常に重要な存在となっています。
過去に私自身も、Firebaseの熱狂的なユーザーの1人でしたが、その複雑さとコストへの懸念がきっかけで、他のクラウドプラットフォームの代替手段を探しはじめました。
Firebaseは開発に必要な要件を満たすための、洗練されたサービスを提供していますが、それが同時に、最も簡単で、速くて、手頃なプラットフォームかと、そうでもありません。「Firebaseを使わない理由」の記事では、Firebaseを使うことのリスクについても学ぶことができます。
さらに、Parseのような1番の競合他社ともいえるプラットフォームだけでなく、クラウドプロバイダーの数も大幅に増えました。こういった企業は、ユーザーの利便や手頃な価格を求める声を考慮し、独自の方法で、規模の小さな開発者向けのサービスを提供しています。
このチュートリアルでは、Firebaseの競合ともいえる複数のプラットフォームについて詳しく学んでいただけます。中には、比較的新しくとも、開発者に価値あるサービスを提供している会社も含まれています。このチュートリアルでは、Back4App、Parse、Backendless、Kinvey、Appwrite、Nhostなどの競合他社について取り上げます。
Contents
Parse – なぜ今だにParseプラットフォームが選択肢として挙げられるのか?
Parseは、2013年にFacebookによって買収された、モバイルおよびWebアプリケーション開発向けプラットフォームです。このプロジェクトは2016年にオープンソースとなり、それ以来、妥協を許さない開発者のエコシステムをサポートしています。
Parseはオープンソースであること、技術面でのサポートとなる心強い開発者のコミュニティがあること、そしてベンダーロックインがないプラットフォームであるため、選択肢として優れているといえます。
欠点としては、開発者のコミュニティによる構造化されたサポートに欠けること、そして、サーバーのインフラを構築する必要がある点です。
世界中の開発者は、モバイルアプリの構築と拡張性を高めるための、最も手頃なプラットフォームについて、議論を重ねてきました。
今回の記事では、モバイルアプリの開発において、FirebaseよりもParseのほうが優れていると言われる所以、そして、説得力のあるいくつかの論点を探ります。
まだ疑心暗鬼ですか?このまま読み進めていただき、論点の背後にあるロジックを理解してください。ベンダーロックイン、料金プラン、ホスティングのオプション、データストレージ、プラットフォームの機能などの観点を基準として比較していきたいと思います。
1.ベンダーロックイン
FirebaseはGoogleが提供するクローズドソースのプラットフォームで、MVP開発を素早く行えるような、多くの優れた機能を備えています。
しかし、開発者にとっての最大の懸念事項はベンダーロックインで、それがFirebaseの欠点とも言えます。
アプリを開発するために時間とお金を投資したにもかかわらず、ソースコードのコントロールができないとなると、いい気分ではないでしょう。それは賢い決断とは言えません。
賢明なベンチャーキャピタルやエンジェル投資家は、あなたがアプリのソースコードにアクセスできないと聞けば、スタートアップ資金の提供をためらうでしょう。クローズドソースのプラットフォームを使うことは、アプリを拡大させるチャンスを損なうことになりかねません。
それとは対象的に、Parse Serverのプラットフォームは、Facebookにより2016年にオープンソース化され、無料でダウンロードできるようになりました。開発者は、BSDライセンスの条件下でフレームワークを使用でき、ソフトウェアは幅広く、柔軟に使用できます。
Firebase | クローズドソース | ベンダーロックインあり |
Parse | オープンソース | ロックインなし |
2. 価格
Firebaseを使うなら、アプリをスケーリングし始めた時には、サーバーのコストが大幅に上がることを知っておく必要があります。Firebaseには無料のプランもありますが、無料プランには制限があるため、小規模なアプリにしか向いていません。
アプリをスケーリングしようと思ったら、固定価格ではないプランの 「Blazeプラン」にアップグレードする必要があります。Blazeプランは従量課金制のプランで、アプリが使用するサーバーのリソースに応じて課金されます。
つまり、アプリにかかる毎月の出費の限度額を自分で決めることはできません。課金期間の最終請求日に、喜ばしくないサプライズが待っているかもしれないのです。
Firebaseは2020年1月まで「Flameプラン」を提供していました。このプランは月額$25の固定料金プランでしたが、現在は廃止されています。この改変で大きな影響を受けたユーザーもおり、その詳細は「Firebaseのコストが7,000%増加」の記事をお読みください。
一方Parseの価格設定はより柔軟です。例えば、人気のBack4appは、月額$25という低価格プランを提供しています。ホスティングプランも必要に応じてアップグレードできます。
3. ホスティングのオプション
Firebaseのホスティング設定は、Google Cloudプラットフォームの1種類しかありません。そのため、Firebaseのクラウドインフラを使って、他のアプリケーションとリソースを共有しなければならないのです。
このような環境は、最適なパフォーマンスを得るためにサーバー設定をカスタマイズする必要がある複雑なアプリケーションにとって、最適とはいえません。
FirebaseはDedicated(専用)サーバーやエンタープライズ契約を提供していないので、開発したアプリを拡張しようとすると、いくつかの制限に直面する可能性があります。
Firebaseとは対照的に、Parseのホスティングのオプションは非常に柔軟に選択できます。セルフ・ホスティングのオプションを選択して、Digital Ocean、AWS、Azure、Google Cloudなど、自分で選んだサーバーにParseのプロジェクトをデプロイすることも可能です。
また、目的に応じて、Back4appのようなホスティングサービスを利用することもできます。Parseのもう1つの利点としては、専用インスタンスでアプリケーションを実行できるので、共有者によってアプリのパフォーマンスを危険にさらされる心配とは無縁です。
クラウドホスティング | セルフ・ホスティング | 専用サーバー | |
Firebase | X | – | – |
Parse | X | X | X |
4. データ・ストレージ
Firebaseの利用規約の1.5項によると、特定の有料サービスにおいては、ユーザーはデータの保存場所を選択できる、とあります。データの保存場所を選択できない有料サービスについては、FirebaseはGoogleの任意の場所にデータを保存する、としています。下記をご参照ください:
“1.5: データのロケーション特定の有料サービスについて、お客様はお客様のデータが保存されるリージョンを選択でき(「データのロケーションの選択」)、Google は選択されたリージョンにお客様のデータを保存します。データのロケーションの選択は、お客様またはお客様のエンド ユーザーがお客様のデータにアクセスできる場所、またはお客様のデータを移動できる場所を制限するものではなく、他のGoogle製品、またはサービスで使用されるお客様のデータには適用されない場合があります。本条の目的上「お客様のデータ」には、リソース識別子、属性、またはその他のデータ ラベルは含まれません。有料サービスにおいてデータのロケーションの選択が利用できない場合(または、お客様のデータに関してお客様がデータのロケーションの選択を行わない場合)、Google は、Google またはその代理人が設備を維持する場所ならどこでも、お客様のデータを処理および保存できるものとします。”
Firebaseのプライバシーおよびセキュリティに関する文書では、同プラットフォームがGDPRの要件を満たしていることを明確に記しています。同文書では、データの保存およびその処理を行うロケーションが、サービスによって異なる可能性があることも明確に記しています。
GoogleはFirebaseのサービスデータをFirebase以外のGoogleのサービス向上のために使用することがあります。Firebaseでは、ユーザーがこの管理設定を無効にし、データ収集を回避するオプションも提供しています。
一方Parseはより柔軟性があり、ユーザーはプラットフォームを世界中のどこにでもホスティングできます。
5. GraphQL APIs
Firebaseの弱点は、GraphQL APIをサポートしていない点です。RESTでは問題なく動作し、開発者向けのドキュメントも充実しています。しかし、FirebaseはGraphQLに現時点では対応していません
Parseのオープンソースのコミュニティは、2020年にGraphQL API の製品版をリリースしました。その点、GraphQLに対応しているParseは、Firebaseの一歩先を行っているといえます。
6. NoSQLデータベース & クエリの制限
FirebaseはクローズドソースのNoSQLデータベースであるFirestoreとReal-Time Databaseと同期できます。非常に限定されたクエリやインデックスなど、ユーザーにはNoSQLデータベースの制約が課せられます。
一方、Parseでは、NoSQLデータベースとSQLデータベースのいずれかを選択できます。バックエンド機能を代行するクラウドサービスとしてSQL BaaSを求めるユーザー向けに、ParseではPostgreが使用できるようになっています。
Firebaseの代替として最適なプラットフォーム
Firebaseといくつかの競合サービスを比較してみましょう。以下に、オープンソースや、独自のテクノロジーを採用しているものを含む、考慮する価値のある、Firebaseの代替プラットフォームをリストアップしました。
Back4App
Back4appオープンソース、かつリレーショナル型の、ローコード・バックエンド・プラットフォームです。アプリケーションの自動プロビジョニングとスケーリング、バックアップとリカバリ、24時間365日のモニタリングと警告、Webベースの管理ツール、テクニカルサポートなど、完全な管理体制でのバックエンド開発環境を提供してます。
開発者の中には、Back4AppはFirebaseよりも優れていると考える人もいます。その理由は、リレーショナル型データベース、手間のかからないスケーリング、専用サーバー、そしてGraphQLとREST APIが利用できるという利点があるためです。
Back4appは、認証、通知、クラウド機能、ストレージなど、他にも多くの機能を提供しています。また、Webアプリ、モバイルアプリケーションにも対応しています。
主な特徴:
- 拡張可能なリアルタイム・データベース(SQL または NoSQL)
- GraphQLとRest API
- Cloud Code機能
- 認証
- 通知機能
- ファイルストレージ
- ソーシャルログイン
柔軟な料金プランとその詳細:
- 無料枠あり
- ベーシックプラン 月額$25
- スタンダードプラン 月額$50
- 従量課金プラン 月額$100
- 専用サーバー 月額$250から
Firebaseの類似サービスを見つけるために、引き続きお読みください。
Backendless
Backendlessは、ビジュアル開発、ユーザー認証、ライブオーディオ、ビデオストリーミングなど、価値ある機能を複数提供している、拡張性の高いMobile Backend-as-a-Service(モバイルのバックエンド機能を代行するクラウドサービス・MBaaS) プラットフォームです。
Backendlessのその他の機能として、メッセージフィルタリング、プッシュ通知、オートスケーリング、データパーシステンス、ファイルストレージ、位置情報、Cloud Code、分析、カスタムビジネスロジックなどがあります。
主な特徴:
- ビジュアルプログラミング
- ユーザー管理
- リアルタイム データベース
- API
- プッシュ通知機能
料金プランとその詳細:
- 無料枠あり
- Cloud 9 プラン 月額$25/
- Cloud 99 プラン 月額$99/
- Limitless プランは要見積もり
- Fully Managed プランは要見積もり
Kuzzle
Kuzzleは、Web、モバイル、IoT向けの革新的なアプリケーションを強化・統一することを目的としてデザインされた、すぐに使えるオンプレミス型のバックエンドプラットフォームです。
デジタル製品を市場に出すまでの時間(TTM)を40%短縮し、イノベーションサイクルにおける、投資に対する利益の割合(ROI)を向上させることを特長とするプラットフォームです。
Kuzzleバックエンドは、拡張性のあるサーバー、マルチプロトコルAPI、管理コンソールを備えた、オープンソースのプラットフォームです。
また、リアルタイムPub/Sub、高速検索、地理空間クエリなどの高度な機能を提供する、プラグインエンジンのセットも提供しています。
開発者が他のモバイルバックエンドよりKuzzleを好む理由としては、パーシステンスストレージ、リアルタイムフィルタ、マルチプロトコルのサポートなどが挙げられます。
主な特徴:
- IoTおよびバックエンド製品
- ユーザー認証
- リアルタイム データベース
- ジオフェンシング
- 管理者コンソール
料金プランとその詳細:
- 無料枠あり
- Managed クラウド版 月額€80
- サポート 月額€500 もしくは 月額€1,200
Pubnub
Pubnubは、リアルタイムのコミュニケーション機能のためのプラットフォームです。アプリ内チャット、プッシュ通知、位置追跡などの機能を提供しています。
Publish/Subscribe、Pubnub Functions、ChatEngineといった中核となるサービスとは別に、 Pubnubはあらゆるリアルタイムアプリケーション向けの 「ビルディングブロック」方式のサービスを提供しています。
Pubnubの利点は、シンプルな価格モデル、アカウント管理用の独立したAPI、カスタムアプリケーションとの柔軟な統合、多くの技術やプログラミング言語でのクライアントAPIの利用が可能である点です。
主な特徴:
- リアルタイム・コミュニケーション・プラットフォーム
- アプリ内チャット
- 警告と通知
料金プランとその詳細:
- 無料枠あり
- Starter プラン 月額$49
- Pro プランは要見積もり
Kumulos
Kumulosは、モバイルアプリケーションにパーソナライズされたメッセージの送信を可能にする、安全で使いやすい、堅牢なプラットフォームです。
機能が豊富でインタラクティブなアプリ内メッセージ、カスタマイズ可能なプッシュ通知、ロケーションターゲティング、ディープリンクを提供しています。
料金プランには、エンタープライズプランとエージェンシープランがあります。パッケージは、利用者のニーズに合わせてカスタマイズされ、年単位で、実行中のアプリケーションの数に基づいて価格が計算され、請求されます。
主な特徴:
- プッシュ通知機能
- アプリ内メッセージ
- ディープリンク
- アナリティクス
- App Storeの最適化
Appwrite
Appwriteは、Flutter開発者向けに特化してデザインされた、オープンソースのFirebaseの代替プラットフォームです。このプラットフォームはセルフホスティングされ、ソースコードはGithubで公開されています。
データベース、ストレージ、位置情報、クラウド機能、ビルトインセキュリティなどの機能を備えています。料金プランはWebサイトでは公開されていません。
Deployd
Deploydは、オープンソースのAPI設計・導入プラットフォームで、開発者がアプリケーション用のAPIを素早く設計、カスタマイズ、導入することを可能にします。アプリケーションを拡張するためのモジュラー型APIと、シンプルなコアライブラリで構成されています。
Deploydはローカル環境での開発がしやすいようにデザインされ、ユーザーインターフェースを素早く開発しながら、APIの構築とテストが簡単に行えます。
そのいくつかの機能としては、ユーザー管理、セッション管理、データベースAPIへ信頼できないクライアントから直接かつ安全なアクセス、ノードモジュールとnpmによる拡張に対応、などが挙げられます。
NHost
NHostは、GraphQL APIで動作するオープンソースのFirebaseの代替プラットフォームです。
同社のインフラはAWS上で稼働しており、GraphQL APIを機能させるために、Hasuraフレームワークを使用しています。主な機能としては、SQLデータベース、API、認証、ストレージ、サーバーレス機能が挙げられます。
料金プランは3種類用意されています。Starterプランは無料; Proプランは月額$25からそして、Enterpriseプランは要見積もりです。
AWS Amplify
AWS Amplifyは、Webアプリケーションやモバイルアプリケーションをより速く構築できるようにデザインされた、クラウドベースの開発プラットフォームです。
開発者が安全に、拡張性と柔軟性のあるアプリケーションを、手間をかけずに制作、デプロイできるよう支援するための、主要なプラットフォームの1つだと言えます。
AWS Amplifyは、ライブラリ、素晴らしいUIコンポーネント、およびツールセットを備えます。また、ユーザーインターフェイスは、機能的で洗練されたバックエンドサービスの開発を促進し、魅力的、かつ、簡単に操作できるようデザインされています。
開発者はこのバックエンドサービスを、iOS、React、Android、Angular、ionicのアプリケーションに統合できます。
主な特徴:
- 認証
- データストア
- API (RESTおよびGraphQL)
- ストレージ
- アナリティクス
AWS Amplifyには無料枠と従量課金制プランが用意されています。AWS Amplifyの有料プランは、かなり柔軟性があります。料金は利用状況に応じ、以下の条件を元に計算されます:
- ビルド & デプロイはビルド毎分あたり$0.01。
- ホスティング機能は、毎月の保存GBごとに$0.023、ホスティングサービスされたGBごとに$0.15です。
Heroku
HerokuはクラウドベースのPaaS(プラットフォームを代行するクラウドサービス)で、開発者や企業がより効率的にアプリケーションを構築、デプロイ、管理、改善、拡張することを可能にします。
Herokuの幅広いサービスは、効果的、迅速、柔軟、かつ高い信頼性があり、開発者は、アプリケーションを構築する作業をストレスなく行えます。
さらに、Herokuのランタイムアプリケーションサービスを利用することで、開発者はアプリケーション管理のストレスも軽減できます。
主な特徴:
- スマートコンテナ
- 継続的インテグレーション
- 拡張性のあるホスティング
- FirebaseのようなNoSQLデータベースに対応
明瞭な料金プランとその詳細:
- Herokuの無料プランは、初心者や、基本的なクラウドアプリケーションを試してみたい開発者向けです。
- Hobbyパッケージは月額$7で利用でき、中小企業や個人的なプロジェクトに取り組みたい人に向いています。
- プロフェッショナルなプロジェクトにHerokuを使用する場合は、プロダクションのStandardパッケージであれば、月額$25から利用可能です。
- トラフィックが多く、より大きなスペースを必要とするアプリケーションを構築したい場合は、月額$250から利用できる、アドバンスドプランの検討をおすすめします。
- エンタープライズプランは要見積もりです。
Herokuの他のPaaSを比較したい場合は、別記事Herokuの代替プラットフォームを参照ください。
Firebaseの競合の比較概要
ベンダーの比較レビューは、BaaS 比較ツールを参照ください。
ベンダー | オープンソース | ロックイン | サポート | ドキュメント |
Firebase | なし | あり | あり | あり |
Parse | あり | なし | なし | あり |
Back4app | あり | なし | あり | あり |
Backendless | なし | あり | あり | あり |
Kuzzle | あり | なし | あり | あり |
Pubnub | なし | あり | あり | あり |
Kumulos | なし | あり | あり | あり |
Nhost | あり | なし | あり | あり |
AWS Amplify | あり | なし | あり | あり |
Heroku | なし | なし | あり | あり |
Deployd | あり | なし | なし | あり |
Firebase 料金 プラン比較
ベンダー | 無料枠あり | 有料プラン | 備考 |
Firebase | あり | 従量課金 | 利用リソースに応じで課金 |
Parse | あり | なし | ダウンロードのみ |
Back4app | あり | Basic (月額$25), Standard (月額$50), 従量課金 (月額$100), 専用サーバー (月額$250) | |
Backendless | あり | Cloud 9 (月額$25), Cloud 99 (月額$99), その他のプランは要見積もり | |
Kuzzle | あり | 月額$1,200 | |
Pubnub | あり | Starter (月額$49), Pro (要見積もり) | |
Kumulos | なし | 要見積もり | |
Nhost | あり | Pro (月額$25), Enterprise (要見積もり)$25/ | |
AWS Amplify | あり | 従量課金 | 従量課金 |
Heroku | あり | ホビー(月額$7), プロダクション (月額$25), アドバンスド($250) | |
Deployd | あり | なし |
Firebaseとのデプロイメントオプションの比較
ベンダー | クラウド | 専用サーバー | オンプレミス |
Firebase | あり | なし | なし |
Parse | あり | あり | あり |
Back4app | あり | あり | あり |
Backendless | あり | あり | あり |
Kuzzle | あり | あり | あり |
Pubnub | あり | 掲載なし | 掲載なし |
Kumulos | あり | なし | なし |
Nhost | あり | 掲載なし | 掲載なし |
AWS Amplify | あり | なし | なし |
Heroku | あり | あり | なし |
Deployd | なし | なし | あり |
Firebase との機能比較
Firebase | リアルタイム データベース | 認証 | アナリティクス | 機械学習 | クラウドメッセージング |
Parse | リアルタイム データベース | 認証 | 通知機能 | Cloud Functions | API |
Back4app | スケーラブル・リレーショナル型データベース | GraphQL とREST APIs | 認証 | Cloud Code | ストレージ |
Backendless | ビジュアルモデリング | リアルタイム データベース | 通知機能 | API | ストレージ |
Kuzzle | IoT | マルチプロトコルAPI | 管理者パネル | リアルタイム | ジオフェンシング |
Pubnub | アプリ内チャット | 警告と通知 | IoT デバイスコントロール | ビジネスロジック | インテグレーション |
Kumulos | 通知機能 | アプリ内メッセージ | ディープリンク | アナリティクス | クラッシュレポート |
Nhost | データベース | GraphQL API | 認証 | ストレージ | サーバーレス機能 |
AWS Amplify | 認証 | データストア | Functions | CI/CD | アナリティクス |
Heroku | Appメトリクス | スケーリング | データベース | Githubインテグレーション | コラボレーション |
Deployd | Boilerplateコード不要 | プラグアンドプレイAPI | Webベースのダッシュボード | 簡単なデプロイメント | Javascript |
結論
以上、Firebaseの代替プラットフォームとして検討に値するサービスを、ユーザーエンゲージメント、価格、ホスティング、デプロイメント、機能などの観点から比較し、ベスト10をご紹介しました。
すでにお気に入りを見つけた、ハードコアな開発者もいらっしゃるかもしれませんが、このリストは、使用するインフラを決めかねている、あるいは変更を検討している方の参考にしていただけるものと思います。
バックエンドがアプリの生産性を低下させてしまうボトルネックにならないようにしましょう。スケーラブルで柔軟性があり、複雑ではなく、費用対効果の高い開発プラットフォームを選択することが、賢明な決断だと言えます。