Microservices are definitely a paradigm shift in software-architectural 
thinking. It didn’t happen over night; It stands on the shoulders of all the 
knowledge and practical experience that was gained over the last few decades, 
around software architecture, design and operations.
 
Although Compartmentalization is as old and time-tested as it goes (and 
obviously not just in Software), it’s completely green-fields with regard to 
implementation in the form of Microservices. Luckily we’re at a time where the 
idea can be realized in production, without requiring a significant change in 
the way software is developed. Docker is a great example of that, especially in 
the sense that it made Compartmentalization accessible to the public. Maybe 
that’s what was missing in previous attempts. 
There’s no cook-book on how to deploy Microservices at-scale, or in production, 
or ‘for-real'. People like us, all over the world are trying to figure this 
out. All this is spawning immense growth, which we’re all a part of.

Let me tell you, there will be some nice scars to show in a few years, and some 
ideas and technologies won’t make it. This is natural, and it’s exactly what 
happened with Computer Networking. Who remembers Token Ring?
It’s the fact that many ideas exist, and some will fail that makes the whole 
field more robust, or Anti-Fragile (thanks Nicolas Nassim Taeb).

It’s absolutely logical to re-examine everything we know at a time like this, 
and try to push the boundaries of the new concepts and technologies to their 
limit. For example, how should Microservices discover each other? how should 
they communicate?

Personally, and I may be wrong, when I think about production and scale, I 
think about stability. And when it comes to stability, old and time-tested 
things tend to work well. These ideas have survived for a reason. 
Networking technology is old and time tested. DNS, Proxy technologies, IP, 
DCHP, TCP etc - are very mature, well documented and defined. I’m not ready to 
throw them out just yet.
Using existing old, time-tested Networking technology (maybe with a new twist, 
like Weave) to solve new (or old) problems, seems to me like a very promising 
path forward.

Time will tell.


(Y)

Reply via email to