Created
April 6, 2013 15:51
-
-
Save joejag/5326565 to your computer and use it in GitHub Desktop.
Designing For Rapid Release - Sam Newman
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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