simplifying development at guardian co uk graham tackley
play

simplifying development at guardian.co.uk Graham Tackley - @tackers - PowerPoint PPT Presentation

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


  1. simplifying development at guardian.co.uk Graham Tackley - @tackers architect, guardian.co.uk

  2. Background Decision Impact Outcomes

  3. Background Decision Impact Outcomes

  4. Background Decision Impact Outcomes

  5. Background Decision Impact Outcomes

  6. Background 2006-2008: “R2” Decision Impact Outcomes

  7. Background Decision Impact Outcomes main java (185k) main xml (35k) velocity (72k) test java (248k) 0 75'000 150'000 225'000 300'000

  8. Background Decision Impact Outcomes it’s ok, but...

  9. Background 2009 Decision Impact Outcomes

  10. Background Decision Impact Outcomes

  11. Background Decision Impact Outcomes

  12. Background Decision Impact Outcomes We value Small Independent Components over The Monolith

  13. Background Decision Impact Outcomes

  14. Background Decision Impact Outcomes

  15. Background Decision Impact Outcomes We value Clarity of Intent over Ceremonial Abstraction

  16. Background Decision Impact Outcomes it’s ok, but...

  17. Background Decision Impact Outcomes We value Architectural Evolution over Architectural Revolution

  18. Background Decision Impact Outcomes

  19. Background Decision Impact Outcomes

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

  21. Background Decision Impact Outcomes huge drop in verbosity and boilerplate

  22. Background Decision Impact Outcomes We value Craft over Patterns

  23. Background Decision Impact Outcomes http://www.guardian.co.uk/open-platform http://content.guardianapis.com

  24. Background Decision Impact Outcomes

  25. Background Decision Impact Outcomes 2010 2009 2011 Nov java + guice + guice servlets + apache solr

  26. Background Decision Impact Outcomes 2010 2009 2011 Jan java + guice + guice servlets + apache solr

  27. Background Decision Impact Outcomes 2010 2009 2011 Jan

  28. Background Decision Impact Outcomes 2010 2009 2011 Jan

  29. Background Decision Impact Outcomes 2010 2009 2011 Feb scala + guice + guice servlets + apache solr

  30. Background Decision Impact Outcomes Live! 2010 2009 2011 May scala + guice + guice servlets + apache solr

  31. Background Decision Impact Outcomes 2010 2009 2011 July scala + guice + guice servlets + apache solr

  32. Background Decision Impact Outcomes 2010 2009 2011 July scala + lift + apache solr

  33. Background Decision Impact Outcomes 2010 2009 2011 July scala + lift + apache solr

  34. Background Decision Impact Outcomes 2010 2009 2011 Now scala + lift + apache solr

  35. Background Decision Impact Outcomes

  36. Background Decision Impact The roll-it-out-to-everyone plan Outcomes

  37. Background Decision Impact Outcomes How did we learn?

  38. Background Decision Impact Outcomes

  39. Background Decision Impact Outcomes We value Passionate Developers over Turning the Crank

  40. Background Decision Impact Outcomes Complexity vs Simplicity

  41. Background Decision Impact Outcomes

  42. Background Decision Impact Outcomes We value Clarity over Cleverness

  43. Background Decision Impact Outcomes

  44. Background Decision Impact Outcomes preference for immutability scala console encourages viewing code as a living entity awesome test frameworks reduced need for complex frameworks

  45. Background Decision Impact Outcomes love-hate relationship with sbt tool support immature compared with java compiler is slow rate of change

  46. Background Decision Impact Outcomes

  47. Background Decision Impact Outcomes

  48. Background Decision Impact Outcomes

  49. Background Decision Impact Outcomes https://github.com/guardian/frontend-article

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

  51. graham.tackley@guardian.co.uk @tackers We’re hiring: http://bit.ly/guardian-dev-jobs

Recommend


More recommend