Asynchronous compute architecture brief
Asynchronous Neon Generator
A design for moving long-running 3D rendering work behind a queue so web requests stay fast while compute runs only when needed.
Upload request
API Gateway
API Gateway
S3 input object + SQS job
SQS
ECS Fargate renderer
ECS
S3 output object
S3
Notification with expiring link
SNS
Problem
Generating a 3D-printable neon sign file can take longer than a normal synchronous API request should remain open. The architecture needs to accept work quickly, process it asynchronously, and avoid idle compute cost.
Design
- The frontend uploads an input asset to S3 using a controlled path.
- A job message lands in SQS with the object key and requested output options.
- Fargate runs a containerized renderer only while jobs exist.
- The output is written back to private S3 and delivered through a short-lived URL.
Tradeoff
Lambda may be attractive for a simple demo, but large native rendering dependencies and variable runtime make a container task a cleaner boundary. The cost-control decision is to scale workers to zero between jobs.