| A | B | C | D | |
|---|---|---|---|---|
1 | Factors in considering how strongly you need a service mesh | |||
2 | Concern | Begin considering a service mesh | Strongly consider a service mesh | Consider that... |
3 | Service communication | Low 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 | Observability | Edge 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 APIs | Strong 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 model | Security 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 services | A 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 reliability | Either 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 organization | a very small (<5 engineer) team | Larger | |
10 | Diversity of application stack | Single 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. |