Javier Estraviz bio photo

Javier Estraviz

Code, Data Science, Scrum 43.293, -3.001

Email Twitter LinkedIn Github Codewars DataCamp freeCodeCamp

Microservices, a very brief introduction
      Software Design   Microservices · GOTO · ThoughtWorks · Martin Fowler


Nowadays everybody talks about microservices and microservices architecture in software development. But this is not a new concept and has been around in the last years. Well, everybody talks about them but it doesn’t mean everybody has been able to refactor their platform in this direction, although might be willing to.

As an introduction to the microservice approach, I recommend this video from Martin Fowler, a british software developer 1 quite popular and author, among others, of books such as Refactoring: Improving the Design of Existing Code or Patterns of Enterprise Application Architecture. This talk was part of the well-known GOTO conferences that took place in Berlin in 2014.

Fowler summarizes the common characteristics of Microservices in the following list that I want to keep for myself here:

  1. Componentization via services.
  2. Organized around business capabilities.
  3. Product not Projects.
  4. Smart endpoints and dumb pipes.
  5. Decentralized Governance.
  6. Decentralized Data Management.
  7. Infrastructure Automation.
  8. Design for failure.
  9. Evolutionary Design.

Another point to keep in mind, the comparison between Monolith vs. Microservice, as follows:

MONOLITH MICROSERVICE
Simplicity Partial Deployment
Consistency Availability
Inter-module refactoring Preserve Modularity
  Multiple Platforms

Other ingredients of microservice architectures:

  • Traceable Business Transactions.
  • Continuous Delivery.
  • Product-centered Teams 2.
  • Multi-Dev Environment.
  • Rapid Provisioning.
  • Basic Monitoring.
  • Rapid Application Deployment.
  • DevOps Culture.

Really convincing arguments to abandon the monolith path that soon turns into a Big Ball of Mud and follow the microservice way, right? What do you think?

For further reference, see also this article from Mr. Fowler (and recommended in the video).

Regards!


  1. Martin Fowler works at ThoughtWorks (June, 2018). 

  2. This is currently the matter of active discussion in the company of a good friend of mine (which I’m not going to mention here, sorry).