Question

What is the recommended auto scaling group settings for image processing. I launched my image processing server using AWS Elastic Beanstalk. The auto scaling group only contains scaling that takes network bandwidth into account.

I assume that I also need to take the CPU into account when defining the policy, however I have no experience with such type of image processing servers.

The server processes the image (resize, add watermark and upload to S3). I need a policy that fits my image processing scalability needs. Thanks.

Was it helpful?

Solution

I would think a better metric would be the number of images waiting to be processed.

Ultimately you probably don't care about network bandwidth,or even cpu utilization - all those really boil down to is how fast an image or images can be processed.

I'd suggest employing AWS SQS, and adding a message to that queue every time an image is uploaded/made available for processing.

The longer that queue, the more of a backlog that you have - then base your auto-scaling policy on the number of items in the queue. Adding instances as the queue expands, taking instances offline as the queue gets smaller.

http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-using-sqs-queue.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top