Pragmatic Microservices - Randy Shoup

Note: very good talk! About how to do Microservices correctly.

During the talk the speaker mentions 4 cases of big companies that at some point migrated their architecture to microservices.

There's two things to notice here:

  1. Companies at large scale ultimately end up evolving to microservices.
  2. None of them started that way.

Pragmatic Evolution

Monolithic Architecture

Monolithic Application
Monolithic Database
Improving the Monolith (without going to microservices)

Microservice Architecture

Microservices are nothing more than SOA done properly.
-- Randy Shoup (ex-Google, ex-eBay)

Prerequisites for Success
Process Maturity: Continuous Delivery
Organizational Maturity: Conway's Law

If you're considering moving to microservices, one of the first things you should consider doing is breaking up your organization in smaller pieces that parallel the services that you wanna build.

Organizational Maturity: Conway's Law
Organizational Maturity: Conway's Law

Deciding to Rearchitect

When to move from monolith to microservices

Why Rearchitect?

Getting to rearchitect a system is a sign of success, not failure.

If you don't end up regretting your early technology decisions, you probably over-engineered.

There's a reason why we never heard of a eBay competitor that started building a distributed system rather than a monolith.
It's because the companies that were successful focused on meeting the needs of their customers, finding a business model, making sure they had a product-marked fit, and moving forward in an evolutionary way rather than over-engineering from the beginning.

Rearchitecture Tactics

The only thing a Big Bang migration guarantees is a big Bang.
-- Martin Fowler

Incremental Migration
Carving up the Monolith

Service Anti-Patterns

Microservices may not be for you if...