might be a bit hyped and you are curious and want to hear more • You think microservices are awesome and should be used everywhere (and you are here to heckle)
term and practically meaningless. Microservices is a subset of SOA with the value being that it allows us to put a label on this useful subset of SOA terminology” Martin Fowler
architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services should be fine-grained and the protocols should be lightweight” Wikipedia
Latency is zero • Bandwidth is infinite • The network is secure • Topology doesn't change • There is one administrator • Transport cost is zero • The network is homogeneous
to solve the business problem first • Your system will never be done • Refactor to Monolith • Once you have a coherent monolith it will be easier to discover its actual components
Collapses as many unnecessary conceptual models as possible • Question any attempt of generalization • Rule of 3 • Avoid any internal service boundary like the plague
• Apply the discipline required to operate a microservice • Break your domain into well defined components • Mature deployment pipeline • Apply elaborate monitoring
value • Microservices are probably more expensive than you think – be sure you want to pay the price • Microservices require a lot of discipline – instead adopt this discipline in your monolith • Know the problem you are solving – don't let potential problems dictate your solution