How build and deployment should shape software architectures

1,629 views

Published on

Build and deployment concerns can help us to avoid some architecture anti-patterns, and enable some useful system properties.
Presented at IASA UK Ignite 2 on 10 September 2012 in London.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,629
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
13
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

How build and deployment should shape software architectures

  1. 1. How build and deployment should shape software architecturesMatthew Skelton CEng | thetrainline.com IASA UK Ignite 2, London | #iasaignite 10 September 2012
  2. 2. Systems engineering (robotics, control theory, sensors, neuroscience) Software development(finance, insurance, travel, pharma, media, medical imaging) nowBuild & Deploymentat thetrainline.com @matthewpskelton
  3. 3. architecture= f (build & deploy) (for some systems)
  4. 4. “HERESY!”
  5. 5. RELIABLEREPEATABLE RAPIDRECURRING
  6. 6. Web-basedFrequently- changingPublic-facingHigh-volume
  7. 7. ‘R-R-R-R’BUILD AND DEPLOYMENTHelps to avoid the Ball of Mud
  8. 8. BUILDABLESmall pipelined builds on generic build machines Seconds, not minutes or hours Short feedback cycles (Dan Worthington-Bodart, @danielbodart - http://bit.ly/M85wsX)
  9. 9. TESTABLETest (separation, harnesses, points) IDENTIFIABLE Meaningful versions, packages, defined dependencies, artefact management (think component boundaries)
  10. 10. DEPLOYABLE Rapid, scriptable, simple failure modes MONITORABLE Logging, metrics, transaction tracing CONFIGURABLE Inject settings – no ‘black boxes’ LIGHTWEIGHTKeep things small and easily comprehendible
  11. 11. INSTANTIABLE No snowflakes or singletons RECOVERABLE No nasty zombies after failuresMTTR more important than MTBF* * for most kinds of F
  12. 12. RELIABLEREPEATABLE RAPIDRECURRING
  13. 13. Lightweight, Testable, Monitorable, Configurable,Recoverable, Identifiablecomponent architecture
  14. 14. LOAD BALANCING HIGH AVAILABILITY SCALINGELASTIC ARCHITECTURES RAPID RECOVERY
  15. 15. architecture= f (build & deploy) (for some systems) thank you IASA: www.iasaglobal.org matthewskelton.net | @matthewpskelton Thanks to: Attila S, Jack R and Owain P for feedback. Picture credits: Petra: Wikimedia/Berthold Werner; army engineers: US DoD; ball of mud: pwern.blogspot.co.uk; sports car: xarj.net; zombie: bjj.org; feather: Wikipedia; punch: thelegalblitz.com; passport: coverpalace.com; dogs: reluctantmemsahib.wordpress.com; Meccano: dalefield.com

×