Auto Scaling Group Policy for image processing
-
21-12-2019 - |
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.
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