Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

立ち上げ時のSaaS/Webアプリに役立つサービスまとめ

私自身、立ち上げ期のSaaSサービス・Webサービスの開発、個人開発を通じて学んだ立ち上げ期に役に立つサービスをまとめます。

そもそも、なぜ立ち上げ期で役に立つのか?

サービス立ち上げ時は、とにかく爆速でコンテンツの充実・プロダクトの中身を作っていかなければいけません。

そのため、本質ではないところについては、外部サービスを頼る・参考にする事が重要になります。

認証

OAuthを推奨します。

自前でアカウント周りの機能を作成することは控えましょう。

なぜなら、、、

  • 個人開発系のアプリの場合、見ず知らずのアプリでアカウント登録を行うのは心理的な障壁がある
  • 商用、toB系のサービスの場合、個人情報はセンシティブであり、セキュリティの穴は大きなリスクになる

からです。

Google認証を持っておけば、最悪OKです。

認証まわりをまるっと、外部SaaSに頼るなら、Auth0がおすすめです。

決済

Stripe一択です。

よほどの理由がない限り、自前で作ることはないと思います。

他にも選択肢がないわけではありませんが、ここ数年SaaS系サービスにおけるStripeの使いやすさ・セキュリティ等、群を抜いている感覚です。

CSSフレームワーク

デザインが超重要なソフトウェア以外であれば、まずはCSSフレームワークに頼るのが早いです。

有名どころだと、

などがありますので、好きなものを使われるといいと思います。

すべてスクラッチCSSを作ることはおすすめしません。

技術選定に関して

Webフレームワークに関して

立ち上げ期であれば、

など、フルスタックフレームワークで作成することもありかと思います。

ただし、これらのフルスタックフレームワークは、フロントエンド・バックエンドが分化される現代において、新規開発の選択としてファーストチョイスではないと思います(現場のエンジニアがこれらに強みがあるなら、仕方ありませんが)。

そのため、フロントエンドは、

  • React
  • Vue

といったフロントエンドフレームワークを使用し、バックエンドはAPIをベースにやり取りすることを推奨します。

React vs Vueについては、全世界的にみると、Reactに軍配があるようですが、日本ではVueが強いといったガラパゴス化傾向があります。

バックエンドについては、マイクロサービスを適用することで、Go/PythonなどAPIユースケースに応じて、柔軟に変更・対応ができるかと思います。

インフラ

立ち上げ期であれば、最初はなんでも構いません。とにかくサービスの開発を優先するべきです。

今後のスケーラビリティを考慮するのであれば、クラウドの利用一択です。

Azure/GCP/AWSどれでも構いませんが、こだわりがなければとりあえずAWSでいいと思います(ネットで見つかる情報が非常に多いです)。

また、クラウド化に伴い、脱EC2を目指しましょう。

サーバーレス・コンテナ化といったレベルを検討するべきです。

また、CI/CDやCode Build/PipeLine/Depolyなどを使って、アジャイルな開発もクラウドなら簡単に導入可能です。

ぜひ、やっていきましょう。