Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How build and deployment should shape software architectures

How build and deployment should shape software architectures

Build and deployment concerns can help us to avoid some architecture anti-patterns, and enable some useful system properties.

F3b97b9b66add9d83e6438ffc1665181?s=128

Matthew Skelton
PRO

September 10, 2012
Tweet

Transcript

  1. How build and deployment should shape software architectures Matthew Skelton

    CEng | thetrainline.com IASA UK Ignite 2, London | #iasaignite 10 September 2012
  2. Systems engineering (robotics, control theory, sensors, neuroscience) Software development (finance,

    insurance, travel, pharma, media, medical imaging) now Build & Deployment at thetrainline.com @matthewpskelton
  3. architecture = f (build & deploy) (for some systems)

  4. “HERESY!”

  5. None
  6. None
  7. None
  8. RELIABLE REPEATABLE RAPID RECURRING

  9. Web-based Frequently- changing Public-facing High-volume

  10. ‘R-R-R-R’ BUILD AND DEPLOYMENT Helps to avoid the Ball of

    Mud
  11. None
  12. BUILDABLE Small pipelined builds on generic build machines Seconds, not

    minutes or hours Short feedback cycles (Dan Worthington-Bodart, @danielbodart - http://bit.ly/M85wsX)
  13. TESTABLE Test (separation, harnesses, points) IDENTIFIABLE Meaningful versions, packages, defined

    dependencies, artefact management (think component boundaries)
  14. DEPLOYABLE Rapid, scriptable, simple failure modes MONITORABLE Logging, metrics, transaction

    tracing CONFIGURABLE Inject settings – no ‘black boxes’ LIGHTWEIGHT Keep things small and easily comprehendible
  15. INSTANTIABLE No snowflakes or singletons RECOVERABLE No nasty zombies after

    failures MTTR more important than MTBF* * for most kinds of F
  16. None
  17. RELIABLE REPEATABLE RAPID RECURRING

  18. Lightweight, Testable, Monitorable, Configurable, Recoverable, Identifiable component architecture

  19. LOAD BALANCING HIGH AVAILABILITY SCALING ELASTIC ARCHITECTURES RAPID RECOVERY

  20. 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