A few months ago, I was mapping out the architecture for a heavy file-processing application. The traditional SaaS playbook was obvious:

User uploads a heavy file.

Store it in an AWS S3 bucket.

Spin up an EC2 instance or AWS Lambda function to process it.

Send the result back to the client.