Service mesh is more mature than it was one or two years ago, however, it’s still hard for users. There are two types of technical
roles for service mesh, platform owners and service owners. Platform
owners, also called mesh admins, own the service platform and define the
overall strategy and implementation for service owners to adopt service
mesh. Service owners own one or more services in the mesh.
It’s become easier for platform owners to use service meshes because the projects are implementing ways to ease the configuration of the
network, configuration of security policies, and visualization of the
entire mesh. For example, within Istio, platform owners can set Istio
authentication policies or authorization policies at whichever scope
they prefer. Platform owners can configure the ingress gateway on
hosts/ports/TLS related settings while delegating the actual routing
behaviors and traffic policies of the destination service to service
owners. Service owners implementing well tested and common scenarios are
benefitting from usability improvement in Istio to easily onboard their
microservices to the mesh. Service owners implementing less common
scenarios continue to encounter a steep learning curve.
Adding to the complexity, the answer may be different for the various service mesh projects. Even within Istio, we adopted
microservices to fully leverage the mesh in earlier releases prior to
Istio 1.5, but decided to turn multiple Istio control plane components
into a monolithic application to reduce the operational complexity. For
that instance, it made more sense to run one monolithic service instead
of four or five microservices.