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.
Generative AI for Technical Writer or Information Developers
How build and deployment should shape software architectures
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
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
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