SlideShare une entreprise Scribd logo
1  sur  91
170 Radio Stations :: WordPress at Scale




                      Peter Chester
                      @peterchester




MODERN TRIBE                                http://tri.be
Hi, I’m Peter.


 I like to build really big WordPress Projects...

 ★ GigaOm Network 2010 redesign/rebuild

 ★ 80+ radio stations & 5 national sites for InteractiveOne

 ★ 170+ radio stations & 3 national sites for TownSquare




MODERN TRIBE                                               http://tri.be
But wait, there’s more...




MODERN TRIBE                 http://tri.be
But wait, there’s more...




 We also do a lot more than WordPress. We coordinate teams of
 freelancers to design and build cool stuff for high-end clients of




MODERN TRIBE                                                http://tri.be
Who Knew?




 It turns out that scaling a site involves a lot more than simply
 accounting for web traffic.




MODERN TRIBE                                               http://tri.be
You Know You’ve Failed at Scaling When...




MODERN TRIBE                                 http://tri.be
You Know You’ve Failed at Scaling When...


 ★ You have to re-save permalinks... for each of the blogs on
   your 170 blog network.




MODERN TRIBE                                            http://tri.be
You Know You’ve Failed at Scaling When...


 ★ You have to re-save permalinks... for each of the blogs on
   your 170 blog network.

 ★ You can’t code anymore because all you ever do is answer
   URGENT emails.




MODERN TRIBE                                            http://tri.be
You Know You’ve Failed at Scaling When...


 ★ You have to re-save permalinks... for each of the blogs on
   your 170 blog network.

 ★ You can’t code anymore because all you ever do is answer
   URGENT emails.

 ★ Your database quits because it is BIGGER than your server.




MODERN TRIBE                                             http://tri.be
What the #%*@ is “Scale” Anyway?




MODERN TRIBE                        http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic




MODERN TRIBE                            http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic

 ★ Ability to deal with tons of file uploads




MODERN TRIBE                                  http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic

 ★ Ability to deal with tons of file uploads

 ★ And tons of data in the database




MODERN TRIBE                                  http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic

 ★ Ability to deal with tons of file uploads

 ★ And tons of data in the database

 ★ Ability to rapidly deploy lots of blogs




MODERN TRIBE                                  http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic

 ★ Ability to deal with tons of file uploads

 ★ And tons of data in the database

 ★ Ability to rapidly deploy lots of blogs

 ★ A systematized process for quality assurance




MODERN TRIBE                                      http://tri.be
What the #%*@ is “Scale” Anyway?


 ★ Ability to handle high web traffic

 ★ Ability to deal with tons of file uploads

 ★ And tons of data in the database

 ★ Ability to rapidly deploy lots of blogs

 ★ A systematized process for quality assurance

 ★ A dummy proof admin interface



MODERN TRIBE                                      http://tri.be
What the #%*@ is “Scale” Anyway?




MODERN TRIBE                        http://tri.be
What the #%*@ is “Scale” Anyway?




        Scale is all about the ability to manage growth.




MODERN TRIBE                                               http://tri.be
Cliffs Notes on Scaling


 Obviously, scaling is an enormous




MODERN TRIBE                         http://tri.be
Cliffs Notes on Scaling


 Obviously, scaling is an enormous


 ★ Architecting for Scale




MODERN TRIBE                         http://tri.be
Cliffs Notes on Scaling


 Obviously, scaling is an enormous


 ★ Architecting for Scale

 ★ Caching and Optimization




MODERN TRIBE                         http://tri.be
Cliffs Notes on Scaling


 Obviously, scaling is an enormous


 ★ Architecting for Scale

 ★ Caching and Optimization

 ★ Managing the Project




MODERN TRIBE                         http://tri.be
Cliffs Notes on Scaling


 Obviously, scaling is an enormous


 ★ Architecting for Scale

 ★ Caching and Optimization

 ★ Managing the Project

 ★ Questions & Answers




MODERN TRIBE                         http://tri.be
Architecting for Scale




MODERN TRIBE              http://tri.be
The Basics Setup


 ★ WordPress MU

 ★ Domain Mapping Plugin

 ★ WP Replicator & Duplicate Post Plugins




MODERN TRIBE                                http://tri.be
Dummy Proof Your Admin


 We like to modify the wp-admin UI to hide unwanted menus so
 that people don’t accidentally click the wrong button.




MODERN TRIBE                                          http://tri.be
Dummy Proof Your Admin


 We like to modify the wp-admin UI to hide unwanted menus so
 that people don’t accidentally click the wrong button.




MODERN TRIBE                                          http://tri.be
Pick Your Favorite Flavor


 We often use a “Flavor” management approach.

 Instead of offering tons of themes, we offer one or two but
 make them highly configurable in terms of fonts, colors, and
 branding.




MODERN TRIBE                                             http://tri.be
Pick Your Favorite Flavor


 We often use a “Flavor” management approach.

 Instead of offering tons of themes, we offer one or two but
 make them highly configurable in terms of fonts, colors, and
 branding.




MODERN TRIBE                                             http://tri.be
Creme de la Creme


 Only the best plugins will do. Most plugins don’t work at scale.




MODERN TRIBE                                    Photo ©imagestopshop / Alamy
                                                                http://tri.be
CAUTION!!!




MODERN TRIBE   http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers




MODERN TRIBE                                   http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers

 ★ Avoid requests back to the internal server via
   CURL or even via javascript




MODERN TRIBE                                        http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers

 ★ Avoid requests back to the internal server via
   CURL or even via javascript

 ★ Avoid RSS widgets or RSS syndication
   across the network




MODERN TRIBE                                        http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers

 ★ Avoid requests back to the internal server via
   CURL or even via javascript

 ★ Avoid RSS widgets or RSS syndication
   across the network

 ★ Avoid hand coded sql queries




MODERN TRIBE                                        http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers

 ★ Avoid requests back to the internal server via
   CURL or even via javascript

 ★ Avoid RSS widgets or RSS syndication
   across the network

 ★ Avoid hand coded sql queries

 ★ Avoid switch_to_blog()



MODERN TRIBE                                        http://tri.be
CAUTION!!!


 ★ Avoid server requests to external servers

 ★ Avoid requests back to the internal server via
   CURL or even via javascript

 ★ Avoid RSS widgets or RSS syndication
   across the network

 ★ Avoid hand coded sql queries

 ★ Avoid switch_to_blog()

 ★ Cache everything you can
MODERN TRIBE                                        http://tri.be
Caching & Optimization




                                 Phot
                                      o ©A
                                          . L ip
                                                 son
                                                     2003
MODERN TRIBE              http://tri.be
What is Cache???




                 Cache is precompiled data.

    Any process that will have to be repeated can be cached.




MODERN TRIBE                                             http://tri.be
What is Cache???




MODERN TRIBE        http://tri.be
What is Cache???


 How many seconds are there in 10 years?




MODERN TRIBE                               http://tri.be
What is Cache???


 How many seconds are there in 10 years?

 10 x 365 x 24 x 60 x 60 =




MODERN TRIBE                               http://tri.be
What is Cache???


 How many seconds are there in 10 years?

 10 x 365 x 24 x 60 x 60 =

 315,360,000




MODERN TRIBE                               http://tri.be
What is Cache???


 How many seconds are there in 10 years?

 10 x 365 x 24 x 60 x 60 =

 315,360,000

 How many seconds are there in 10 years?




MODERN TRIBE                               http://tri.be
What is Cache???


 How many seconds are there in 10 years?

 10 x 365 x 24 x 60 x 60 =

 315,360,000

 How many seconds are there in 10 years?

 Now how many seconds are there in 10 years?




MODERN TRIBE                                   http://tri.be
What is Cache???


 How many seconds are there in 10 years?

 10 x 365 x 24 x 60 x 60 =

 315,360,000

 How many seconds are there in 10 years?

 Now how many seconds are there in 10 years?

 Ok.... what about now?



MODERN TRIBE                                   http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




MODERN TRIBE                                     http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




                   Browser




MODERN TRIBE                                     http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




                   Browser




MODERN TRIBE                                     http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




                                   Web
                   Browser
                                  Server




MODERN TRIBE                                     http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




                                   Web
                   Browser
                                  Server




MODERN TRIBE                                     http://tri.be
This Is Your Server


 Typically, your server setup is pretty basic.




                                   Web
                   Browser                       DB
                                  Server




MODERN TRIBE                                          http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.




                 Browser




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.




                 Browser




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.




                                 Load
                 Browser
                                Balance




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.




                                 Load
                 Browser
                                Balance




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance




MODERN TRIBE                                             http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers




MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers




MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                                              DB
                                                          Servers
                                                           Servers
                                                            Servers



MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                                              DB
                                                          Servers
                                                           Servers
                                                            Servers



MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                 Object                       DB
                                                          Servers
                                                           Servers
                                 Cache                      Servers



MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                                            VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                 Load
                 Browser
                                Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                 Object                       DB
                                                          Servers
                                                           Servers
                                 Cache                      Servers



MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                           CDN              VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                  Load
                 Browser
                                 Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                  Object                      DB
                                                          Servers
                                                           Servers
                                  Cache                     Servers



MODERN TRIBE                                              http://tri.be
This Is Your Server On Drugs


 The goal is to reduce the load on PHP and mysql by delegating
 wherever possible.
                                           Varnish
                                              arnish
                           CDN              VVarnish
                                           Servers s
                                                   r
                                             Serve
                                             Servers


                                  Load
                 Browser
                                 Balance
                                               Web
                                                Web
                                                 Web
                                              Servers
                                               Servers
                                                Servers

                                                            DB
                                                             DB
                                  Object                      DB
                                                          Servers
                                                           Servers
                                  Cache                     Servers



MODERN TRIBE                                              http://tri.be
Server-side Performance Tuning




MODERN TRIBE                      http://tri.be
Server-side Performance Tuning


 ★ PHP precompiler (APC...)




MODERN TRIBE                      http://tri.be
Server-side Performance Tuning


 ★ PHP precompiler (APC...)

 ★ Object caching (Memcached...)




MODERN TRIBE                       http://tri.be
Server-side Performance Tuning


 ★ PHP precompiler (APC...)

 ★ Object caching (Memcached...)

 ★ Page caching (Memcached, Varnish, NginX...)




MODERN TRIBE                                     http://tri.be
Server-side Performance Tuning


 ★ PHP precompiler (APC...)

 ★ Object caching (Memcached...)

 ★ Page caching (Memcached, Varnish, NginX...)

 ★ Database sharding (HyperDB...)




MODERN TRIBE                                     http://tri.be
Lighten the Load




MODERN TRIBE        http://tri.be
Lighten the Load


 ★ CDN integration (Origin Pull)




MODERN TRIBE                       http://tri.be
Lighten the Load


 ★ CDN integration (Origin Pull)

 ★ Dynamic image resizing to save disk space




MODERN TRIBE                                   http://tri.be
Lighten the Load


 ★ CDN integration (Origin Pull)

 ★ Dynamic image resizing to save disk space

 ★ CSS and Javascript minification and consolidation




MODERN TRIBE                                          http://tri.be
Lighten the Load


 ★ CDN integration (Origin Pull)

 ★ Dynamic image resizing to save disk space

 ★ CSS and Javascript minification and consolidation

 ★ Shared uploads across many servers (NFS or Rsync)




MODERN TRIBE                                           http://tri.be
Lighten the Load


 ★ CDN integration (Origin Pull)

 ★ Dynamic image resizing to save disk space

 ★ CSS and Javascript minification and consolidation

 ★ Shared uploads across many servers (NFS or Rsync)

 ★ Headers tuned for optimal browser caching




MODERN TRIBE                                           http://tri.be
Managing the Project




MODERN TRIBE            http://tri.be
Let’s All Play Together




MODERN TRIBE               Photo ©jeffersonlibrary.net
                                        http://tri.be
Let’s All Play Together


 ★ Issue tracking system




MODERN TRIBE               Photo ©jeffersonlibrary.net
                                        http://tri.be
Let’s All Play Together


 ★ Issue tracking system

 ★ Secure wiki




MODERN TRIBE               Photo ©jeffersonlibrary.net
                                        http://tri.be
Let’s All Play Together


 ★ Issue tracking system

 ★ Secure wiki

 ★ Instant messenger channel




MODERN TRIBE                   Photo ©jeffersonlibrary.net
                                            http://tri.be
Let’s All Play Together


 ★ Issue tracking system

 ★ Secure wiki

 ★ Instant messenger channel

 ★ Mailing list




MODERN TRIBE                   Photo ©jeffersonlibrary.net
                                            http://tri.be
Use Version Control!




MODERN TRIBE            http://tri.be
Deploying Code




MODERN TRIBE      http://tri.be
Deploying Code


 ★ One click code deployment process




MODERN TRIBE                           http://tri.be
Deploying Code


 ★ One click code deployment process

 ★ QA, Staging, Production environments




MODERN TRIBE                              http://tri.be
Deploying Code


 ★ One click code deployment process

 ★ QA, Staging, Production environments

 ★ Default dev config for easy local install




MODERN TRIBE                                  http://tri.be
Deploying Code


 ★ One click code deployment process

 ★ QA, Staging, Production environments

 ★ Default dev config for easy local install

 ★ Common local dev environments




MODERN TRIBE                                  http://tri.be
Don’t Be A Stranger




                                   Peter Chester
                                   @peterchester




 http://www.slideshare.net/peterchester/170-radio-stations-wordpress-at-scale




MODERN TRIBE                                                         http://tri.be

Contenu connexe

Similaire à 170 Radio Stations :: WordPress at Scale

Onboarding Clients Does Not have to take a Miracle to get all the things! - W...
Onboarding Clients Does Not have to take a Miracle to get all the things! - W...Onboarding Clients Does Not have to take a Miracle to get all the things! - W...
Onboarding Clients Does Not have to take a Miracle to get all the things! - W...Michele Butcher-Jones
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimizationKaliop-slide
 
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...nine
 
Enterprise Hosting
Enterprise HostingEnterprise Hosting
Enterprise HostingAvarteq
 
ConFoo 2016: Development to Deployment
ConFoo 2016: Development to DeploymentConFoo 2016: Development to Deployment
ConFoo 2016: Development to DeploymentRachel Andrew
 
StripeCon 2019 talk - Serverless and Silverstripe
StripeCon 2019 talk - Serverless and SilverstripeStripeCon 2019 talk - Serverless and Silverstripe
StripeCon 2019 talk - Serverless and SilverstripeTim Burt
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the WildRich Quick
 
Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAlan Pinstein
 
WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordCamp Sydney
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffMoshe Kaplan
 
How to build observability into Serverless (O'Reilly Velocity 2018)
How to build observability into Serverless (O'Reilly Velocity 2018)How to build observability into Serverless (O'Reilly Velocity 2018)
How to build observability into Serverless (O'Reilly Velocity 2018)Yan Cui
 
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar Moshe Kaplan
 
High availability in IT: AAAARGH
High availability in IT: AAAARGHHigh availability in IT: AAAARGH
High availability in IT: AAAARGHMattias Geniar
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...javier ramirez
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
 
Queueing at the Checkout
Queueing at the CheckoutQueueing at the Checkout
Queueing at the CheckoutWilliam Tracz
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Alexander Lisachenko
 
Spreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldSpreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldMartin Breest
 

Similaire à 170 Radio Stations :: WordPress at Scale (20)

Onboarding Clients Does Not have to take a Miracle to get all the things! - W...
Onboarding Clients Does Not have to take a Miracle to get all the things! - W...Onboarding Clients Does Not have to take a Miracle to get all the things! - W...
Onboarding Clients Does Not have to take a Miracle to get all the things! - W...
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
 
Enterprise Hosting
Enterprise HostingEnterprise Hosting
Enterprise Hosting
 
How TDD helps me design - A case study
How TDD helps me design - A case studyHow TDD helps me design - A case study
How TDD helps me design - A case study
 
ConFoo 2016: Development to Deployment
ConFoo 2016: Development to DeploymentConFoo 2016: Development to Deployment
ConFoo 2016: Development to Deployment
 
StripeCon 2019 talk - Serverless and Silverstripe
StripeCon 2019 talk - Serverless and SilverstripeStripeCon 2019 talk - Serverless and Silverstripe
StripeCon 2019 talk - Serverless and Silverstripe
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 
Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and Profit
 
WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordPress Hosting Survival Guide
WordPress Hosting Survival Guide
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
 
How to build observability into Serverless (O'Reilly Velocity 2018)
How to build observability into Serverless (O'Reilly Velocity 2018)How to build observability into Serverless (O'Reilly Velocity 2018)
How to build observability into Serverless (O'Reilly Velocity 2018)
 
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar
Expert Days 2011: The VP R&D Open Seminar: Systems Performance Seminar
 
High availability in IT: AAAARGH
High availability in IT: AAAARGHHigh availability in IT: AAAARGH
High availability in IT: AAAARGH
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
 
Queueing at the Checkout
Queueing at the CheckoutQueueing at the Checkout
Queueing at the Checkout
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
 
More Multisite for the Masses
More Multisite for the MassesMore Multisite for the Masses
More Multisite for the Masses
 
Spreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldSpreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until Told
 

Dernier

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Dernier (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

170 Radio Stations :: WordPress at Scale

  • 1. 170 Radio Stations :: WordPress at Scale Peter Chester @peterchester MODERN TRIBE http://tri.be
  • 2. Hi, I’m Peter. I like to build really big WordPress Projects... ★ GigaOm Network 2010 redesign/rebuild ★ 80+ radio stations & 5 national sites for InteractiveOne ★ 170+ radio stations & 3 national sites for TownSquare MODERN TRIBE http://tri.be
  • 3. But wait, there’s more... MODERN TRIBE http://tri.be
  • 4. But wait, there’s more... We also do a lot more than WordPress. We coordinate teams of freelancers to design and build cool stuff for high-end clients of MODERN TRIBE http://tri.be
  • 5. Who Knew? It turns out that scaling a site involves a lot more than simply accounting for web traffic. MODERN TRIBE http://tri.be
  • 6. You Know You’ve Failed at Scaling When... MODERN TRIBE http://tri.be
  • 7. You Know You’ve Failed at Scaling When... ★ You have to re-save permalinks... for each of the blogs on your 170 blog network. MODERN TRIBE http://tri.be
  • 8. You Know You’ve Failed at Scaling When... ★ You have to re-save permalinks... for each of the blogs on your 170 blog network. ★ You can’t code anymore because all you ever do is answer URGENT emails. MODERN TRIBE http://tri.be
  • 9. You Know You’ve Failed at Scaling When... ★ You have to re-save permalinks... for each of the blogs on your 170 blog network. ★ You can’t code anymore because all you ever do is answer URGENT emails. ★ Your database quits because it is BIGGER than your server. MODERN TRIBE http://tri.be
  • 10. What the #%*@ is “Scale” Anyway? MODERN TRIBE http://tri.be
  • 11. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic MODERN TRIBE http://tri.be
  • 12. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic ★ Ability to deal with tons of file uploads MODERN TRIBE http://tri.be
  • 13. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic ★ Ability to deal with tons of file uploads ★ And tons of data in the database MODERN TRIBE http://tri.be
  • 14. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic ★ Ability to deal with tons of file uploads ★ And tons of data in the database ★ Ability to rapidly deploy lots of blogs MODERN TRIBE http://tri.be
  • 15. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic ★ Ability to deal with tons of file uploads ★ And tons of data in the database ★ Ability to rapidly deploy lots of blogs ★ A systematized process for quality assurance MODERN TRIBE http://tri.be
  • 16. What the #%*@ is “Scale” Anyway? ★ Ability to handle high web traffic ★ Ability to deal with tons of file uploads ★ And tons of data in the database ★ Ability to rapidly deploy lots of blogs ★ A systematized process for quality assurance ★ A dummy proof admin interface MODERN TRIBE http://tri.be
  • 17. What the #%*@ is “Scale” Anyway? MODERN TRIBE http://tri.be
  • 18. What the #%*@ is “Scale” Anyway? Scale is all about the ability to manage growth. MODERN TRIBE http://tri.be
  • 19. Cliffs Notes on Scaling Obviously, scaling is an enormous MODERN TRIBE http://tri.be
  • 20. Cliffs Notes on Scaling Obviously, scaling is an enormous ★ Architecting for Scale MODERN TRIBE http://tri.be
  • 21. Cliffs Notes on Scaling Obviously, scaling is an enormous ★ Architecting for Scale ★ Caching and Optimization MODERN TRIBE http://tri.be
  • 22. Cliffs Notes on Scaling Obviously, scaling is an enormous ★ Architecting for Scale ★ Caching and Optimization ★ Managing the Project MODERN TRIBE http://tri.be
  • 23. Cliffs Notes on Scaling Obviously, scaling is an enormous ★ Architecting for Scale ★ Caching and Optimization ★ Managing the Project ★ Questions & Answers MODERN TRIBE http://tri.be
  • 24. Architecting for Scale MODERN TRIBE http://tri.be
  • 25. The Basics Setup ★ WordPress MU ★ Domain Mapping Plugin ★ WP Replicator & Duplicate Post Plugins MODERN TRIBE http://tri.be
  • 26. Dummy Proof Your Admin We like to modify the wp-admin UI to hide unwanted menus so that people don’t accidentally click the wrong button. MODERN TRIBE http://tri.be
  • 27. Dummy Proof Your Admin We like to modify the wp-admin UI to hide unwanted menus so that people don’t accidentally click the wrong button. MODERN TRIBE http://tri.be
  • 28. Pick Your Favorite Flavor We often use a “Flavor” management approach. Instead of offering tons of themes, we offer one or two but make them highly configurable in terms of fonts, colors, and branding. MODERN TRIBE http://tri.be
  • 29. Pick Your Favorite Flavor We often use a “Flavor” management approach. Instead of offering tons of themes, we offer one or two but make them highly configurable in terms of fonts, colors, and branding. MODERN TRIBE http://tri.be
  • 30. Creme de la Creme Only the best plugins will do. Most plugins don’t work at scale. MODERN TRIBE Photo ©imagestopshop / Alamy http://tri.be
  • 31. CAUTION!!! MODERN TRIBE http://tri.be
  • 32. CAUTION!!! ★ Avoid server requests to external servers MODERN TRIBE http://tri.be
  • 33. CAUTION!!! ★ Avoid server requests to external servers ★ Avoid requests back to the internal server via CURL or even via javascript MODERN TRIBE http://tri.be
  • 34. CAUTION!!! ★ Avoid server requests to external servers ★ Avoid requests back to the internal server via CURL or even via javascript ★ Avoid RSS widgets or RSS syndication across the network MODERN TRIBE http://tri.be
  • 35. CAUTION!!! ★ Avoid server requests to external servers ★ Avoid requests back to the internal server via CURL or even via javascript ★ Avoid RSS widgets or RSS syndication across the network ★ Avoid hand coded sql queries MODERN TRIBE http://tri.be
  • 36. CAUTION!!! ★ Avoid server requests to external servers ★ Avoid requests back to the internal server via CURL or even via javascript ★ Avoid RSS widgets or RSS syndication across the network ★ Avoid hand coded sql queries ★ Avoid switch_to_blog() MODERN TRIBE http://tri.be
  • 37. CAUTION!!! ★ Avoid server requests to external servers ★ Avoid requests back to the internal server via CURL or even via javascript ★ Avoid RSS widgets or RSS syndication across the network ★ Avoid hand coded sql queries ★ Avoid switch_to_blog() ★ Cache everything you can MODERN TRIBE http://tri.be
  • 38. Caching & Optimization Phot o ©A . L ip son 2003 MODERN TRIBE http://tri.be
  • 39. What is Cache??? Cache is precompiled data. Any process that will have to be repeated can be cached. MODERN TRIBE http://tri.be
  • 40. What is Cache??? MODERN TRIBE http://tri.be
  • 41. What is Cache??? How many seconds are there in 10 years? MODERN TRIBE http://tri.be
  • 42. What is Cache??? How many seconds are there in 10 years? 10 x 365 x 24 x 60 x 60 = MODERN TRIBE http://tri.be
  • 43. What is Cache??? How many seconds are there in 10 years? 10 x 365 x 24 x 60 x 60 = 315,360,000 MODERN TRIBE http://tri.be
  • 44. What is Cache??? How many seconds are there in 10 years? 10 x 365 x 24 x 60 x 60 = 315,360,000 How many seconds are there in 10 years? MODERN TRIBE http://tri.be
  • 45. What is Cache??? How many seconds are there in 10 years? 10 x 365 x 24 x 60 x 60 = 315,360,000 How many seconds are there in 10 years? Now how many seconds are there in 10 years? MODERN TRIBE http://tri.be
  • 46. What is Cache??? How many seconds are there in 10 years? 10 x 365 x 24 x 60 x 60 = 315,360,000 How many seconds are there in 10 years? Now how many seconds are there in 10 years? Ok.... what about now? MODERN TRIBE http://tri.be
  • 47. This Is Your Server Typically, your server setup is pretty basic. MODERN TRIBE http://tri.be
  • 48. This Is Your Server Typically, your server setup is pretty basic. Browser MODERN TRIBE http://tri.be
  • 49. This Is Your Server Typically, your server setup is pretty basic. Browser MODERN TRIBE http://tri.be
  • 50. This Is Your Server Typically, your server setup is pretty basic. Web Browser Server MODERN TRIBE http://tri.be
  • 51. This Is Your Server Typically, your server setup is pretty basic. Web Browser Server MODERN TRIBE http://tri.be
  • 52. This Is Your Server Typically, your server setup is pretty basic. Web Browser DB Server MODERN TRIBE http://tri.be
  • 53. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. MODERN TRIBE http://tri.be
  • 54. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Browser MODERN TRIBE http://tri.be
  • 55. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Browser MODERN TRIBE http://tri.be
  • 56. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Load Browser Balance MODERN TRIBE http://tri.be
  • 57. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Load Browser Balance MODERN TRIBE http://tri.be
  • 58. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance MODERN TRIBE http://tri.be
  • 59. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance MODERN TRIBE http://tri.be
  • 60. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers MODERN TRIBE http://tri.be
  • 61. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers MODERN TRIBE http://tri.be
  • 62. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB DB Servers Servers Servers MODERN TRIBE http://tri.be
  • 63. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB DB Servers Servers Servers MODERN TRIBE http://tri.be
  • 64. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB Object DB Servers Servers Cache Servers MODERN TRIBE http://tri.be
  • 65. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB Object DB Servers Servers Cache Servers MODERN TRIBE http://tri.be
  • 66. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish CDN VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB Object DB Servers Servers Cache Servers MODERN TRIBE http://tri.be
  • 67. This Is Your Server On Drugs The goal is to reduce the load on PHP and mysql by delegating wherever possible. Varnish arnish CDN VVarnish Servers s r Serve Servers Load Browser Balance Web Web Web Servers Servers Servers DB DB Object DB Servers Servers Cache Servers MODERN TRIBE http://tri.be
  • 69. Server-side Performance Tuning ★ PHP precompiler (APC...) MODERN TRIBE http://tri.be
  • 70. Server-side Performance Tuning ★ PHP precompiler (APC...) ★ Object caching (Memcached...) MODERN TRIBE http://tri.be
  • 71. Server-side Performance Tuning ★ PHP precompiler (APC...) ★ Object caching (Memcached...) ★ Page caching (Memcached, Varnish, NginX...) MODERN TRIBE http://tri.be
  • 72. Server-side Performance Tuning ★ PHP precompiler (APC...) ★ Object caching (Memcached...) ★ Page caching (Memcached, Varnish, NginX...) ★ Database sharding (HyperDB...) MODERN TRIBE http://tri.be
  • 73. Lighten the Load MODERN TRIBE http://tri.be
  • 74. Lighten the Load ★ CDN integration (Origin Pull) MODERN TRIBE http://tri.be
  • 75. Lighten the Load ★ CDN integration (Origin Pull) ★ Dynamic image resizing to save disk space MODERN TRIBE http://tri.be
  • 76. Lighten the Load ★ CDN integration (Origin Pull) ★ Dynamic image resizing to save disk space ★ CSS and Javascript minification and consolidation MODERN TRIBE http://tri.be
  • 77. Lighten the Load ★ CDN integration (Origin Pull) ★ Dynamic image resizing to save disk space ★ CSS and Javascript minification and consolidation ★ Shared uploads across many servers (NFS or Rsync) MODERN TRIBE http://tri.be
  • 78. Lighten the Load ★ CDN integration (Origin Pull) ★ Dynamic image resizing to save disk space ★ CSS and Javascript minification and consolidation ★ Shared uploads across many servers (NFS or Rsync) ★ Headers tuned for optimal browser caching MODERN TRIBE http://tri.be
  • 79. Managing the Project MODERN TRIBE http://tri.be
  • 80. Let’s All Play Together MODERN TRIBE Photo ©jeffersonlibrary.net http://tri.be
  • 81. Let’s All Play Together ★ Issue tracking system MODERN TRIBE Photo ©jeffersonlibrary.net http://tri.be
  • 82. Let’s All Play Together ★ Issue tracking system ★ Secure wiki MODERN TRIBE Photo ©jeffersonlibrary.net http://tri.be
  • 83. Let’s All Play Together ★ Issue tracking system ★ Secure wiki ★ Instant messenger channel MODERN TRIBE Photo ©jeffersonlibrary.net http://tri.be
  • 84. Let’s All Play Together ★ Issue tracking system ★ Secure wiki ★ Instant messenger channel ★ Mailing list MODERN TRIBE Photo ©jeffersonlibrary.net http://tri.be
  • 85. Use Version Control! MODERN TRIBE http://tri.be
  • 87. Deploying Code ★ One click code deployment process MODERN TRIBE http://tri.be
  • 88. Deploying Code ★ One click code deployment process ★ QA, Staging, Production environments MODERN TRIBE http://tri.be
  • 89. Deploying Code ★ One click code deployment process ★ QA, Staging, Production environments ★ Default dev config for easy local install MODERN TRIBE http://tri.be
  • 90. Deploying Code ★ One click code deployment process ★ QA, Staging, Production environments ★ Default dev config for easy local install ★ Common local dev environments MODERN TRIBE http://tri.be
  • 91. Don’t Be A Stranger Peter Chester @peterchester http://www.slideshare.net/peterchester/170-radio-stations-wordpress-at-scale MODERN TRIBE http://tri.be

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n