So, let's say I have a standard set up for application, that is:
- split into micro services
- and is running in a cluster (
docker swarm, I guess specific implementation does not matter, just the main idea),
- there's a API gateway, that faces internet and authenticates all the incoming external requests.
So far, so good, now what to do with communication between services?
Do I need to encrypt communication between micro services in same cluster, do I need to perform authentication/authorization between them or I should trust cluster's networking and doing this would be not needed redundancy?