ベータ版における技術スタック
現在あるWebサービスを以下の技術スタックで開発しています。
Dev: 開発環境
- Docker: コンテナ
- Node.js: JavaScript環境
- React: JavaScriptライブラリ
- Next.js: Reactフレームワーク
- TypeScript: JavaScriptの厳密な型付けを行えるスーパーセット言語
- MUI: React UI ライブラリ
- ReactQuery: サーバデータの取得、キャッシュ、更新
- ZUSTAND: クライアントステータス管理
BaaS: Backend as a Service
-
Supabase: Firebase を OSS で置き換えたもの
- User Authentication
- Database
- Storage
ソースコードホスティング
- Github: 本プロジェクトのコードをホスト
アプリホスティング
- Vercel: Vercel東京のエッジ CDN からホスティング
DNS
-
CLOUDFLARE: DNS とドメイン管理
弊社では route53 を利用していますが、今度の Webサービスは .site を用いていて、route53 では対応されていないドメインであるため、CLOUDFLARE をはじめて採用しました。
正式オープン時の技術スタック
ちょっと時間がかかるので100%は無理そうなんですが、Supabase の機能を aws に置き換えていくのをコツコツやっておきたいと思っています。
- Authentication -> Cognito
- PostgreSQL -> RDS for PostgreSQL
- Storage -> S3
Supabase はすばらしいサービスですし、どんどんユーザとアプリが増えているようなので、この馬に乗りっぱなしでもいいのかもしれませんが、aws のマネージド・サービスと、データベースに関してはマルチAZ配置を適用するととても安心です。特にデータベースに関しては、サイトの応答性能に直結する部分になりますので、なるべく自由度が高い環境が望ましいように思っています。認証は置き換えできないかもしれません。並行稼働を開始させ、然るべき時に移行を検討できればと思います。
React との別れ
ということで、SolidJS の Nextjs が Vercel社 から提供されたタイミングで SolidJS への置き換えを開始したいと思っています。