Need help designing the infrastructure for my video editing application

0

Hello everyone, I am a little confused about designing the infrastructure for my video editing application

So my application is something like Loom ( Chrome Extension tool that helps record the screen ) but it adds some effects on top of the recorded video ( the processing/editing of the video frames would be done in the backend itself ) ( The algorithm that edits the video is done ). I am in the development stage and I have some pre-orders for the application, and thus I had to keep scaling in mind and also make sure everything works fine without breaking

This is what I envision my flow could look like:-

I want to make sure that I choose the infrastructure that helps in scale, cost-effective, and smooth flow for the user's ent web socket connection and saves them in the temporary file system( This instance handles authentication, Database and sends the video to S3 ) --> The final recorded video is uploaded to S3 ---> the s3 updates the SQS with the URL of the uploaded video --> the SQS is connected with cloud watch that keep tracks of the messages in the SQS ---- > it would launch the GPU instance for video processing if there is a message in the Queue. The GPU instance would be turned off if there is no video to process and turned on if there are videos to process

It would be a great help if I can get some guidance with the above 🙂

I want to make the application scalable, and efficient and only pay for the time the video editing actually happened, i.e. pay for the time the GPU instance was running throughout the month

if there were only 5 videos each taking 2 minutes, i.e. 5 * 2 = 10 minutes, then I only want to get billed for 10 minutes of the GPU instance used

I want to make sure that I choose the infrastructure that helps in scale, cost-effective and smooth flow for the user's

Hello everyone, I am a little confused about designing the infrastructure for my video editing application n happened, i.e. pay for the time the GPU instance was running throughout the month

1 Answer
0

First you need to estimate how long your solution will be running. By example few months because is a Proof of concept?. In this case keep with the on demand pricing and you will pay only the minutes that you use. Other options is to evaluate the usage of spot instance. In this can have up to 90% of discount, Check the instance family/type and the AZ that have better discount. Be aware that the prices can change so you need to evaluate this constantly.

If you are going to use one specific instance during 1 to 3 years, you can reserve an instance. However if you turn it off before the end of the commitment, you will have to pay anyways, (however you can resell the reserve in the AWS marketplace)

If you choose ondemand or spot, start your instance and check your SQS queue to copy the S3 file to your instance, when it finish you can turn it off the instance, here you will only pay for the storage. or you can terminate it and create a new one the next time. The good part is that all this process can be automated

profile pictureAWS
answered 4 months ago
profile picture
EXPERT
reviewed 23 days ago
  • @Hernan, Thank you so much, Hernan, for answering the question, based on my requirement, do you think the above infrastructure could scale, work efficiently, and in a cost-effective way?

    One more question, as I stated I am planning to use a normal EC2 instance that would act as a controller of the application that would handle video blobs in real-time, saving the blobs and appending them in the file system and than finally save the final recorded video to the S3 bucket. I am a little worried about whether the instance can handle the network bandwidth to get user recording in real-time from the frontend to the server. What would you recommend in this? How can I handle the user video in real time to save in S3 in a cost-effective way and a solution that would work efficiently and smoothly

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions