Explain Service Mesh like I'm five

Hey, the five year old wants to know what a Service Mesh is and if there are cookies involved!

Did you find this post useful? Show some love!

Think of it like passing notes between classmates.

When you're passing notes between two or three close friends, it's pretty easy to be stealthy and pass them back and forth reliably. Everyone involved gets the message and you instinctively know what to do. If a note gets lost, or if the teacher catches you and takes it, you pretty much know who to ask to resend it or what to do if something goes wrong.

Now imagine you're passing notes between an entire classroom. Do you even know all the student's names? What happens when one note has a message for 3 or 4 different students on one note? If someone along that chain of communication fails to pass on the note, do you even know that happened and that there's a problem? When the teacher busts you, as they inevitably do, is everyone just screwed or do you know how to keep the fun going?

Now imagine you're passing notes amongst the entire school auditorium.

You could get crafty and give each student a ledger to keep track of everything. And you could train everybody with a set of instructions on what to do if a note gets lost. Some students speak English, but some have ESL, so you should make sure those instructions translate into their language too. And that your instructions actually say the same thing between translations.

But wait, now you figured out that the principal always sees you passing notes when you hand them over your shoulder to the student behind you. You shouldn't do that because note passing fails when you do that. Crap. How do you pass that new lesson on to the other students? And all the other translations? Do you have to train them all up again individually? Maybe you can get a bullhorn and broadcast it. Maybe Timmy was in the bathroom when you did. So you should verify occasionally that everyone got the message. Man, that's a lot of work! You just want to tell that kid over there that you like them. Why are you now a translator, instructor, and record keeper just to be able to do that?

The service mesh is a way to pass all those notes effectively without you needing to take on the burden of ensuring that it happens. To you, the student, it looks like you're just passing a note the way you normally would. No special training required. The rest of it just happens magically and it works way better than it ever did when you did it the old way.

The thing about the service mesh is that it kinda seems like overkill and doesn't make a lot of sense when it's just you and your two or three friends passing notes back and forth. I mean, kids have passed notes back and forth for as long as schools and paper have been a thing. Why do they need a service mesh now?

The answer is: they don't. Not really. They do just fine the way things are now.

But when you're passing those notes between an entire auditorium of students, that's when you'll understand why it matters.

Classic DEV Post from May 20

My programming journey: Should you leave your current job to pursue your goals?

when should you quit your current job to pursue your goals. I see postings all the time of how people quit their job saved up money for x time and begin working toward there goal of getting a better career. I want to talk about the other half of this for a minute of is this really a smart move?

READ POST
Follow @alexgwartney to see more of their posts in your feed.
dev.to is now open source!
View Announcement Post View GitHub Repo
Theofanis Despoudis
Senior Software Engineer @teckro, Experienced mentor @codeinstitute,@hack.hands, Technical Writer @fixate.io, git-book author
More from @theodesp
Explain Proof of Stake (PoS) like I'm five
#explainlikeimfive #discuss #blockchain
Explain Cgroups like I'm five
#explainlikeimfive #linux
Trending on dev.to
Explain Hashing + salting Like I'm Five
#explainlikeimfive #webdev
The Best Cross-Browser Testing Tools
#testing #selenium #devops #javascript
Shellscripting: Conditional Execution
#linux #learning #bash #devops
Explain Grunt Task Runner Like I'm Five
#explainlikeimfive #javascript #discuss
Deploying Next.js on AWS Lambda
#serverless #nextjs #devops #react
Understanding microservices 101. A frontend developers view.
#devops #developing #beginners #webdev