Karl Profile picture
15 Sep, 16 tweets, 5 min read
1/15 Service Mesh: A bit of a thread.
I've seen a few posts recently questioning the value of tools like @IstioMesh and @LinkedIn, a bunch of people saying they are yet to see a good business use case. So I figured I'd share a little bit about what it looks like at AutoTrader
2/15 Specific Features
Something I like to point out a lot is that the feature set is extremely large, which makes implementation complicated. You can get a huge amount of value from cherry-picking just the parts that are most valuable to your org. For us, they are:
3/15 Language agnostic, Black Box Metrics
We have almost 400 services written in 13 different languages. Within those languages N different versions, and N frameworks (and versions). We have exactly the same metrics for all of them, without needing to touch app code.
4/15 Black Box Tracing
Very much the same as the metrics, enabling traces without needing to instrument or configuration your applications delivers a whole load of value. Particularly useful as we have a broad microservice architecture.
5/15 Consistency enables Operational Tooling
Consistent observability data enables you to easily build platform level tooling which benefits everyone. Automation can collate relevant information and reduce your MTR.
6/15 Chaos Engineering
We encourage our teams to think about faults, the service mesh gives us a simple way of enabling those teams to inject fault into their services, without needing to touch app code.
7/15 Mutual TLS with frequently rotated certificates
No pictures needed here, 400 microservices all transparently using mutual-tls to communicate, again without needing to touch the app code.
8/15 Smarter Traffic Routing
We run our clusters across multiple availability zones. By utilising locality aware routing rather than the round-robin kube-proxy we save about $40k/year in zonal egress costs, we improve latency, and reduce the impact of issues within a single zone
9/15 Consistent Fault Detection
We use @EnvoyProxy Outlier Detection to quickly detect and evict unhealthy endpoints. As this is done at the platform level, we benefit from consistent alerting and monitoring when this happens.
10/15 Running Cost
Operationally, I've covered this over on , however from a people perspective - we have about 8 people working on our platform and some 200 devs deploying applications on it.
11/15 Complexity
This is a biggie, Kubernetes & Istio & everything else is complex. We took the decision to abstract product teams from that and build a PaaS style platform on top, the level of consistency this has given us has been key.
12/15 You're probably thinking "That's lovely, but what did it help you achieve" - and you're right to ask! There's no point in investing all this effort unless we're driving the business forward too, right?
13/15 Getting Products Live
Product teams don't have to worry about many of the CFRs any more, as they get them for free. Getting an application in front of customers is end to end automated. Within literally minutes we can have code in front of customers in production.
14/15 Cloud Migration
2 years ago we were almost entirely in Physical Data Centres on VMs, we are currently about 90% in the cloud on Kubernetes. All of this black box observability accelerated that migration, removed so much fear of the unknown when moving services.
15/15 Summary
I do believe that attempting to get all of these capabilities via other means would have required a lot more effort than the transparent proxy/mesh approach. There is complexity you should be conscious of, but the gains can be great - so shouldn't put you off.
Lol, Twitter where is my edit button. I meant @Linkerd obviously - not a professional social network service mesh 🤣

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Karl

Karl Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!