How to Build a Scalable Platform for Today's Publishers
-
Upload
dick-olsson -
Category
Technology
-
view
210 -
download
2
description
Transcript of How to Build a Scalable Platform for Today's Publishers
Site Building
How to Build a Scalable Platform for Today's
Publishers
Presented by Dick Olsson (dixon_)
Agenda
Who am I?
The project I'm working on
Common requirements
Why Drupal is the right tool (high level)
What modules to use (technical level)
Demo
Dick Olsson
A Swede living in Doha, Qatar
Lead Drupal Developer at Al Jazeera
On a leave of absence from NodeOne
Active core contributor
Maintainer of
UUID (http://drupal.org/project/uuid)
Deploy (http://drupal.org/project/deploy)
http://www.forbes.com/sites/ciocentral/2011/03/02/how-al-jazeera-successfully-managed-through-the-turmoil/
aljazeera.com
Editors 50 web editors
30 articles published every day
Working in 2 shifts
aljazeera.com
Visitors Average 6 million req/hour
(1,700 req/sec)
Spikes 50 million req/hour
(14,000 req/sec)
Common Requirements
Agile Development
The platform should support the editorial process
Web publishing is constantly evolving
Time to market is crucial
Efficient Workflow
Need to support editors' daily work
Organizations work differently
Sections within organizations work differently
Content Freshness
Time span from clicking publish to first impression
Minutes makes a difference on the social web
Being first is vital
Content Freshness
Drupal site
Static caching
Cache API
Varnish
Content Delivery Network
Scalability
An event can change your business' impact
Shorter cache times when spikes are high
Security
Exposed to constant threats
Trust is important for a publisher's brand
Information leakage can jeopardize people's lives
Why Drupal Is the Right Tool?
Agile Development
Efficient Workflow
Content Freshness
Scalability
Security
Give Me the Modules!
http://www.flickr.com/photos/13403905@N03/2080281038/
Workbench
Suite of modules
Easier content management
Flexible workflows
Better coherence for editors
http://drupal.org/project/workbenchhttp://drupal.org/project/workbench_moderation
Why Workbench?
Unique workflow per content type
Unique workflow per role
Better coherence
Deploy
Framework for pushing content
Automated or manual
Can be used for content staging
Separate editorial and public site
http://drupal.org/project/deploy
Staging site Production site
Secure network Public network
Deployment
Why Deploy?
Separate sites, faster code deployments
Transparent content staging
Editorial site on closed network
Decreased “hit area” on public site
Entity List
Wrapper for listing functionalities
Views, Nodequeue, Solr, EntityFieldQuery, etc.
Unified output with Panels
Transparently switch query backends
Integrates with Cache Tags
http://drupal.org/project/entitylist
Cache Tags
Backported functionality from Drupal 8
Ability to tag cache entries
Ability to tag requests
Invalidate cache entires by tag
http://drupal.org/project/cachetags
cache_set('key', $node, array('node' => 1));
cache_add_request_tags(array('node' => 1));
cache_invalidate(array('node' => 1));
Why Entity List + Cache Tags?
Refactor faster with better separation
Transparently switch query backend
No more stale caches
Longer cache life times
Demo!
Are We Going to Release It?
Yes!
Thank you!
Drupal: dixon_
Twitter: @dickolsson
Blog: senzilla.com
What did you think?
Locate this session on theDrupalCon Denver website
http://denver2012.drupal.org/program
Click the “Take the Survey” link.
Thank You!