March 15, 2017

The Zen of Microservices (1) : Why & When?

Why Microservices?

Software systems need to be Scalable, Resilient and Agile

Microservices allow large enterprises to gradually convert to cloud-native software systems and fully leverage the benefits of Cloud computing.

The combination of Agile Development methodology (rapid iteration) combined with Microservice Architecture (small independent services) dovetails perfectly with Cloud computing principles and offers huge business advantages as evidenced by Netflix, LinkedIn, PayPal etc.

Microservice Premium / Monolith First Strategy

"Almost all the successful microservice stories have started with a monolith that got too big and was broken up...Almost all the cases where I've heard of a system that was built as a microservice system from scratch, it has ended up in serious trouble..." ~ Martin Fowler (ThoughtWorks) MonolithFirstStrategy

Adopting a microservice architecture comes with a significant cost ("Microservice Premium"). The quote above suggests that the best time to make this move is when there's no other choice.

TLDR; Adopt microservices architecture only when your business' needs outgrows the simplicity of a monolithic application.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket