Serverless cloud thumbnail images
11 January 2017
Creating thumbnail images - no big deal, right? But what if you need to do it WITHOUT A SERVER?
Allow me to paint a picture. Our client is a high-end, Hampshire-based print fulfilment house. They receive hundreds-of-thousands of orders each month, printing custom artwork onto a variety of media (phone-cases, cushions, mugs, etc) - and delivering it to end customers.
And they're great at it. But translating source orders into the correct format for their delivery systems can be a real pain. That's were we come in.
We have develolped a portal that allows their customers to login and place secure orders in the precise format required. This speeds everything up and saves a load money. Great. But there's still one problem: those artwork files can be large.
A key part of the systems architecture ensures customers upload these large image files directly to secure cloud storage, without clogging-up our client's systems in the process. This work great, however simply viewing these images can then require very large browser downloads! So - how to create much smaller, thumbnail images without the use of a server?
Enter Lambda - Amazon's serverless code-execution service. Using Lambda, we can run custom Node.js code to automatically resize all images as they're uploaded. These computing resources are provisioned on-demand and without traditional server operating system requirements.
OK, so this is a niche solution. But it is pretty neat. And it's indicative of the way Web solutions are shifting in general: towards remote, packaged, scalable and on-demand resources - all with associated utility-style billing.