For workers we run only Java and run everything on AWS. We have an existing production system that uses a combination of SQS, DynamoDB, and Postgres, and EC2s to achieve something very similar to this. Just want to check all the boxes before we dive into building out something for a new system coming into production that shares many of the same requirements.