Microservices - the social perspective

Microservices – the social perspective

Geecon Microservice in Sopot ended a few days ago. It feels like a good time to sum up what we learned about the state of the Microservice approach in software development. I’m not an IT architect [sic!], so I’ll avoid tech lingo. I’ll use some family metaphors instead. Let me show you why developers should choose Microservice over the Monolith approach.

Living together

A Monolith IT project is like a family living in one house. In time, the family grows, and new members move in. There are those family members you adore – for example your great uncle Joey with his cool sports car – and those you don’t like as much – maybe that grouchy, dusty-old-hat wearer… the dreaded aunt Estella.
IT projects are very similar. A project continually gains new features, there are places in codebase which are amazing and those which are buggy and poorly designed.
Your project is your family. You never know who you might meet in the kitchen. Maybe Joey – lucky you! – maybe Estella – too bad, then. Basically, this isn’t a super-comfortable house to live in. But imagine how tragic it would be to discover that Joey and Estella actually have something in common. Soon they’re bonding, and Joey is donning Estella’s dusty hats – what a nightmare!
Same with your project. You write your awesome module, and then you’re constantly trying to keep you code as far away from the ugly parts of the system. Unfortunately sooner or later the  good and bad parts will mix and mingle (hats optional). Deal with it.

Get out of my house!

Picture this: aunt Estella is moving out! From now on you’ll only meet her in the street. She will never interrupt you while you are hanging around with Joey again! It’s possible!
The microservice approach gives you the opportunity to protect those you love: the good parts of a system from those bad ones which you isolate in a small prison cell somewhere in your code repository, where they will wait for resocialization (reimplementation). It’s the only known way to keep your project healthy. A house like that seems far cosier, doesn’t it? You know exactly which people you’ll stumble upon the kitchen and who is safely dusting off their hats elsewhere.
Last but not least: during Geecon, one of my friends described his latest project written in Microservice architecture: “This is the first project which has been going on for more than a year and I don’t think it should be removed and then rewritten.”
Good family he’s got there!
If you have any questions, contact us!
author: Krzysztof Urman