

I imagine that on your social media site each thumbnail is viewed many times and so only processing it once and then storing the result is likely to come out cheaper.

Resizing the image each time it was requested will inevitably increase the latency, but you'll have to experiment to whether this is a big impact.Įither approach would probably be fine but personally I'd recommend resizing the thumbnail images once and then storing this in S3. The blue marble is a great sample image for testing because it is large and square. If you need more details about that you can have a look on. how long it takes for the profile picture to be sent once the user requests it. Upload a test image into your bucket to for testing. Aws Amplify provide a very simple interface to push data to S3.

However, storage on S3 is pretty cheap (about $0.02/GB/month) so you'll probably find that the cost is negligible.Īnother big factor you'll want to consider is latency i.e. Two of the most fundamental image editing functions are resizing and cropping. I recommend you work out the total cost for either approach to see how they compare. by implementing your own solution or delegating all the complexity to a third party service like AWS or Cloudinary. The fully actioned (built, packaged, and deployed) SAM template will result in a CloudFormation stack of resources being created across numerous AWS services (see the following table). With the on-the-fly approach, a developer can instead specify a new set of dimensions and lazily generate new assets as customers use the new website or application. Hi, The AWS Pricing Calculator ( calculator.aws) is a great tool for estimating costs. Running a batch process to resize all original images into new, resized dimensions can be time-consuming, costly, and error-prone.
