Open3
個人開発での技術選定
参考資料
- Zennを支える技術とサービス構成
- 1人でのSaaS開発を支えた技術スタック | Ekaki
- 個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた
- 個人開発のコストはDB次第 - laiso
- ぼくのかんがえたさいきょうの個人開発あーきてくちゃ
- 個人でサービスを作るとしたら今ならこうかな(2022年版)
個別技術(APIサーバ、バッチ処理)
APIに関しては色々検討したけどやっぱりFargateは高い。が、Webフレームワーク的な部分を学びたい気持ちが強いのと、将来的な拡張性を考えてLambdaのWebFrameworkパターンで開発するのが良さそう。
awslabs/aws-lambda-go-api-proxy は初めて知ったがこの用途で使えそう。
- AWS LambdaでAPI開発するときのパターン集 - Qiita
- Web APIやバッチ処理を工夫 Go導入で生産性が安定、メンバーのモチベーションも向上 - ログミーTech
- ECS Fargateの料金・キャパシティプロパイダ戦略・構築について
- awslabs/aws-lambda-go-api-proxy: lambda-go-api-proxy makes it easy to port APIs written with Go frameworks such as Gin (https://gin-gonic.github.io/gin/ ) to AWS Lambda and Amazon API Gateway.
個別技術(DB)
PlanetScaleは気になってたのでちょっと調べてみた。
Herokuが老舗だが安そう。いけるところまでDynamoDBで行って、厳しいケースではRDSの利用を検討するのがいいかな。
- PlanetScaleとは何か、なぜ外部キー制約をサポートしていないのか
- 話題のPlanetScale を AWS Lambda から使ってみた
- Heroku Postgres - Add-ons - Heroku Elements
スクレイピング
スクレイピング時のデータをRDS以外に保存することの検討
Goの開発
Web Frameworkパターンでいくとして、フレームワークの選定はどうするか
Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ
gorilla/mux
% go get -u github.com/gorilla/mux
go: downloading github.com/gorilla/mux v1.8.0
go get: added github.com/gorilla/mux v1.8.0