DEV Community

Hariprasad
Hariprasad

Posted on

Critical Considerations for Embracing a Microservice Architecture: Three Key Questions Developers Must Contemplate

These Three Questions Developers Should Contemplate Before Adopting a Microservice Architecture:

  1. What are you hoping to achieve?
    For example, independent rollout and scalable components are the primary advantages of microservices. However, these advantages also come with certain drawbacks, such as increased technological diversity, heightened operational complexity, and the need for better team coordination.

  2. Have you considered alternatives to using Microservices?
    For example, Monolith architecture.

  3. How will you know if the transition is working?
    If you have successfully reduced the complexity of the application and achieved the desired outcomes.

Sam Newman's List of Four Situations Where Microservices Might Be a Bad Idea:

  1. Unclear domain: Getting service boundaries wrong can be expensive

  2. Start-ups: A start-up needs to focus all its attention on finding the right fit for its product. Microservices primarily solve the sorts of problems start-ups have once they have found that fit with their customer base.

  3. Customer installed and managed software: Microservices push a lot of complexity into the operational domain. Coping with this complexity is not something you can typically expect of your end customers.

  4. Not having a good reason: Do not adopt microservices if you don’t have a clear idea of what exactly it is that you are trying to achieve.

Reference:

  1. The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture

Top comments (0)