投稿日:2016年2月25日
「認証・決済・ストレージの3つがあればどんなアプリでも作れる」
私はそのように誰かに教えてもらいました。ある程度の開発経験のある人なら、この3つは何度も実装してきたことと思います。
しかしこれらの機能は開発・保守が簡単ではありません。そこで、2011年ごろからこれらを専門のサービスとして切り出して提供する会社が出てきました。それらはBaaS(Backend as a service)と言われています。
今回のエントリではそう言ったBaaSを認証・決済・ストレージについてそれぞれまとめて紹介します。
こういったBaaSを活用することで、本来のアプリ開発によりお金と開発リソースを集中できるようになるでしょう。
基本的にはモバイルアプリのためのBaaSで、認証やストレージ以外にデータの同期やプッシュ通知の機能も提供していることが多いです。
iOS/Android/Javascript向けのSDKを提供しており、簡単に開発が進められるようになっています。
かつて人気のあったParse.comやStackMobはサービス停止もしくはサービス停止宣言がされていますのでご注意ください。
https://www.firebase.com
Googleが買収したBaaSサービスということで有名。ユーザー管理、ストレージサービスはもちろんWebSocketによるリアルタイムなデータ同期の機能なども提供しており、チャットサービスなどが数行のコードでかけてしまいます。
https://jp.kii.com
日本発のBaaSサービスです。ユーザー管理、データ管理はもちろん、位置情報やA/Bテストなどもサポート。IoTにも特化しているということでモノを識別して管理する機能も提供されています。
http://mb.cloud.nifty.com
日本のニフティが提供するサービス。現在Parse.comからの移転の無料相談をしているようです。
https://mlkcca.com/
データストアと認証を提供するサービスです。
こちらもリアルタイム通信が簡単にできるBaaSになっています。
MilkcocoaでBaaSを体験!~バックエンドの仕組みと使い方~
http://gihyo.jp/dev/feature/01/milkcocoa-baas/0002
https://azure.microsoft.com/ja-jp/services/app-service/mobile/
http://www.appiaries.com/jp/
データベース、ユーザー管理、Push通知などを提供しています。
ユーザーの認証、認可、メールアドレスの確認、パブリックログインプロバイダとの連携などを行ってくれるサービスです。
https://aws.amazon.com/jp/cognito/
主にAmazon、Facebook、Googleと言ったログインプロバイダを使ってユーザー管理(アイデンティティ管理)ができるようになります。(独自認証と組み合わせることも可能)
AWSの各種リソースへの細かい権限管理が可能です。
https://auth0.com
$15からのシンプルな認証サービスです。
認証基盤サービス「Auth0」を使ってみる | Developers.IO
http://dev.classmethod.jp/cloud/auth0-overview/
https://authrocket.com
こちらも認証サービスです。$59から使えます。
主にクレジットカード決済をしているサービスを取り上げます。カード決済代行会社は多数ありますが、ここでは開発者やスタートアップ向けに提供されている開発環境がある程度「こうなっててほしい」という期待に応えてくれている数社に絞って紹介します。
大量のトランザクションが予定されていてボリュームディスカウントを期待する場合はGMOペイメントゲートウェイ、ソフトバンクペイメントサービス、SBIベリトランスと言った大手と言われるところに依頼するのが良いかもしれません。
https://stripe.com/japan
元祖「開発者に優しい」決済サービス。日本でのサービス開始はもう少し先のようです。開発環境もとても充実している。
https://webpay.jp
Stripeがないならと作られたサービス。
https://www.paypal.com/jp/webapps/mpp/home
やや古い感じもあるがやりたいと思ったことは一通り揃っています。
https://spike.cc
決済手数料0円ということで話題になったサービスです。Webサービスなどの決済に使う場合は月額3,000円のプランに申し込む必要があります。
https://aws.amazon.com/jp/s3/
特に説明はいらないかもしれませんが、クラウドのストレージサービスと言えばこれですね。安価で完全従量課金の安全なストレージサービス。$0.03〜、特定用途向けのGlacierなら$0.007 /GBと信じられない価格で提供されています。
https://aws.amazon.com/jp/rds/?nc2=h_l3_db
https://aws.amazon.com/jp/dynamodb/?nc2=h_l3_db
データベースサービスを2つ紹介。RDSはリレーショナルデータベース(Amazon Aurora、Oracle、Microsoft SQL Server、PostgreSQL、MySQL、MariaDB)、DynamoDBはNoSQLデータベースです。
http://www.pi-pe.co.jp/spiral-series/
データベースのためのプラットフォームです。AKB総選挙などのバックエンドで使われたことでも話題になりました。
https://kintone.cybozu.com/jp/
業務システム向けのアプリプラットフォーム。簡単にDBを操作するUIが作れるようになっています。REST APIが提供されているので外部のシステムからデータを取り込んで管理画面はKintoneで作るなんてことができると効率化できそうです。
https://www.dropbox.com/developers-v1/datastore/docs/js#Dropbox.Datastore
普通のストレージではありませんが、Dropboxもデータ切断時にオフラインに保存しオンラインで簡単に同期するというSDKを提供しています。
オンプレミスの時に。オープンソースなmBaaS×9選
http://blog.mb.cloud.nifty.com/?p=2764
いかがでしたでしょうか。Firebaseを個人で使っているのですが、ユーザー管理、データの保管部分について必要なコードしか書く必要がなくて本当に驚いています。認証・課金・ストレージは必須ではあるもののアプリの価値とはあまり関係がありません。アプリの価値ある部分だけ作っていればいいというのは楽しいですね。
是非検討してみてください。