バックエンド・アズ・ア・サービス(BaaS)は、モバイル・バックエンド・アズ・ア・サービス(MBaaS)とも呼ばれ、[ 1 ] [ 2 ] [ 3 ]ウェブアプリやモバイルアプリの開発者に、フロントエンドアプリケーションのバックエンドを簡単に構築する方法を提供するサービスです。利用可能な機能には、ユーザー管理、プッシュ通知、ソーシャルネットワーキングサービスとの統合などがあります。[ 4 ]これらのサービスは、カスタムソフトウェア開発キット(SDK)とアプリケーションプログラミングインターフェイス(API)の使用を介して提供されます。 BaaSはクラウドコンピューティングにおいて比較的最近の開発であり、[ 5 ]ほとんどのBaaSスタートアップは2011年以降に設立されています。[ 6 ] [ 7 ] [ 8 ]最も人気のあるサービスプロバイダーには、AWS AmplifyとFirebaseがあります。
目的
ウェブアプリとモバイルアプリは、通知サービス、ソーシャルネットワークとの統合、クラウドストレージなど、バックエンドで同様の機能セットを必要とします。[ 9 ] [ 10 ]これらのサービスにはそれぞれ独自のAPIがあり、アプリに個別に組み込む必要がありますが、このプロセスはアプリ開発者にとって時間がかかり複雑になる可能性があります。[ 11 ] BaaSプロバイダーは、統合されたAPIとSDKを介して、アプリケーションのフロントエンドとさまざまなクラウドベースのバックエンドの間に橋渡しを行います。[ 3 ]
バックエンドデータを管理するための一貫した方法を提供することで、開発者はアプリがアクセスする必要があるサービスごとに独自のバックエンドを再開発する必要がなくなり、[ 10 ]時間とコストの両方を節約できる可能性があります。[ 11 ] [ 12 ]
BaaSは、サーバーレスコンピューティング、サービスとしてのソフトウェア(SaaS)、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)などの他のクラウドコンピューティングビジネスモデルと似ていますが、Webおよびモバイルアプリ開発者のクラウドコンピューティングニーズに特化して、アプリをクラウドサービスに接続するための統一された手段を提供するという点で、これらの他のサービスとは異なります。[ 13 ]
特徴
BaaSプロバイダーは、さまざまな機能とバックエンドツールを提供しています。[ 14 ]最も一般的な機能には次のようなものがあります。
- データベース管理。ほとんどのBaaSソリューションは、アプリケーション向けにSQLまたはNoSQLデータベース管理サービスを提供しています。 [ 15 ]開発者は、データベースを自ら導入・管理することなく、アプリデータを保存できます。BaaSは通常、フロントエンドがデータベースと対話するためのクライアントSDK、 REST、 GraphQL APIを提供しています。
- ファイルストレージ。BaaSプロバイダーは、メディアファイル、ユーザーアップロード、その他のバイナリデータ用のストレージソリューションを提供することがよくあります。アプリケーションは、提供されているSDKとAPIを通じてファイルのアップロード、ダウンロード、削除を行うことができます。
- 認証と認可。一部のBaaSは、開発者がアプリユーザーを簡単に管理できるようにする認証および認可サービスを提供しています。[ 15 ]これには、ユーザーのサインアップ、ログイン、パスワードのリセット、OAuthによるソーシャルメディアログインの統合、ユーザーグループと権限の管理などが含まれます。
- 通知サービス。FirebaseやAWS Amplifyなどの一部のBaaSプロバイダーは、ユーザーにカスタムメールを送信したり、モバイルプラットフォームにネイティブ通知をプッシュしたりできる通知サービスを提供しています。 [ 16 ] [ 17 ]これは、メッセージ、アラート、リマインダーを送信する必要があるアプリケーションに特に便利です。
- クラウド関数。一部のBaaSでは、開発者がサーバーレス関数をデプロイして実行することができます。これらの関数は通常ステートレスで、 HTTPリクエスト、SDK呼び出し、バックグラウンドサーバーイベント、クラウドスケジュール実行など、さまざまな方法でトリガーできます。[ 18 ] [ 19 ]さまざまなプロバイダーがさまざまな言語のランタイムサポートを提供しており、人気のある言語にはJavaScript / TypeScript(Node.js、Deno)、Python、Java / Kotlinなどがあります。[ 18 ] [ 19 ] [ 20 ]クラウド関数は、開発者が従来のREST API バックエンドフレームワークに似た方法でアプリのカスタム機能を作成できるようにすることで、BaaSの可能性と柔軟性を拡張します。[ 21 ]
- 使用状況分析。アプリケーションの使用状況に関する分析データは、BaaSに含まれることがよくあります。これにより、開発者はユーザーの行動を監視し、それに基づいてマーケティング戦略やパフォーマンスの最適化に関する意思決定を行うことができます。[ 22 ] [ 23 ]
- UI設計。AWS AmplifyやBackendlessなどの一部のBaaSプロバイダーは、開発者がウェブアプリやモバイルアプリのフロントエンドUIを設計するのに役立つユーザーインターフェイス設計ツールを提供しています。 [ 24 ] [ 25 ]これは小規模なチームや個人の開発者にとっては便利かもしれませんが、UI設計の支援はバックエンドインフラストラクチャの範囲を超えるため、BaaSでは一般的ではない可能性があります。
- リアルタイム。BaaSプラットフォームのリアルタイム機能により、データの更新と同期がすべてのクライアント間で瞬時に行われ、変更内容がユーザーに即座に反映されます。これは、WebSocketなどの技術を使用してサーバーとクライアント間の継続的な接続を維持するライブチャットやコラボレーションツールなどのアプリケーションにとって非常に重要です。
サービスプロバイダー
BaaSプロバイダーは幅広い分野に注力しており、JavaScript ( Webアプリ用)、Flutter、Java / Kotlin(Androidアプリ用)、Swift / Objective-C(iOS / macOS / WatchOS / TvOSアプリ用) 、. NET(Windows用)など、さまざまなテクノロジースタックを備えた複数のプラットフォームでのアプリ開発に使用できるSDKとAPIを提供しています。BaaSプロバイダーにもさまざまな種類があり、さまざまな開発者のニーズに対応しています。
クラウドベースのBaaS
ほとんどのBaaSプロバイダーは、自社のクラウドサーバー上でバックエンドプラットフォームをホストしています。[ 26 ]また、プラットフォームのインフラストラクチャ、セキュリティ、スケーラビリティも管理しています。開発者は、Webインターフェースまたは提供されているAPIを介してバックエンドサービスにアクセスできます。[ 15 ]クラウドベースのBaaSの例としては、 Firebase(Google Cloud Platformでホスト)、AWS Amplify(Amazon Web Servicesでホスト)、Microsoft Azure Mobile Apps(Microsoft Azureでホスト)などがあります。
セルフホスト型BaaS
セルフホスト型BaaSでは、開発者は自社サーバー上でバックエンドをホストできるため、クラウドベースのBaaSと比較して柔軟性とカスタマイズ性が向上します。クラウドベースのBaaSは移行が困難な場合が多いですが、開発者はサーバーのインフラストラクチャ、セキュリティ、スケーラビリティの管理も担当する必要があります。[ 15 ] [ 26 ]
モバイルBaaS
モバイルバックエンド・アズ・ア・サービス(MBaaS)は、モバイルシステムに展開されるアプリケーションに特化したBaaSの一種です。一部の文献ではMBaaSをBaaSと同義で使用していますが、BaaSはウェブアプリやデスクトップアプリなど、より幅広いアプリケーションをサポートできます。[ 27 ] [ 28 ]
ビジネスモデル
BaaSプロバイダーは、サービスからさまざまな方法で収益を上げていますが、多くの場合、フリーミアムモデルを使用しています。このモデルでは、クライアントは毎月一定数の無料のアクティブユーザーまたはAPI呼び出しを受け取り、この制限を超えたユーザーまたは呼び出しごとに料金を支払います。または、クライアントは、より多くの呼び出しまたは毎月のアクティブユーザーを許可するパッケージに定額を支払うことができます。[ 10 ]価格設定をより予測可能にする定額プランもあります。一部のプロバイダーは、無料プラン内で無制限のAPI呼び出しを提供しています。[ 29 ]多くのBaaSプロバイダーが採用している別のビジネスモデルはPAYG(pay as you go)です。[ 30 ]これは、開発者のデータベース、ストレージ、帯域幅、関数呼び出し、ユーザー数などの使用量に基づいて柔軟なコストがかかります。
参照
参考文献
- ^ Monroe, Martin. 「MBaaSの福音(パート1/2)」 InfoQ . 2013年5月6日閲覧。
- ^ Monroe, Martin. 「MBaaSの福音(パート2)」 InfoQ . 2013年5月15日閲覧。
- ^ a b Lane, Kin (2012年6月3日). 「Mobile Backend as a Service (MBaaS) API Stacksの台頭」 . API Evangelist . 2012年10月16日閲覧。
- ^ Carney, Michael. 「AnyPresenceがHerokuと提携し、エンタープライズmBaaSの提供を強化」 PandoDaily . 2013年6月27日時点のオリジナルよりアーカイブ。 2013年6月24日閲覧。
- ^ Williams, Alex (2012年10月11日). 「Kii Cloud、2500万人のエンドユーザーを抱えるモバイル開発プラットフォームへの扉を開く」 TechCrunch . 2012年10月16日閲覧。
- ^ Tan, Aaron (2012年9月30日). 「FatFractalがバックエンド・アズ・ア・サービス市場における地位を向上」 Techgoondu.com . 2012年10月16日閲覧。
- ^ Rowinski, Dan (2011年11月9日). 「Mobile Backend As A ServiceのParseがシリーズAで550万ドルの資金調達」 . ReadWrite . 2012年11月1日時点のオリジナルよりアーカイブ。 2012年10月23日閲覧。
- ^ Mishra, Pankaj (2014年1月7日). 「MobStac、ブランド企業のモバイルコマース活用を支援するためシリーズBで200万ドルを調達」 TechCrunch . 2014年5月22日閲覧。
- ^ Lane, Kin (2013年5月28日). 「BaaSプロバイダーAnyPresenceの新機能」 . APIエバンジェリスト. 2013年5月28日閲覧。
- ^ a b c Lawler, Ryan (2012年3月26日). 「Parseはモバイルバックエンドをフリーミアムモデルでサービスとして提供」 . GigaOM . 2012年10月9日時点のオリジナルよりアーカイブ。 2012年10月16日閲覧。
- ^ a b Williams, Alex (2012年7月11日). 「Kinvey、モバイルおよびWebアプリのバックエンド・アズ・ア・サービス向けに500万ドルを調達」 . TechCrunch . 2012年10月16日閲覧。
- ^ Facemire, Michael (2012年9月2日). 「エンタープライズモビリティ:開発はどれだけ速く進むのか?」 Michael Facemireのブログ. Forrester.com . 2012年10月16日閲覧。
- ^ Rowinski, Dan (2012年4月17日). 「モバイルクラウドサービスの台頭:BaaSスタートアップの成長」 . ReadWrite . 2013年1月18日時点のオリジナルよりアーカイブ。 2012年10月23日閲覧。
- ^ Lane, Kin (2013年5月28日). 「BaaSプロバイダーAnyPresenceの新機能」 . APIエバンジェリスト. 2013年5月28日閲覧。
- ^ a b c d Zomko, Roman. 「The Brief Guide to Backend as a Service (BaaS)」 . impressit.io . 2023年11月23日閲覧。
- ^ 「Firebase Cloud Messaging」 . Firebase . 2023年11月24日閲覧。
- ^ 「通知 - AWS Amplify ホスティング」 . docs.aws.amazon.com . 2023年11月24日閲覧。
- ^ a b「Cloud Functions for Firebase」 . Firebase . 2023年11月24日閲覧。
- ^ a b「Functions - Docs - Appwrite」 . Appwrite . 2023年11月24日閲覧。
- ^ 「Edge Functions | Supabase Docs」 . Supabase . 2023年11月24日閲覧。
- ^ Ail, Vijit (2022年6月15日). 「Supabaseでのエッジ関数の使用:完全ガイド」 . LogRocketブログ. 2023年11月24日閲覧。
- ^ Rowinski, Dan (2012年4月17日). 「モバイルクラウドサービスの台頭:BaaSスタートアップの成長」 . ReadWrite . 2013年1月18日時点のオリジナルよりアーカイブ。 2012年10月23日閲覧。
- ^ 「Firebase向けGoogleアナリティクス」Firebase . 2023年11月24日閲覧。
- ^ 「フルスタックウェブアプリエディター - 拡張可能なアプリビルダー - AWS Amplify Studio - AWS」 Amazon Web Services, Inc. 2023年11月24日閲覧。
- ^ 「UI Builder」 . Backendless . 2023年11月24日閲覧。
- ^ a b「プロジェクトに適したバックエンド・アズ・ア・サービス(BaaS)プロバイダーの選び方」 DEV Community、2023年9月13日。 2023年11月23日閲覧。
- ^ 「BaaSとは? | Backend-as-a-Service vs. サーバーレス」 . Cloudflare . 2023年11月23日閲覧。
- ^ 「モバイルバックエンド・アズ・ア・サービス(MBaaS)とは?(2022)」Backendless、2023年1月20日。 2023年11月23日閲覧。
- ^ 「MongoDB Stitch - Backend as a Service」 MongoDB 2017年6月21日閲覧。
- ^ 「モバイルバックエンドサービス(MBAAS)とは?」Carina Softlabsブログ、2021年5月12日、pp. 1– 2。2024年5月16日時点のオリジナルよりアーカイブ。2021年5月12日閲覧。