モバイルアプリ開発者はもう一人でやる必要はありません。初期のモバイルアプリ開発者は、開発ツールや開発フレームワークの選択肢が非常に限られていました。今日では、backend-as-a-serviceプラットフォームが、ユーザー管理、ストレージ、セキュリティといった一般的に使用される機能の開発を簡素化することができるようになりました。
多くの点で、BaaSはモバイルデバイス向けのPaaSの特殊な形態です。
顧客のアプリケーションを DIY で開発することには一定の利点がありますが、BaaS 提供の機能が増加し、プロバイダの幅が広がっているため、バックエンド・アズ・ア・サービスは魅力的な代替ソリューションとなっています。
開発者は、AnyPresence、Appcelerator、Appery、Parse、Kinvey、StackMobなど、増え続けるbackend-as-a-serviceの専門プロバイダから選択したり、Google Inc.やMicrosoft Corp.などのinfrastructure-as-a-serviceおよびplatform-as-a-serviceプロバイダを構築したりすることができます。-またはGoogle Inc.やMicrosoft Corp.のようなインフラストラクチャー・アズ・ア・サービスおよびプラットフォーム・アズ・ア・サービス・プロバイダーを構築します。
[]
バックエンド・アズ・ア・サービスのプロバイダーは、アプリケーションの種類によってサービスの差別化を反映しています。あるプロバイダーはエンタープライズ・アプリケーションの開発者をターゲットにしており、またあるプロバイダーはコンシューマー・アプリケーションをターゲットにしています。バックエンド・サービスのみを提供する BaaS プロバイダーもあれば、インターフェース・ツールも提供するプロバイダーもあります。このような明確な違いがすでに存在していても、BaaSプロバイダーは共通のサービスセットを共有しています。
エンタープライズ開発者向けBackend-as-a-Service
企業の開発者をターゲットとするBaaSプロバイダは、モバイルバックエンドプラットフォームに含まれる機能やサービスの範囲を拡大してきました。apperyの開発ツールには、jQuery MobileとHTML5を使用してインターフェースを開発できるビジュアルドラッグアンドドロップツールが含まれています。
アプリケーションの統合は、企業のモバイルアプリケーションにとっても重要です。例えば、KinveyのBaaSには、RESTベースのラッパーデータベースアプリケーションプログラミングインタフェースであるData Linkが含まれており、開発者はオンプレミスまたはクラウドベースのデータストアにクエリを発行し、更新することができます。
一部のベンダーはPaaSサービスとの統合を合理化しています。例えばAnyPresenceは、開発者がHerokuのアタッチメントからバックエンドアプリケーションを選択できるようにしています。また、StackMobはエンタープライズレベルのサービスプランニングにおいて、完全な専用クラスタとパブリックおよびプライベートクラウドコンピューティングのサポートを提供しています。
モバイル機器向けPaaS?
多くの点で、BaaSはモバイルデバイス向けのPaaSの特殊な形態です。PaaSに存在する共通の懸念事項のいくつかは、BaaSにも当てはまります。例えば、モバイル開発者は、ベンダーの言いなりになることを正当に懸念することができます。BaaSベンダーの中には、BaaSプラットフォームやIaaSクラウド、あるいはエンタープライズが管理するインフラ上で実行できるコードを開発者に提供するソリューションを提案しているところもあります。
こうすることで、プロバイダーが倒産して閉鎖した場合でも、BaaSプロバイダーが提供するコードを自社のサーバーで実行することの影響は軽減されますが、モバイルアプリケーションに必要なバックエンドサービスはすべて開発者がデプロイする必要があります。また、開発者はバックエンド・サービスのアーキテクチャについて考える必要があります。開発者は、エンタープライズ・アプリケーションをデプロイしている従業員の数については十分な見当がつくかもしれませんが、コンシューマー・アプリケーションによるサーバーへの負荷を予測することはより難しく、変数に悩まされる可能性があります。ベンダーに縛られることを懸念し、BaaSプロバイダーのコードを自社のサーバーにデプロイするのであれば、スケーラビリティについて考えるべきです。
2つの主要なオペレーティング・システム・プラットフォームしかサポートしないBaaSは、コンシューマー・アプリケーションをターゲットとする開発者のニーズを満たすには十分かもしれませんが、WindowsやBlackBerryプラットフォームのサポートを必要とするエンタープライズ開発者のニーズには応えられません。
アプリケーションの統合は依然として重要
モバイルアプリは互いにサイロ化されているわけではありません。それらはすべて、開発者によって開発され、アプリケーション管理者によって保守されるアプリケーション・エコシステムの中に存在します。ソフトウェア開発者は、統合開発環境やバージョン管理システムなどのツールセットをすでに持っています。appceleratorのTitanium StudioはEclipseベースの統合デバイス回路で、この原則を適用しています。
アプリケーションがデプロイされたら、アプリケーションの使用状況に関する統計情報を監視・収集する必要があります。分析ツールは、どのBaaSプロバイダにも標準装備されています。例えば、Parseのアナリティクスコンポーネントには、アプリの使用状況に関するメトリクス、プロモーションの有効性の分析、カスタムメトリクスの測定がサポートされています。
BaaSにおけるストレージと管理機能
モバイル・デバイスはクラウド上のデータやドキュメントにアクセスする能力に依存しているため、ストレージ・サービスはBaaSの重要な部分です。BaaSプロバイダーの間では、オプションの少ないNoSQLデータストレージが一般的ですが、多くのプロバイダーはファイルストレージサービスもサポートしています。アプリケーションがファイル管理をサポートしている場合、BaaSがテキスト検索サービスをサポートしているかどうかを尋ねてください。オブジェクト・ストレージ・サービスは、保存されたオブジェクトのメタデータに対する検索サービスを提供する必要があります。
ユーザー管理は、BaaSプロバイダーが提供するもう一つの中核サービスです。一般的には、分析、パーソナライゼーション、アクセス制御のサポートが含まれます。後者は、きめ細かなアクセス制御、グループ権限のサポート、Active Directory統合などの高度な認証機能を必要とするエンタープライズ・アプリケーションにとって特に重要です。





