SlideShare a Scribd company logo
SUPERSIZE ME
 Making Drupal go large
INTRODUCTION


• Who    are we?

• Building   BIG Drupal

• Three   pillars of scale

• Care   in the community

• Q&A
WHO ARE WE?
Supersize me: Making Drupal go large
Supersize me: Making Drupal go large
COMMON MISCONCEPTIONS


• “Drupal     is slow”

• “Drupal     doesn’t scale”

• “It’s   only good for a hobby site”
WRONG!
DEVELOPING BIG WEBSITES WITH
 DRUPAL IS NO DIFFERENT TO
   DEVELOPING THEM WITH
   ANY OTHER SOFTWARE
DEVELOPING BIG WEBSITES WITH
DRUPAL IS NO DIFFERENT TO
    DEVELOPING THEM WITH
  ANY OTHER SOFTWARE
DRUPAL IS NO DIFFERENT TO

  ANY OTHER SOFTWARE
SCALING PERFORMANCE
    The first pillar-box of scale
SCALING COMPLEXITY


• Caching   and Reverse proxy caches

• Queues

• Alternative   database backends

• Throttling
MONITORING

• All   the common open source tools...

  • Munin, Nagios, etc

• Plus   some new ones

  • New     Relic, Boundary

• Social   media

  •      saved our site...
SCALING PEOPLE
We’re going to need a bigger boat
COMMUNICATION
PRIORITISATION
DISTRIBUTED WORKING
REDUNDANCY
PROJECTS CONSIST OF CODE
PROJECTS CONSIST OF CODE

CODE IS WRITTEN BY PEOPLE
PROJECTS CONSIST OF CODE

CODE IS WRITTEN BY PEOPLE

 PEOPLE DELIVER PROJECTS
SCALING PROCESSES
YOU STILL NEED TO DO ALL
THE THINGS YOU WOULD DO
  ON ANY BIG SOFTWARE
         PROJECT
WHAT THINGS?

• Provide   clarity of purpose   • Code    review

• Automated    and manual        • Source    control
 testing
                                 • Release    management
• Continuous    integration
                                 • Address    technical debt
• Performance
            testing and
 benchmarking                    • Be   agile (with a little ‘a’)
CLARITY OF PURPOSE


• Your   team must know how to “do”

• The    definition of “done”

• What “good” looks    like
TESTING

• Know how you’re going to test, before you write a single line
 of code

• Do   it regularly

• Make   it repeatable and consistent

• Automate    as much as possible

• Test
    Driven Development (TDD) or Behaviour Driven
 Development (BDD) is even better
CONTINUOUS INTEGRATION

• Fail   fast, Fail early

• Start    your project the way you mean to go on

• Providean environment where developers are allowed to
  make mistakes (not just dev)

• Automate       your environment setup

• Regularlybuild your environments - including deploying to
  production
“IT DOESN’T MATTER HOW
YOUR BUILD SCRIPT WORKS,
 IT ONLY MATTERS THAT IT
         WORKS”
PERFORMANCE TESTING

• Know    what you’re aiming for

• Test   early, test regularly

• Benchmark      common journeys and monitor changes over time

  • Memory      usage, Page execution time etc

• Acknowledge      that Production is your only real test
KNOW YOUR PEAKS
CODE REVIEW
TECHNICAL DEBT
CARE IN THE COMMUNITY
       The good news
YOU DON’T NEED TO REINVENT THE WHEEL
YOU’RE NOT THE FIRST

• Pressflow

• Published   approaches to solving performance problems

  • Catch’s   Github page

  • Drupal.org   documented performance improvements

• Drupal    7 Fields optimisation (ported from Drupal 8)

• Porting   performance improvements from newer versions
EXPERTS ARE OUT THERE

• Drupal   issue queues

• Drupal   High Performance Group

• IRC

• Meet-ups

• DrupalCamps    and DrupalCons

• Large   Scale Drupal (LSD) programme
DRUPAL PLAYS WELL WITH
        OTHERS
CONTRIBUTION

• Contribution   encourages good developer practice

• Testing: core   changes always accompanied by a test

• Review: minimum      of 2 people will review any change to
 core

• Technical   debt: critical issue thresholds block new features
SHARE AND SHARE ALIKE
•   Route

•   STOMP

•   SQL No Revisions

•   Drupal 8 Configuration Management Initiative (CMI)

•   Test and Target

•   Panels Filter Cache

•   Various core and contrib patches
CONTRIBUTION CYCLE
WRAPPING UP
DRUPAL IS NO DIFFERENT TO

  ANY OTHER SOFTWARE
THE COMMUNITY IS
WRAPPING UP

• Ifyou’re building big, a lot of problems exist regardless of the
  technology

• Drupal   provides ways to solve these problems

• The Drupal community is one of the best communities to
  have a problem in

• Drupal   does scale, in performance, in people, in process
QUESTIONS?




 Tweet: @tsphethean       Tweet: @alexpott
Drupal.org: tsphethean   Drupal.org: alexpott
   IRC: tsphethean          IRC: alexpott
WE’RE HERE ALL WEEKEND
                     Come visit us on our stand
                   and see our other presentations


•   Drupal 8 Configuration system for coders - Alex Pott (Sunday
    10:30am)

•   Please hold: your call is in a queue - Tom Phethean (Sunday 10:30am)

•   zip-BDD-do-dah zip-BDD-ay! - Graham Taylor and Andrew
    Larcombe (Sunday 11:30am)
IMAGE ATTRIBUTIONS
•   The Elephants are coming - http://www.fromthewilderness.com/free/ww3/011905_university_washington.shtml

•   Pillar Box - http://www.oxfordhistory.org.uk/streets/post_boxes/edward_vii/index.html

•   Jaws - http://edge.ascd.org/_Youre-Gonna-Need-a-Bigger-Boat/blog/6287739/127586.html

•   Communication - http://familybugs.wordpress.com/2012/04/30/communication-part-1/

•   Prioritisation - http://neilkillick.com/2011/12/17/tips-on-speedy-product-backlog-prioritisationordering/

•   Remote working - http://www.wolfden.co.uk/RemoteWorking.html

•   Redundancy - http://blog.800hosting.com/2011/07/workstation-backup-solutions-pt-3-redundancy/

•   Scaling rock face - http://www.flickr.com/photos/alexindigo/2571638877

•   Christmas - http://www.tunisia-live.net/2011/12/23/christmas-celebrations-in-tunisia-tis-the-season/

•   Volcanic ash cloud - http://www.guardian.co.uk/world/blog/2010/apr/15/volcano-airport-disruption-iceland

•   Technical debt - http://agileandbeyond.blogspot.co.uk/2011/05/velocity-handle-with-care.html

•   Reinventing the wheel - http://www.sbi-conferences.com/dont-reinvent-the-wheel.html

More Related Content

PPTX
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
PPTX
Evolving Architecture and Organization - Lessons from Google and eBay
PPTX
A CTO's Guide to Scaling Organizations
PPTX
Moving Fast At Scale
PPTX
Service Architectures At Scale - QCon London 2015
PDF
Velocity Conference NYC 2014 - Real World DevOps
PPTX
A Tale from the Upstream Path
PDF
Back To Square One: Building a WordPress Starter Development Kit
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Evolving Architecture and Organization - Lessons from Google and eBay
A CTO's Guide to Scaling Organizations
Moving Fast At Scale
Service Architectures At Scale - QCon London 2015
Velocity Conference NYC 2014 - Real World DevOps
A Tale from the Upstream Path
Back To Square One: Building a WordPress Starter Development Kit

What's hot (20)

ODP
Devops in with the old, in with the new
PPT
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
PPTX
One Terrible Day at Google, and How It Made Us Better
PDF
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
PPTX
1st Riga DevOps meetup
PDF
French Scrum User Group @Google - The Agile and Open Source Way
PPTX
DevOps. If it hurts, do it more often.
PDF
PPTX
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
PDF
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
PDF
Lean Mean & Agile 2009
PPTX
Pragmatic Microservices
ZIP
Tpr1
PDF
DevOps for Drupal: Why We Cook With Chef
PPTX
Front End page speed performance improvements for Drupal
PDF
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
PPT
Emergent design @ Pronto 24/11/2013
PPTX
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
PPTX
DevOps principles and practices - accelerate flow
PDF
Redhat.com: An Architectural Case Study
Devops in with the old, in with the new
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
One Terrible Day at Google, and How It Made Us Better
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
1st Riga DevOps meetup
French Scrum User Group @Google - The Agile and Open Source Way
DevOps. If it hurts, do it more often.
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
Lean Mean & Agile 2009
Pragmatic Microservices
Tpr1
DevOps for Drupal: Why We Cook With Chef
Front End page speed performance improvements for Drupal
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Emergent design @ Pronto 24/11/2013
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps principles and practices - accelerate flow
Redhat.com: An Architectural Case Study
Ad

Similar to Supersize me: Making Drupal go large (20)

PDF
Dev ops lessons learned - Michael Collins
PPTX
Lean-Agile Development with SharePoint - Bill Ayers
PPTX
Minimum Viable Architecture - Good Enough is Good Enough
PPTX
Scaling a High Traffic Web Application: Our Journey from Java to PHP
PPTX
Scaling High Traffic Web Applications
PDF
Drupal and Devops , the Survey Results
PDF
Becoming A Technical Project Manager
PDF
The Silver Bullet Syndrome by Alexey Vasiliev
PDF
Test Driven Design by Jonas Auken
PDF
AgileDC15 I'm Using Chef So I'm DevOps Right?
PDF
DevOps! What, Why and How?
PDF
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
PPTX
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
PPTX
Untangling the web11
PPTX
DevOps Days Ohio
PPT
Lean-Agile SharePoint Development
PDF
DrupalCon Austin - Absolute Beginner's Guide to Drupal
PDF
Friday final test
PDF
It is a sunny day
PDF
24 Months - A DevOps Retrospective
Dev ops lessons learned - Michael Collins
Lean-Agile Development with SharePoint - Bill Ayers
Minimum Viable Architecture - Good Enough is Good Enough
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling High Traffic Web Applications
Drupal and Devops , the Survey Results
Becoming A Technical Project Manager
The Silver Bullet Syndrome by Alexey Vasiliev
Test Driven Design by Jonas Auken
AgileDC15 I'm Using Chef So I'm DevOps Right?
DevOps! What, Why and How?
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
Untangling the web11
DevOps Days Ohio
Lean-Agile SharePoint Development
DrupalCon Austin - Absolute Beginner's Guide to Drupal
Friday final test
It is a sunny day
24 Months - A DevOps Retrospective
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Machine learning based COVID-19 study performance prediction
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Big Data Technologies - Introduction.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
KodekX | Application Modernization Development
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine learning based COVID-19 study performance prediction
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Monthly Chronicles - July 2025
Encapsulation_ Review paper, used for researhc scholars
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KodekX | Application Modernization Development
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing

Supersize me: Making Drupal go large

  • 1. SUPERSIZE ME Making Drupal go large
  • 2. INTRODUCTION • Who are we? • Building BIG Drupal • Three pillars of scale • Care in the community • Q&A
  • 6. COMMON MISCONCEPTIONS • “Drupal is slow” • “Drupal doesn’t scale” • “It’s only good for a hobby site”
  • 8. DEVELOPING BIG WEBSITES WITH DRUPAL IS NO DIFFERENT TO DEVELOPING THEM WITH ANY OTHER SOFTWARE
  • 9. DEVELOPING BIG WEBSITES WITH DRUPAL IS NO DIFFERENT TO DEVELOPING THEM WITH ANY OTHER SOFTWARE
  • 10. DRUPAL IS NO DIFFERENT TO ANY OTHER SOFTWARE
  • 11. SCALING PERFORMANCE The first pillar-box of scale
  • 12. SCALING COMPLEXITY • Caching and Reverse proxy caches • Queues • Alternative database backends • Throttling
  • 13. MONITORING • All the common open source tools... • Munin, Nagios, etc • Plus some new ones • New Relic, Boundary • Social media • saved our site...
  • 14. SCALING PEOPLE We’re going to need a bigger boat
  • 20. PROJECTS CONSIST OF CODE CODE IS WRITTEN BY PEOPLE
  • 21. PROJECTS CONSIST OF CODE CODE IS WRITTEN BY PEOPLE PEOPLE DELIVER PROJECTS
  • 23. YOU STILL NEED TO DO ALL THE THINGS YOU WOULD DO ON ANY BIG SOFTWARE PROJECT
  • 24. WHAT THINGS? • Provide clarity of purpose • Code review • Automated and manual • Source control testing • Release management • Continuous integration • Address technical debt • Performance testing and benchmarking • Be agile (with a little ‘a’)
  • 25. CLARITY OF PURPOSE • Your team must know how to “do” • The definition of “done” • What “good” looks like
  • 26. TESTING • Know how you’re going to test, before you write a single line of code • Do it regularly • Make it repeatable and consistent • Automate as much as possible • Test Driven Development (TDD) or Behaviour Driven Development (BDD) is even better
  • 27. CONTINUOUS INTEGRATION • Fail fast, Fail early • Start your project the way you mean to go on • Providean environment where developers are allowed to make mistakes (not just dev) • Automate your environment setup • Regularlybuild your environments - including deploying to production
  • 28. “IT DOESN’T MATTER HOW YOUR BUILD SCRIPT WORKS, IT ONLY MATTERS THAT IT WORKS”
  • 29. PERFORMANCE TESTING • Know what you’re aiming for • Test early, test regularly • Benchmark common journeys and monitor changes over time • Memory usage, Page execution time etc • Acknowledge that Production is your only real test
  • 33. CARE IN THE COMMUNITY The good news
  • 34. YOU DON’T NEED TO REINVENT THE WHEEL
  • 35. YOU’RE NOT THE FIRST • Pressflow • Published approaches to solving performance problems • Catch’s Github page • Drupal.org documented performance improvements • Drupal 7 Fields optimisation (ported from Drupal 8) • Porting performance improvements from newer versions
  • 36. EXPERTS ARE OUT THERE • Drupal issue queues • Drupal High Performance Group • IRC • Meet-ups • DrupalCamps and DrupalCons • Large Scale Drupal (LSD) programme
  • 37. DRUPAL PLAYS WELL WITH OTHERS
  • 38. CONTRIBUTION • Contribution encourages good developer practice • Testing: core changes always accompanied by a test • Review: minimum of 2 people will review any change to core • Technical debt: critical issue thresholds block new features
  • 39. SHARE AND SHARE ALIKE • Route • STOMP • SQL No Revisions • Drupal 8 Configuration Management Initiative (CMI) • Test and Target • Panels Filter Cache • Various core and contrib patches
  • 42. DRUPAL IS NO DIFFERENT TO ANY OTHER SOFTWARE
  • 44. WRAPPING UP • Ifyou’re building big, a lot of problems exist regardless of the technology • Drupal provides ways to solve these problems • The Drupal community is one of the best communities to have a problem in • Drupal does scale, in performance, in people, in process
  • 45. QUESTIONS? Tweet: @tsphethean Tweet: @alexpott Drupal.org: tsphethean Drupal.org: alexpott IRC: tsphethean IRC: alexpott
  • 46. WE’RE HERE ALL WEEKEND Come visit us on our stand and see our other presentations • Drupal 8 Configuration system for coders - Alex Pott (Sunday 10:30am) • Please hold: your call is in a queue - Tom Phethean (Sunday 10:30am) • zip-BDD-do-dah zip-BDD-ay! - Graham Taylor and Andrew Larcombe (Sunday 11:30am)
  • 47. IMAGE ATTRIBUTIONS • The Elephants are coming - http://www.fromthewilderness.com/free/ww3/011905_university_washington.shtml • Pillar Box - http://www.oxfordhistory.org.uk/streets/post_boxes/edward_vii/index.html • Jaws - http://edge.ascd.org/_Youre-Gonna-Need-a-Bigger-Boat/blog/6287739/127586.html • Communication - http://familybugs.wordpress.com/2012/04/30/communication-part-1/ • Prioritisation - http://neilkillick.com/2011/12/17/tips-on-speedy-product-backlog-prioritisationordering/ • Remote working - http://www.wolfden.co.uk/RemoteWorking.html • Redundancy - http://blog.800hosting.com/2011/07/workstation-backup-solutions-pt-3-redundancy/ • Scaling rock face - http://www.flickr.com/photos/alexindigo/2571638877 • Christmas - http://www.tunisia-live.net/2011/12/23/christmas-celebrations-in-tunisia-tis-the-season/ • Volcanic ash cloud - http://www.guardian.co.uk/world/blog/2010/apr/15/volcano-airport-disruption-iceland • Technical debt - http://agileandbeyond.blogspot.co.uk/2011/05/velocity-handle-with-care.html • Reinventing the wheel - http://www.sbi-conferences.com/dont-reinvent-the-wheel.html