simplifying development at guardian.co.uk Graham Tackley - @tackers architect, guardian.co.uk
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background 2006-2008: “R2” Decision Impact Outcomes
Background Decision Impact Outcomes main java (185k) main xml (35k) velocity (72k) test java (248k) 0 75'000 150'000 225'000 300'000
Background Decision Impact Outcomes it’s ok, but...
Background 2009 Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes We value Small Independent Components over The Monolith
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes We value Clarity of Intent over Ceremonial Abstraction
Background Decision Impact Outcomes it’s ok, but...
Background Decision Impact Outcomes We value Architectural Evolution over Architectural Revolution
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision same infrastructure: toolset, Impact Outcomes libraries, build, runtime it’s just bytecode; a war is a war mixed scala & java projects work huge drop in verbosity and boilerplate
Background Decision Impact Outcomes huge drop in verbosity and boilerplate
Background Decision Impact Outcomes We value Craft over Patterns
Background Decision Impact Outcomes http://www.guardian.co.uk/open-platform http://content.guardianapis.com
Background Decision Impact Outcomes
Background Decision Impact Outcomes 2010 2009 2011 Nov java + guice + guice servlets + apache solr
Background Decision Impact Outcomes 2010 2009 2011 Jan java + guice + guice servlets + apache solr
Background Decision Impact Outcomes 2010 2009 2011 Jan
Background Decision Impact Outcomes 2010 2009 2011 Jan
Background Decision Impact Outcomes 2010 2009 2011 Feb scala + guice + guice servlets + apache solr
Background Decision Impact Outcomes Live! 2010 2009 2011 May scala + guice + guice servlets + apache solr
Background Decision Impact Outcomes 2010 2009 2011 July scala + guice + guice servlets + apache solr
Background Decision Impact Outcomes 2010 2009 2011 July scala + lift + apache solr
Background Decision Impact Outcomes 2010 2009 2011 July scala + lift + apache solr
Background Decision Impact Outcomes 2010 2009 2011 Now scala + lift + apache solr
Background Decision Impact Outcomes
Background Decision Impact The roll-it-out-to-everyone plan Outcomes
Background Decision Impact Outcomes How did we learn?
Background Decision Impact Outcomes
Background Decision Impact Outcomes We value Passionate Developers over Turning the Crank
Background Decision Impact Outcomes Complexity vs Simplicity
Background Decision Impact Outcomes
Background Decision Impact Outcomes We value Clarity over Cleverness
Background Decision Impact Outcomes
Background Decision Impact Outcomes preference for immutability scala console encourages viewing code as a living entity awesome test frameworks reduced need for complex frameworks
Background Decision Impact Outcomes love-hate relationship with sbt tool support immature compared with java compiler is slow rate of change
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes
Background Decision Impact Outcomes https://github.com/guardian/frontend-article
Background Decision Impact Outcomes Clarity of Intent S m a l l I n d e p e n d e n t C o m p o n e n t s over o v e r Ceremonial Abstraction T h e M o n o l i t h Clarity Craft Passionate Developers over over Cleverness over Patterns Turning the Crank A r c h i t e c t u r a l E v o l u t i o n o v e r A r c h i t e c t u r a l R e v o l u t i o n
graham.tackley@guardian.co.uk @tackers We’re hiring: http://bit.ly/guardian-dev-jobs
Recommend
More recommend