bsky.app のインフラ構成
As of Apr. 26 / 2023
1. Go Pulumi code controlling AWS resources
2. EC2 AutoScaling Groups + docker-ce behind ALBs
3. Dedicated VPC for each service+env
4. WireGuard VPNs for remote access + Tailscale now!
5. Imgproxy for resizing images + CloudFront
We're using the "immutable servers" approach.
Yup, I like it boring/reliable 👍️
webapp not yet fronted by a CDN, just a tiny custom Go net/http server running on 3 ASG instances behind an ALB.
All user data, except images (which are imgproxy+S3+CloudFront), is stored in a single multi-AZ RDS Postgres instance.
EC2のASGとDocker CEでワークロードとスケーリングの管理
サービスごとにVPCを分割、必要があればVPC Peering
CloudFrontを画像のリサイズ等プロキシの役割で使用
CDNは使ってないけどGoのサーバーがALBの後ろで稼働
ユーザーデータはS3+CF+画像プロキシの部分以外はマルチAZ+シングル構成のRDS Postgresで稼働