![見出し画像](https://assets.st-note.com/production/uploads/images/114513087/rectangle_large_type_2_7d69dc1b0afe21335db0b2ba43d26bb5.jpeg?width=1200)
MVP開発によく使うPaaS(BaaS)の一覧
これまで、いくつかの記事でMVP開発について触れてきました。
『とにかく時間とコストを掛けず、1点の機能のみに集中して開発を行う』という特色を持つMVP開発ですが、
今回は少し技術よりの視点でMVP開発に便利なサービスをご紹介します。
本日取り上げるのはPaaS(Platform as a Service)やBaaS(Backend as a Service)と呼ばれる、クラウドサービスです。
これらは非常にMVP開発と相性が良いと言えます。
面倒なインフラ構築・運用に時間を掛けることなく、システムの開発を行うことができます。
もしあなたが『これからMVP開発にチャレンジする開発者』か、もしくは『MVP開発を発注する企画者・経営者』ならば、ぜひこれらのサービスが使えないか、確認してみましょう。
ホスティング
![](https://assets.st-note.com/img/1693117938332-GSqpv41jUM.jpg?width=1200)
Vercel
VercelはWebホスティングサービスですが、ただのホスティングではありません。
通常のホスティングであれば、SSHを繋いで必要なものをインストールして……等と手順が長く掛かるところですが、
Vercelの場合、Github等のリポジトリと連携させるだけで、簡単にデプロイすることができます。
『React』や『Next.js』等も組み込まれているので、このあたりのインストール・設定等の工程も短縮が可能です。
Firebase Hosting
簡単な静的ページや、GCP・Cloud Build等で開発を行っているシステムの場合、Firebase Hostingが最適なホスティングになるでしょう。
難しい設定は必要なく、更に一定の転送量以下なら無料で使えるため、初期のホスティングに最適です。
CDNもついているため、非常に高速でWEBサイトの配信を行うことができます。
もちろん他のFirebaseと連携すれば、ReactやVue、データベース等も用いた高度なサービスの運用も可能です。
Netlify
こちらも前の2つと同じく、静的サイトの公開ができるホスティングサービスです。
とにかく手順が短縮されており、たった3ステップ(GitHub・GitLab・Bitbucket等と連携するだけ)でサイトを公開することができます。
ちなみに手順が少ないと言っても機能が少ないわけではなく、let's encryptでSSLを通したり、Netlify Functionsを使って他のシステムと連携させたり……といったことも可能です。
Heroku
そしてこの分野で最も知名度が高いかもしれないホスティングが『Heroku』です。
Herokuは業務管理ツール等でも有名なセールスフォース・ドットコムが運営するホスティングなのですが、
ここまで挙げたホスティングより、格段に幅広いシステムを利用する事ができます。
200 種類以上のサードパーティアドオンや、7,800 種類以上のオープンソースビルドパックに対応しており、サポート言語も『Linux上で走るならばどんな言語も利用することが出来る』と公式が謳っています。
なので『あの有名なアプリも、動かしているのはHerokuだった』ということが珍しくありません。
『長期に渡って使いたい』『いろんなケースを想定しておきたい』といった場合は、とりあえずHerokuを選んでおくのがお勧めです。
データベース
![](https://assets.st-note.com/img/1693117959566-9oBKocXAKo.jpg?width=1200)
Firebase Realtime Database
Firebaseと付いている通り、先程の『Firebase Hosting』と同じくGoogleが運営しているサービスです。(先に行っておくと、この後もすべての項目でFirebaseが出てきます。そのぐらいFirebaseは隅々まで網羅されています)
アプリ開発を行う場合、データベースをどうするかが問題になるかと思います。
特にチャットツールや位置情報等が絡んでくるサービスの場合、リアルタイム性が求められるため、SQL等で管理しようとすれば整合性やオフライン時の動作について、ひどく頭を悩ませなければなりません。
しかし『Firebase Realtime Database』を使うなら、それらの悩みも一気に解決することができます。
詳しい説明は端折りますが、『Firebase Realtime Database』は一貫性よりも『利用可能な状態を保ち続けること』に重点を置いたデータベースサービスです。
もし『Firebase Realtime Database』が提供するサービスを、通常のクラウドサーバ等で同じように動かそう……と思った場合、相当な工数が掛かってしまうことでしょう。そのぐらい、ユニークなサービスです。
『データベースを使う』となると、何も考えずSQLのようなリレーショナルデータベース(RDB)を使ってしまいたくなるかもしれませんが、ぜひ用途によっては『Firebase Realtime Database』の利用を検討してみてください。
Supabase
『Firebase Realtime Database』の特色について説明しましたが、
一方で、『そんなリアルタイム性はいらないので、普通のRDBを手早く使えるサービスが欲しい……』というケースもあるでしょう。
そんな人にはSupabaseがおすすめです。
PostgreSQLを手早く利用することができ、認証やAPI生成、ストレージ等の各種オプションもしっかり用意されています。
更に無料プランでも『操作数は無制限』なので、容量がそこまで多くないデータベースならば、非常に低コストで運用することができるでしょう。
ストレージ
![](https://assets.st-note.com/img/1693117968429-djESTVS3lg.jpg?width=1200)
Firebase storage
ストレージなんてなんでもいいのでは、と思うかもしれませんが、あくまでここでご紹介するのは『PaaS(BaaS)』としてのストレージです。
例えば、SNSやマッチングサイトのようなアプリを作りたいとします。
ユーザーは文章だけでなく、画像や動画をアップロードしますが、おそらくそれらのメディアは無圧縮なままアップロードされるでしょう。
それらを縮小し、圧縮し、整理し、セキュリティを保ったまま必要なときに取り出す……というのは、とても難しく負荷の掛かる工程です。
更に、人が集まればそれだけ容量も膨らんでしまいますし、増える需要に追いつくようサーバをスケールするのも一苦労となるでしょう。
そのような難しい課題を解決してくれるストレージこそが、『Firebase storage』です。
今挙げた機能はもちろん、他Firebaseとの連携や、SDKによって簡単に実装できる等のメリットがたくさんあります。
これはMVP開発だけでなく、一般的な開発でも有用なサービスです。
S3
メディアファイルだけでなく、もっと多種多様なファイルを管理したい場合は、S3が便利です。
ホスティングとしても使えますし、大規模なデータ分析やバックアップ、アーカイブ等、多岐にわたる機能が揃っています。
その代わり『サクッと使おう』と思った場合、あまりの機能の多さに戸惑うかもしれません。
ちなみにS3はAWS内のサービスです。もし『Google運営のサービスがいい』という場合は、『Google Cloud Storage』を検討してみて下さい。
Cloudflare R2
CloudflareというとCDNが有名ですが、便利で速度の早いPaaSもいくつか提供しています。
その中でも『Cloudflare R2』は、『AWS S3のCloudflare版』と呼ばれているサービスです。
S3と同じような機能を網羅していますし、S3のAPIと互換性があるため、移行が簡単です。
そして何より『Cloudflare R2』は『S3より安い』という特色があります。
驚くことに、エグレス料金(ストレージからデータを取り出す料金)が無料なのです。
なので、もし費用をなるだけ抑えたいと考えているのであれば、S3ではなくCloudflareR2を使うのも手です。
ただしAWSを浸かっているのであれば、『わざわざ連携を捨ててまで導入するべきか……?』という点は、検討する必要があるでしょう。
認証
![](https://assets.st-note.com/img/1693117980875-iPpcncdjuU.jpg?width=1200)
Auth0
Auth0は、高度な認証と認可の機能を提供するIDaaS(Identity as a Service)プラットフォームです。
要はログイン時等の認証部分を行ってくれる物なのですが、これはとても重要なサービスと言えます。
もしあなたが1から認証サービスを作るとするなら、どのぐらいの期間が必要でしょうか。
そしてその期間を掛けて出来たものは、セキュリティが万全と言えますか?
その確証を得るために何ヶ月も浪費していては、MVP開発として失敗です。なのでそのような認証部分はIDaaSにまかせて、もっと重要な部分に時間を使いましょう。
その点でAuth0は非常に頼もしいサービスです。
既にたくさんの企業・サービスで使われた実績がありますし、多岐にわたるフレームワークへの対応、拡張性、ドキュメントの豊富さ、そして無料プランが用意されている等、MVP開発にうってつけの条件が揃っています。
Firebase Authentication
そして先程からなんども出てきているFirebase内のIDaaSです。
もしFirebase内でサービスを作っているのであれば、Auth0よりもこちらの方がいいでしょう。
またSNS認証は、Auth0よりFirebase Authenticationのほうが便利です。
ただしネット上の情報を見ると、『Firebase Authentication』は『Auth0』よりも導入事例やドキュメントの数が少ない印象を受けます。
もし導入方法に不安がある場合は、Auth0のほうが良いかもしれません。
OneLogin
OneLoginも有名なIDaaSです。
基本となる機能は『Auth0』や『Firebase Authentication』とそこまでかわりはないのですが、Auth0よりも大規模な製品で広く使われている実績があります。
ただし、その分Auth0より柔軟性には欠けるかもしれません。
Auth0はAPIやSDK等豊富に用意されていますが、OneLoginは大手企業向けのサービスが多い印象です。
そのあたりも加味した上で、選択するIDaaSを決定してください。
もしどれを選んだらいいか困ったら……
AWS Amplify・Firebase(GCP)・Azure App Service
ここまでMVP開発で使うと便利なPaaSを紹介しましたが、『結局どれを選んだら良いのかわからない……』『各サービスの連携に時間を掛けたくない』といったケースもあると思います。
そういった場合におすすめなのが、AWSやFirebase等、同系列のサービスでまとめてしまうことです。
これらは単純に連携の手間がかからない、ということもありますし、
支払い処理やモニタリングも一箇所で済みます。
UIも基本的に同一基準で作られているため、混乱が少ないでしょう。
なお、こういったバックエンド用のPaaSを集めたサービスをBaaS(Backend as a Service)と読んだりします。
上記で挙げた『AWS Amplify・Firebase(GCP)・Azure App Service』がこれに値するのですが、
これらの特色・メリット・違い等については、別記事にてご紹介しますので、公開次第そちらもご参照いただければ幸いです。
なお、今回挙げたようなPaaSを用いたMVP開発については、弊社で承ることが可能です。
もし新規のサービス開発等を考えておられる場合は、下記までお問い合わせくださいませ。
お問合せ&各種リンク
お問合せ:GoogleForm
ホームページ:https://libproc.com
運営会社:TodoONada株式会社
presented by
![](https://assets.st-note.com/img/1693115352026-Gn6o1bABnK.png)
サポートしていただくと、筆者のやる気がガンガンアップします!