Open jroper opened 9 months ago
To address this, there should probably be a section in the Akka Management docs added that discuss specific areas of concern that any operator should consider when deploying Akka with a service mesh. Perhaps a part of the Cluster Bootstrap section, https://doc.akka.io/docs/akka-management/current/bootstrap/index.html#akka-cluster-bootstrap.
The Remote Security page says:
The Remoting page that it links to says:
While these two statements are 100% correct, they are likely to mislead users into thinking that Akka cannot be used with a service mesh, and that Akka cannot benefit from what a service mesh has to offer. Of course, this is not true, Akka services talking to other HTTP services, or even talking to other Akka services using HTTP, as opposed to communicating within a cluster, can benefit greatly from what a service mesh has to offer, including transparent mTLS, workload identity and authorization, and routing policies used to implement deployment strategies such as blue/green, A/B and canary, etc.
I think therefore we should soften the language here to say things along the lines of "While a service mesh can complement Akka deployments well, particularly for HTTP and gRPC communication between Akka services, communication between nodes of an Akka cluster cannot be done through a service mesh." I think it would also benefit if we had some documentation somewhere that we can link to from these places about how Akka applications may take advantage of a service mesh, and include some high level instructions of what needs to be done to ensure Akka clustering still works. We do currently have this, but that's Istio specific and buried deep within the Akka Management documentation.