~$4/mo vs ~$32/mo; acceptable for dev/staging workloads
ECS Fargate over EC2
Fargate launch type
Zero server management; pay-per-task; simpler scaling. Note: dev/staging use EC2 consolidated mode (CONSOLIDATED_MODE=True) for cost savings; production uses Fargate.
Step Functions STANDARD
STANDARD over EXPRESS
Long-running backtests (up to 1 hour); built-in retry and error handling
Protocol-based DI
Python Protocols, not ABCs
Structural subtyping; no inheritance coupling; better testability
4-stack Pulumi
persistent / foundation / compute / edge
Independent lifecycle per layer; safe blast radius; parallel deployments