I'm starting a brand new project implementing microservices with domain driven design. We will have microservices written in different languages like C#, Python, and Node. I'm thinking about hosting these microservices as AWS lambda functions and using SNS and/or SQS for event pub/sub. My first attempt at hosting C# functionality as lambda functions had very poor performance when cold starting C# lambda. So, we are getting push back from business on using lambda functions.
Another option is hosting these microservices on a Linux EC2 instance. How do you implement pub/sub of events between these microservices living on a Linux EC2 instance? Can I still use AWS SNS/SQS? It's my understanding implementing a message bus across different technologies is difficult.
What's the best approach for implementing pub/sub of events across microservices built with different technologies? Thanks for your time.