I'm developing a web application that uses a resource-intensive video-to-video machine learning model, which handles tasks like transformation and generation. To keep my main API lightweight, I need to offload the processing of these jobs to another service. I'm considering AWS SageMaker since it's dedicated to machine learning, but I've seen mixed reviews claiming it can be pricey, slow, and somewhat cumbersome to use. On the other hand, I know that setting things up on ECS or EC2 might require more effort, especially when it comes to scaling. Has anyone been in a similar situation? Is SageMaker the way to go, or would spinning up a container on ECS/EC2 be a better option? My API is currently hosted on ECS/Fargate.
4 Answers
Have you thought about using beam.cloud? It's relatively straightforward and inexpensive, plus many users successfully run video-to-video pipelines there. It could save you a lot of trouble with setup.
From my own experience, using SageMaker might bump your costs by about 20%. If you're trying to keep expenses down, that’s something to consider.
Your current approach seems reasonable! It’s smart to keep your API lightweight and handle the processing elsewhere. Just ensure that you have a solid mechanism in place for offloading those heavy video processing tasks. SQS could be a good option for queuing and processing messages, leading to better management overall.
I suggest considering a Docker-based setup with Lambda. If you're looking for cost savings and don’t need high availability, this might be a solid option. It simplifies things, and you can separate the processing tasks pretty easily.
Related Questions
Extract Audio From Video File