Estimation is a back of the envelope calculation of how much data is stored, how much memory is consumed, and how much bandwidth and how many servers a design needs.
The founder asks subjective questions, each answered with numbers:
- Microservices. A small company without a team greater than 10 or 15 people has no need for them.
- A slow language. Node.js may be two or four times slower than optimized languages, so the serverless compute costs more. Cheaper hiring and training offset that cost.
- The cost of a feature, such as users seeing themselves wear the t-shirt on camera. It is the cost of each API call, into 1000 calls a day, into 30 days.
- The cost of storage. A thousand video files of 1 MB each are 1 GB per day in S3.
The order is to meet all requirements, keep the design simple, and then optimize the cost.
The externally visible code matters most: API contracts and service level agreements. A complex API contract takes developers a long time to understand.