Few takeaways from Segment’s journey of moving from a monolith to a microservice-style architecture & back to a monolith:

  • A solution that looks like an instant & perfect fit in the current scenario may not be the best solution when you consider potential scale of your system.
  • While making technology decisions, we must also consider the long term operational costs & benefits of a solution.
  • There are cons of a monolith: fault isolation is difficult, in-memory caching is less effective and updating the version of a dependency might break multiple other dependencies.
  • But remember that adopting a popular trend can hurt both team productivity & product performance. Be fully prepared to deal with the costs of change when making a shift.
  • Adopt a new trend only after getting a fair understanding of its implications on a scaled-up version of your current system.

Full post here, 13 mins read