An app built for children produces animations, and it does so on a fleet of servers that the company runs itself. Every animation request takes a meaningful amount of processing time to fulfill.
Explain the approaches you would consider for lowering the cost of running this service. Your discussion should span the following areas:
- Compute: the cost of the processing work itself.
- Scaling: how capacity grows and shrinks with demand.
- Caching: reusing work that has already been done.
- Request management: how incoming requests are handled.
- Architecture: the overall structure of the system.
Constraints:
- Animations are generated on the company's own server farm.
- Each request requires processing time to complete.
- The source does not give request volumes, latency targets, or budget figures.