I have a pubic data receiver service set up in EC2 that works great but is hard to scale. It has an open source server that listens and receives images on a port and copies and renames the image files to S3 as they come in. I’m interested in switching to Lambda for scaling purposes. I’ve read about including binaries in the zip file which seems like a great way to allow the Lambda function to run the receiver service. But something seems strange about this compared to the Lambda examples I’ve worked through.
A server needs to be running already to listen - if AWS calls the function and the function starts up the server and it begins to listen, what has happened to the image data in the meantime? I have read about warming up Lambda - would that essentially mean the server will already be running (assuming it is warm) even when a new Lambda call comes in and tries to execute the receiver binary? What is the best way to set this particular system up?