When I first started doing web programming I built an “asynchronous HTTP” thing that shuffled requests from a public facing server to SQS, and read respond from another SQS. The idea was keeping applications and their data very isolated from the public users.
Over the decades it evolve to a generic proxy that takes IP network traffic (UDP, ICMP, TCP and TLS) traffic, slices it into messages and forwards to AWS services (bidirectionally for Lambda and Step Functions, unidirectional for S3, DDB, SQS, SNS, Firehose, etc.). I use it liberally to avoid running “servers”.
Over the decades it evolve to a generic proxy that takes IP network traffic (UDP, ICMP, TCP and TLS) traffic, slices it into messages and forwards to AWS services (bidirectionally for Lambda and Step Functions, unidirectional for S3, DDB, SQS, SNS, Firehose, etc.). I use it liberally to avoid running “servers”.