私自身、立ち上げ期のSaaSサービス・Webサービスの開発、個人開発を通じて学んだ立ち上げ期に役に立つサービスをまとめます。
そもそも、なぜ立ち上げ期で役に立つのか?
サービス立ち上げ時は、とにかく爆速でコンテンツの充実・プロダクトの中身を作っていかなければいけません。
そのため、本質ではないところについては、外部サービスを頼る・参考にする事が重要になります。
認証
OAuthを推奨します。
自前でアカウント周りの機能を作成することは控えましょう。
なぜなら、、、
からです。
Google認証を持っておけば、最悪OKです。
認証まわりをまるっと、外部SaaSに頼るなら、Auth0がおすすめです。
決済
Stripe一択です。
よほどの理由がない限り、自前で作ることはないと思います。
他にも選択肢がないわけではありませんが、ここ数年SaaS系サービスにおけるStripeの使いやすさ・セキュリティ等、群を抜いている感覚です。
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などを使って、アジャイルな開発もクラウドなら簡単に導入可能です。
ぜひ、やっていきましょう。