目的
- 少人数(max2人)で小規模SPAを開発するにあたり、工数を最小限に抑えるためのアーキテクチャを模索したい
- 2019年5月時点
- 以前はRails API + PostgreSQLを使っていたけど、serverlessしたい
DB+API周りについての候補
Firebase
結局FirebaseのFireStoreがすごいよねって感じ。
他のAWS上のシステムと連携したいので、ちょっと使うのが厳しい感じもする。
Amplify
SPAがAmplifyに集約されていると思いきや、Cognito, AppSyncなどそれぞれの処理とAmplifyの動きを2重に把握する必要があって辛い。
AppSync + DynamoDB
DynamoDBを良きに計らってくれるかと思ってたけど、結局DynamoDBに引っ張られる。
DynamoDBは検索にIndex必須だったり、何かと面倒くさそう(好みの問題)
AppSync + Lambda(js) + MongoDB(DocumentDB)
DynamoDBよりMongoDBでしょ、Tokyo解禁されたし、集計関数使えるし、経験あるし。
ただ、工数を最小限に抑えるアプローチからは遠ざかってる気もする。
と思ったけど、DocumentDBってt3インスタンス無いのか。。
ServerlessFramework(ApiGateway + Lambda + ts) + MongoDB
だったら、RestAPIで良くね?
ServerlessFrameworkで解決出来るし
ServerlessFramework(ApiGateway + Lambda + ruby) + PostgreSQL
だったらActiveRecordをそのまま持って行ってしまえば(ry)