これまで、いくつかの記事でMVP開発について触れてきました。
『とにかく時間とコストを掛けず、1点の機能のみに集中して開発を行う』という特色を持つMVP開発ですが、
今回は少し技術よりの視点でMVP開発に便利なサービスをご紹介します。

 

本日取り上げるのはPaaS(Platform as a Service)やBaaS(Backend as a Service)と呼ばれる、クラウドサービスです。
これらは非常にMVP開発と相性が良いと言えます。
面倒なインフラ構築・運用に時間を掛けることなく、システムの開発を行うことができます。

 

もしあなたが『これからMVP開発にチャレンジする開発者』か、もしくは『MVP開発を発注する企画者・経営者』ならば、ぜひこれらのサービスが使えないか、確認してみましょう。

 

ホスティング

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を選んでおくのがお勧めです。

 

 

データベース

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生成、ストレージ等の各種オプションもしっかり用意されています。

 

更に無料プランでも『操作数は無制限』なので、容量がそこまで多くないデータベースならば、非常に低コストで運用することができるでしょう。

 

 

ストレージ

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を浸かっているのであれば、『わざわざ連携を捨ててまで導入するべきか……?』という点は、検討する必要があるでしょう。

 

 

認証

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 AmplifyFirebase(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株式会社

Twitter:https://twitter.com/Todoonada_corp

Instagram:https://www.instagram.com/todoonada_corp/

Youtube:https://www.youtube.com/@todoonada_corp/

Tiktok:https://www.tiktok.com/@todoonada_corp

 

presented by