Skip to content

Instantly share code, notes, and snippets.

@nikolaydubina
Created December 27, 2024 13:41
Show Gist options
  • Save nikolaydubina/777b6deffe2eaf07f37c675a11c8dde3 to your computer and use it in GitHub Desktop.
Save nikolaydubina/777b6deffe2eaf07f37c675a11c8dde3 to your computer and use it in GitHub Desktop.
  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.
  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.
  7. Thank you; have a nice day!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment