ABCD
1
Factors in considering how strongly you need a service mesh
2
ConcernBegin considering a service meshStrongly consider a service meshConsider that...
3
Service communicationLow interservice communication.High interservice communication.The higher volume of service requests that you have to internal and external services there are, the more insight and control you will need and the higher the return on investment your service mesh will deliver.
4
ObservabilityEdge focus—metrics and usage are for response time to clients and request failure rates.Uniform and ubiquitous—observability is key for understanding service behavior.You can bring much insight immediately with little effort.
5
Perspective from which you think of your APIsStrong separation of external and internal users. Focused on external API experience. APIs are used primarily for client-facing interaction.
APIs are for clients only.
Equal and undifferentiated experience for internal and external users. APIs are treated as a product; APIs are how your application exposes its capabilities.Service meshes are infusing API gateway and API management functionality. Deploy a mesh early to have your architecture ready for scaling.
6
Security modelSecurity at perimeter

Subnet zoning (firewalling).

Trusted internal networks.
Zero-trust mindset.

authN and authZ between all services.

Encryption between all services.
The security characteristics are desirable qualities of any deployment. Apply defense-in-depth. Why not pull these into a single layer of control?
7
# of servicesA couple of services.A few or more services.Deploy a service mesh early. Doing so lowers risk and affords you time to become confident with the operations of a service mesh.
8
Service reliabilityEither don’t need or are willing to hand code or bring in other infrastructure to provide resiliency guarantees.Need strong controls over the resiliency properties of your services and to granularly control ingress, between, and egress service request traffic.Resilient infrastructure and highly available services are ideal in any environment. Let the service mesh do the heavy lifting for you.
9
Size of your organizationa very small (<5 engineer) teamLarger
10
Diversity of application stackSingle language;
single protocol
One or more languages;
one or more protocols and transcoding of HTTP/1, HTTP/2, gRPC, GraphQL, Kafka, and so on.
Whether your environment is polyglot or not, service mesh instrumentation delivers uniformity, decouples Dev and Ops, and melts infrastructure concern off of application code.