3 ms·
IMO, you don't need a service mesh until you have a complex topology (i.e., services that call other services that call other services). A service mesh fundamen
by rdli 8y ago
IMO, you don't need a service mesh until you have a complex topology (i.e., services that call other services that call other services). A service mesh fundamentally is designed so that when you have a deep topology, you can manage/mitigate failures better by limiting blast radius/cascade failure/improving mean time to respond.
However, there are a ton of techniques you should consider before you go to a service mesh:
* canary deployments / rolling updates / etc.
* monitoring via APM, distributed tracing, etc.
* health checking / auto scaling via Kubernetes or equivalent
(I actually wrote an article about this recently that will be published in InfoQ, but it's under embargo. If you ping me, I can send you a not-for-public-yet version.)
- ciguy 8y agoWe do have a complex topology based on your definition, and already do many of the things you mentioned (Though we do have some limitations due to ECS being less flexible with deployment options). So glad to hear that a service mesh may fit well with our current architecture. I'd love to see the article, will email you.