SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Devops in with the old, in with the new
Devops   in with the old, in with the newDevops   in with the old, in with the new
Devops in with the old, in with the newJan Collijs
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionJavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionDaniel Bryant
 
One Terrible Day at Google, and How It Made Us Better
One Terrible Day at Google, and How It Made Us BetterOne Terrible Day at Google, and How It Made Us Better
One Terrible Day at Google, and How It Made Us BetterRandy Shoup
 
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Derek Allard
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayAlexis Monville
 
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps TransitionDOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition
DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps TransitionGene Kim
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...J On The Beach
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
 
Tpr1
Tpr1Tpr1
Tpr1dzdn
 
DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefPromet Source
 
Front End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalFront End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalAndy Kucharski
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Varokas Panusuwan
 
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016
DevOps, Agile, Scrum, ITIL, & ITSM: Excerpts From ITx 2016Ritchie Grijaldo
 
DevOps principles and practices - accelerate flow
DevOps principles and practices - accelerate flowDevOps principles and practices - accelerate flow
DevOps principles and practices - accelerate flowMurughan Palaniachari
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyPhase2
 

La actualidad más candente (20)

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

Similar a Supersize me: Making Drupal go large

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael CollinsDevopsdays
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 
Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughRandy Shoup
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsKris Buytaert
 
Becoming A Technical Project Manager
Becoming A Technical Project ManagerBecoming A Technical Project Manager
Becoming A Technical Project ManagerScott Massey
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievPivorak MeetUp
 
Test Driven Design by Jonas Auken
Test Driven Design by Jonas AukenTest Driven Design by Jonas Auken
Test Driven Design by Jonas Aukenagilencr
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?Omar Fathy
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...Intelligent Software Solutions
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11Derek Jacoby
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentBill Ayers
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalRod Martin
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny daybcoder
 

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

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good Enough
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey Results
 
Becoming A Technical Project Manager
Becoming A Technical Project ManagerBecoming A Technical Project Manager
Becoming A Technical Project Manager
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
 
Test Driven Design by Jonas Auken
Test Driven Design by Jonas AukenTest Driven Design by Jonas Auken
Test Driven Design by Jonas Auken
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint Development
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Friday final test
Friday final testFriday final test
Friday final test
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 

Último

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 

Último (20)

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 

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