MicroProfile and Service Mesh
When deploying into a Kubernetes cluster, some people choose to make use of a Service Mesh. The goal of a Service Mesh is to move certain considerations of microservices out of the application code and to place it around the application. A Service Mesh can remove some application concerns such as service selection, observability, fault tolerance, and, to a certain degree, security. One common Service Mesh technology is Istio. The way Istio works is by inserting a sidecar into the Pod for the containers and all inbound and network traffic is routed via that sidecar. This allows the sidecar to perform activities applying access control policies, routing requests to downstream services, and applying fault tolerance policies such as retrying requests or timing them out. Some of these capabilities overlap with some of the MicroProfile capabilities, for example, Istio can handle attaching and propagating OpenTracing data with requests. If you use Istio, you...