Microservices, just another buzzword?

Why is everybody talking about microservices these days? It seems to be the solution to everything
whereas in my opinion it’s nothing else than what SOA services were intended to be in the first place.
A service with a lightweigh interface (typically HTTP/REST) dedicated to a small a single task that is loose coupled, has a higher level of abstraction, fully autonomous, stateless and very reusable and composable. The only thing I can imagine being different is having the flexibility of deploying and scaling the (micro)service independently and easier whereas SOA services are normally grouped together in deployable artifacts. This level of autonomy achieved by creating fully independent (micro)services also leverages the application of continuous integration or continuous delivery by making it much easier to manage dependencies.

But SOA as paradigm is of course more than that, so there is no real comparison possible between SOA and microservices rather than that microservice can be potentially seen as a subset of SOA that untill now have been undefined. Main reason for this can be explained by the fact that the SOA paradigm leave quiet a bit of room for interpretation, in which we now see microservices arising.

In that case, yes, I know see why everyone is talking about it and how it will leverage the existing SOA paradigm. But on the other hand we will see a lot of (micro)service compositions for simple functions. Time will tell whether microservices is actually an enrichment or (a lot of) just overhead.

Perhaps I would just like to see microservices as a most wanted extension on SOA, maybe I am not the only one hazzling with over-complicated, not-so-loose-coupled nor flexible SOA services.

MSA

Advertisements

One comment

  1. Very true indeed! Abstraction and re-usability has been one of the main topics in computer science for decades. The C language provided us procedure and function constructs. Object-Oriented Programming already separated implementation from its interface. As for services, those should have made business objects accessible from the get go; regardless of the application server or middleware platform where they are implemented. We basically faced similar challenges with near obsolete CORBA IDL and Java RMI. Developers will agree that Application Programming Interfaces or APIs exist for a long time now; albeit on different levels of the software stack and learning them takes time. Also, granularity is key for any procedure, function or (micro)service out there — or whatever we called them in the future.

    If only people got this mindset right someday…

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: