Sensible Services, or Two Cheers for Microservices

What is ideal?

What is modularisation?

Nothing new under the sun

“In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.” — Grace Hopper

“Service-oriented architecture (SOA) helps organizations boost business performance, reduces costs and enhances the flexibility of business processes.” — Accenture

“It’s hard to recall the service management industry before the service catalog became common practice. Through our co-authorship of ITIL® Service Strategy, Accenture introduced the concepts of service portfolio and service catalog and the explicit definition of the term “service.” Our thought leadership helped define key concepts that have become the foundation of today’s tools and technologies.” — Accenture

Information Hiding Revisited

1. All teams will henceforth expose their data and functionality through service interfaces.

2. Teams must communicate with each other through these interfaces.

3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.

4. It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.

5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

6. Anyone who doesn’t do this will be fired.

— Amazon memo as recalled by Steve Yegge

Why do we break up systems?

“Organizing into services taught teams not to trust each other in most of the same ways they’re not supposed to trust external developers.” — Amazon memo as recalled by Steve Yegge

Sensible Services

Kubernetes and Spheres and VMWare Oh My

Two Examples and One Summary

Further Reading (that supports my opinions 🙂)

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store