cloud powered wordpress: improving performance, search and user experience for wordpress
DESCRIPTION
How the Cloud can Improve Wordpress Performance, Search, and User Experience.A look at: - scaling architectures leveraging CDNs in reverse-caching proxy configurations.- enabled solr-based search for Wordpress- cloud-based commenting plugins for WordpressTRANSCRIPT
blog: darrenrush.com twitter: @darrenrush
Cloud Powered Wordpress
Agenda– Background– Performance– Search– User Experience– Q&A
How the Cloud can Improve WordpressPerformance, Search, and User Experience
blog: darrenrush.com twitter: @darrenrush
Background
• Education– Georgia Tech Computer Eng.
• Career– Internet Security Systems IPO IBM– Teleo Microsoft– Koders Black Duck Software– Profinity, LifeClient, eCityDeals, others FAIL
blog: darrenrush.com twitter: @darrenrush
Koders.com
• Search engine for software developers
• Timeline:– Launched in 2005– Funded in 2006 (Founders Fund, Angels)– Acquired in April 2008
blog: darrenrush.com twitter: @darrenrush
Breitbart
• Center-right news and group-blog network
• Proprietary LAMP Newswire Site
• Wordpress MU Blogs– Big Hollywood– Big Government– More coming soon…
• 20MM+ PV/month
blog: darrenrush.com twitter: @darrenrush
Performance: Cloud Scaling
• 3 Generations of WP Scaling Guidance
• Cloud scaling– maximum scalability– minimum cost– Elasticity – supports huge traffic spikes without
‘peak load provisioning’
blog: darrenrush.com twitter: @darrenrush
Performance: 1st Generation – App-Tier Scaling
MySQL
Apache
Users• Approach– 1 DB– Many Web Servers
• Challenges– DB bottleneck– PHP/Memory bound
web servers
• 100s of concurrent connections
blog: darrenrush.com twitter: @darrenrush
Performance: 2nd Generation - Horizontal Scaling
MySQL
Write master
Read Slaves
Apache CDNStatic Files
Users• Approach
– Scale Database– CDN for Static Files– Lots of App Servers
• ½ Cloud
• Challenges– Scaling MySQL is hard– Provisioning Servers is Hard– Need enough hardware for
peak loads – expensive $$$
• 1000s of concurrent connections
blog: darrenrush.com twitter: @darrenrush
Users
Performance: 3rd Generation Cloud Scaling
MySQL
Apache
CDNWeb Pages
• Approach:• All requests (static and dynamic pages) thru
CDN
• Implementation:• Apache Content Expiration Tuning• Dynamic page elements refactored from PHP
to JS (ie ‘Welcome <User>’)
• 10,000s of concurrent connections
• Challenges• Apache content expiration tuning• 1-N minute staleness for pages
• Handles traffic spikes effortlessly
• Pay only for bandwidth, not hardware
blog: darrenrush.com twitter: @darrenrush
Performance: Cloud Scaling In Practice
• BigGovernment.com Launched this week
• 1.3 MM Pageviews in first 24 hours
• 2 web servers• 1 DB Server*
Users
MySQL
Apache
CDNWeb Pages
blog: darrenrush.com twitter: @darrenrush
Performance: Cloud Scaling Summary• Content Delivery Networks (CDNs) are a cloud service
• Leverage CDN in ‘Reverse Proxy’ configuration (not just static files)
• 1 Minute CDN caching policy provides tremendous gains
• Refactor dynamic page elements from server-side PHP to Javascript (ie ‘Welcome <User>’)
• Add Elastic growth (and shrink) to your network
blog: darrenrush.com twitter: @darrenrush
blog: darrenrush.com twitter: @darrenrush
Search: Only Two Types of Webmasters1. Understand that search is a critical part of their
site’s user experience
2. Don’t understand that search is a critical part of their site’s user experience
Search is a critical part of your site’s user experience
blog: darrenrush.com twitter: @darrenrush
Search: Wordpress Search Options• Out-of-box Wordpress Search
– Uses MySQL Full-text– Barely Functional – not
implemented or de-emphasized in most themes
• Search Everything Pluginhttp://wordpress.org/extend/plugins/search-everything/
– MySQL Full-text + Comments, Pages, etc
• Sphinx– Good Full-text Features
• Lijit– Full-text +
Web 2.0 Features
• Solr– Full-text +
Web 2.0 + Guided Nav + Content Analysis + + +
blog: darrenrush.com twitter: @darrenrush
Search: Solr Not Adopted by WP Community
• Why Solr?– Feature-complete, mature, robust search system– Largest community of users and extensions– Production tested:
CNET, Netflix, YP.com, Digg, AOL, Disney, NASA…
• Why NOT Solr?– Platform mismatch: Java-based– Different skillset required
• Can the Cloud Help?
blog: darrenrush.com twitter: @darrenrush
Search: Solr for Wordpress
• Solr for Wordpress Pluginhttp://wordpress.org/extend/plugins/solr-for-wordpress/ – created by Matt Weber– Index Pages, Posts, Comments– Full Solr 1.4 Integration
• PowCloud – Hosted Solrhttp://powcloud.com/– Currently in Private Beta– Twitter.com/powcloud
blog: darrenrush.com twitter: @darrenrush
Search: S4WP Features
• Full-text search w/ stemming, boolean searches, advanced queries
• Guided Search, Facetted Navigation
blog: darrenrush.com twitter: @darrenrush
Search: S4WP Features
• AJAX-Autocomplete
• ‘Did-you-mean’ spell checking
• Improved Results Layout (highlighting, paging, sort)
blog: darrenrush.com twitter: @darrenrush
Search: S4WP Similar Content Widget
• Links up to 5 of the most related posts
• Benefits:– Decrease bounce rate– Increase PV/visit
blog: darrenrush.com twitter: @darrenrush
Search: Future
• Re: Beau Lebens @ Automattic– More searchable content coming up:
• BuddyPress – Social content, friends, updates• bbPress – Forums
• Real-time Search – ‘Next Big Thing’
• Search is the command line of web
blog: darrenrush.com twitter: @darrenrush
Search: Summary
• Search is a critical part of your site’s user experience– Increase pageviews– Decrease bounce rate– Help users find what they are looking for
• Solr is most feature complete search platform
• Solr4WP Plugin + PowCloud = Plug and Play SolrNow: In Beta
blog: darrenrush.com twitter: @darrenrush
User Experience:Blogs as Conversations• Commenting is the lifeblood of the best blogs
• More complex than ever:– SPAM– User management– Authentication– Moderation– Threading– Ratings– Social media integration– Syndication
• Complexity + Social Media Integration + Syndication = Perfect Candidate for Cloud
blog: darrenrush.com twitter: @darrenrush
User Experience:Cloud-based Commenting Providers for WP
• IntenseDebate• Disqus• Echo
• Vendors Battling for Marketshare– Price is right– Feature competition good for you– All strong contenders
blog: darrenrush.com twitter: @darrenrush
3 Ways to Cloud Power Your WordPressWhat’s Next?
1. Find a Reverse-Proxy Capable CDNhttp://silvermako.com/cdn-quote
2. Signup for PowCloud Betahttp://powcloud.com
3. Choose a Cloud-Comment Provider
blog: darrenrush.com twitter: @darrenrush
Fini
• Darren Rush– [email protected]– Twitter.com/darrenrush– darrenrush.com