1

I need to model a Rails application that does video processing using Amazon AWS resources (EC2).

Application allows users to convert videos. Videos are uploaded by users. Right now it is running on one instance, but I see the need to scale up / change things.

Question:

Does it make sense to create two instances:

1) Application front-end. Handles uploads, database stuff.

2) Video processing instance. Something high-memory, that is getting hit by the application N1.

Will it be more efficient? Is there a way to have instance N2 working not constantly, but only when it is needed to process the video?

Will I see any benefits as opposed to just scaling to a larger instance size and keeping things on the same instance?

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
Stpn
  • 145
  • 4

1 Answers1

1

This is one of those "it depends" situations. There are a large number of variants where you will benefit from being able to scale your application front-end separately from your cpu-intensive work. You should definitely read up on AWS Spot Instances and auto-scaling.

OTOH, if your video-processing requests are relatively constant over time, and their CPU needs won't overwhelm a single server's resources, you may find that sizing up your instance is a better way to go. Personally, I find the scale-out issues (more servers doing specialized tasks) to be more fun, but YMMV.

khoxsey
  • 725
  • 4
  • 9