Add a comment


Re: Distributed big balls of mud

I agree, that if you don´t master software development without µServices, they won´t salvage your project.

µServices are just a means to an end. But which? Evolvability. Or sustainable software production.

But are they the only means to accomplish this? Or just the latest fad?

I think, µServices need to be put into perspective. What are they? What´s their category? I call that "container".

µServices contain code. They are a design time artifact for building evolvability into software. Other containers are (in increasing size): functions, classes, libraries, components.

But containers don´t just differ in size/granularity, I´d say. They also differ in how strong they encapsulate the implementation details of the code they contain.

Libraries are opaque containers. No source code/implementation visible, just an API. Components are libraries too, but separate the API (contract) from the implementation; thus clients of a component can be coded in parallel with the component implementation. They just need the contract. This enables a kind of "industrial" software development. Division of labor becomes easier.

And then, the next level of container granularity is µServices. They go beyond components in that they require a platform neutral contract - which accidentally entails they run in their own process. And thus you can write them using different platforms.

That´s it in my view. Nothing more, nothing less to µServices. They are just another type of container. So as long as you have difficulties structuring your software using the "lower level" containers like components, libraries, classes, functions... you won´t be able to reap many benefits from µServices. Where there are monoliths today, where there is no experience with components, µServices will actually make things worse, I guess.

Re: Distributed big balls of mud

HTML : b, strong, i, em, blockquote, br, p, pre, a href="", ul, ol, li, sub, sup
E-mail address
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).