Skip to content

Instantly share code, notes, and snippets.

@joejag
Created April 6, 2013 15:51
Show Gist options
  • Save joejag/5326565 to your computer and use it in GitHub Desktop.
Save joejag/5326565 to your computer and use it in GitHub Desktop.
Designing For Rapid Release - Sam Newman
http://vimeo.com/53154358
Google Protobuffs for exchanging data
Design SOA around biz capabilites, not technical
Postel's Law: Be conservative in what you send, and liberal in what to expect
-- Don't use JAXB, use XPATH.
Consumer Driven Contracts: Write a test to give to services that say what you use
DO NOT USE SESSION STATE. USe cookies or persist. Or use another service
Database: Use separate schema. Can still be in the same database instance.
Services should own their own data. Free to store it how they want.
During database changes, write to both (this give you a rollback point).
-- 1. write to both, 2. read from new, 3. decommision rdms
Dark Launching: Do the same for services, run both, look at the results
Facebook used to check load.
Key Points: Decompose your systems, Model your domain, Get interfaces right, Separarte deployment from release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment