Big Websites
Upcoming SlideShare
Loading in...5
×
 

Big Websites

on

  • 679 views

Drupal powers many small-to-medium websites, from personal blogs to company intranets. Drupal also powers big sites like The Economist and The White House. How are the big sites different from the ...

Drupal powers many small-to-medium websites, from personal blogs to company intranets. Drupal also powers big sites like The Economist and The White House. How are the big sites different from the small ones? What are the main issues to consider when adopting Drupal for the enterprise? What skillset do developers need to build them?

Statistics

Views

Total Views
679
Views on SlideShare
679
Embed Views
0

Actions

Likes
1
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Big Websites Big Websites Presentation Transcript

  • Big WebsitesDiana Montalion Dupuis : @dianadupuis previously: @mooncougarRobert Ristroph : @robgrDrupal powers many small-to-medium websites, from personalblogs to company intranets. Drupal also powers big sites likeThe Economist and The White House. How are the big sitesdifferent from the small ones?Four Kitchens : @fourkitchens
  • With a lot of cachingDallas Drupal Days 2011
  • Before big websites
  • Before big websites• Clients would come to me and ask me to buildthem a website.
  • Before big websites• Clients would come to me and ask me to buildthem a website.• I would build them a website.
  • I would . . .
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).• download, install and configure modules or plug-ins.
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).• download, install and configure modules or plug-ins.• sometimes install and configure compatible appslike CiviCRM or a shopping cart.
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).• download, install and configure modules or plug-ins.• sometimes install and configure compatible appslike CiviCRM or a shopping cart.• merge some data, maybe.
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).• download, install and configure modules or plug-ins.• sometimes install and configure compatible appslike CiviCRM or a shopping cart.• merge some data, maybe.• build a theme, install it, and cross-browser test.
  • I would . . .• meet with a client, define their business goals andtechnical needs, create a site plan.• download and install a CMS (usually Drupal).• download, install and configure modules or plug-ins.• sometimes install and configure compatible appslike CiviCRM or a shopping cart.• merge some data, maybe.• build a theme, install it, and cross-browser test.• rebuild the theme for IE6.
  • I would . . .
  • I would . . .• sprinkle on (just enough) javascript.
  • I would . . .• sprinkle on (just enough) javascript.• log in as user 1 and click configuration buttons.
  • I would . . .• sprinkle on (just enough) javascript.• log in as user 1 and click configuration buttons.• teach the user how to use their site.
  • Afterwards,
  • Afterwards,• clients called me when they had a problem.
  • Afterwards,• clients called me when they had a problem.• I would fix it.
  • Simpler times
  • Simpler times• Caching was a browser issue. "Did you clear yourcache?"
  • Simpler times• Caching was a browser issue. "Did you clear yourcache?"• Version control was ensuring there was a backupor rollback ability.
  • Simpler times• Caching was a browser issue. "Did you clear yourcache?"• Version control was ensuring there was a backupor rollback ability.• Performance was not serving an automatically-playing video on the homepage.
  • Simpler times• Caching was a browser issue. "Did you clear yourcache?"• Version control was ensuring there was a backupor rollback ability.• Performance was not serving an automatically-playing video on the homepage.• Scalability was a functionality issue. "Can I add apicture gallery later?"
  • Simpler times• Caching was a browser issue. "Did you clear yourcache?"• Version control was ensuring there was a backupor rollback ability.• Performance was not serving an automatically-playing video on the homepage.• Scalability was a functionality issue. "Can I add apicture gallery later?"• I longed to write more code.
  • Little Bobby Tables
  • Then, things changed.
  • Then, things changed.• I joined Four Kitchens, birthplace of Pressflow,and was surrounded by major league Big Websitefoo.
  • Then, things changed.• I joined Four Kitchens, birthplace of Pressflow,and was surrounded by major league Big Websitefoo.• In time, I became the team lead for the Austin(aka Janus) team working on The Economist online.Rob is currently the team lead.
  • Then, things changed.• I joined Four Kitchens, birthplace of Pressflow,and was surrounded by major league Big Websitefoo.• In time, I became the team lead for the Austin(aka Janus) team working on The Economist online.Rob is currently the team lead.• I went from a one-woman expertise factory to adeveloper who *needs* her teammates to survivethe workday.
  • How The Economistchanged my (work) life
  • How The Economistchanged my (work) life• Most of the functionality I add is custom built or atleast customized.
  • How The Economistchanged my (work) life• Most of the functionality I add is custom built or atleast customized.• I often have to study more (custom) code than Iwrite when implementing new functionality.
  • How The Economistchanged my (work) life• Most of the functionality I add is custom built or atleast customized.• I often have to study more (custom) code than Iwrite when implementing new functionality.• I build a branch for every task and merge code intothe codebase when its done.
  • How The Economistchanged my (work) life• Most of the functionality I add is custom built or atleast customized.• I often have to study more (custom) code than Iwrite when implementing new functionality.• I build a branch for every task and merge code intothe codebase when its done.• I am rarely the only person working on thatbranch.
  • How The Economistchanged my (work) life• Most of the functionality I add is custom built or atleast customized.• I often have to study more (custom) code than Iwrite when implementing new functionality.• I build a branch for every task and merge code intothe codebase when its done.• I am rarely the only person working on thatbranch.• If I do use a contributed module, it has it’s ownvendor branch.
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.• I test everything in four different environments(versions of the website) before it is "Done".
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.• I test everything in four different environments(versions of the website) before it is "Done".• I write a test (Selenium, currently) for any newfunctionality I create.
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.• I test everything in four different environments(versions of the website) before it is "Done".• I write a test (Selenium, currently) for any newfunctionality I create.• I work in the command line every day, not justduring install.
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.• I test everything in four different environments(versions of the website) before it is "Done".• I write a test (Selenium, currently) for any newfunctionality I create.• I work in the command line every day, not justduring install.• Local work is done using VMWare running a Centosenviroment (no MAMP) configured to match theproduction environment.
  • • Every bit of code I write (even in the theme) isreviewed (more than once) before it is merged.• I test everything in four different environments(versions of the website) before it is "Done".• I write a test (Selenium, currently) for any newfunctionality I create.• I work in the command line every day, not justduring install.• Local work is done using VMWare running a Centosenviroment (no MAMP) configured to match theproduction environment.• It takes hours to download a new database for mylocal environment.
  • • The havoc I could wreak if I’m not careful keepsme up nights.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.• Performance and scalability is a science involving.multiple servers, load balancers, CDN, Varnish, etcthat I need to understand.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.• Performance and scalability is a science involving.multiple servers, load balancers, CDN, Varnish, etcthat I need to understand.• Complicated tasks running "in thebackground" (cron, drush/Hudson) are Chuck-Norris-level customizations.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.• Performance and scalability is a science involving.multiple servers, load balancers, CDN, Varnish, etcthat I need to understand.• Complicated tasks running "in thebackground" (cron, drush/Hudson) are Chuck-Norris-level customizations.• I will never know enough Javascript.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.• Performance and scalability is a science involving.multiple servers, load balancers, CDN, Varnish, etcthat I need to understand.• Complicated tasks running "in thebackground" (cron, drush/Hudson) are Chuck-Norris-level customizations.• I will never know enough Javascript.• Everything must be in code, even adminconfigurations. I never click a button.
  • • The havoc I could wreak if I’m not careful keepsme up nights.• I *always* have to think about caching, in layers.• Performance and scalability is a science involving.multiple servers, load balancers, CDN, Varnish, etcthat I need to understand.• Complicated tasks running "in thebackground" (cron, drush/Hudson) are Chuck-Norris-level customizations.• I will never know enough Javascript.• Everything must be in code, even adminconfigurations. I never click a button.• I apply relational skills as often as softwaredevelopment skills to problems or inventing
  • • I attend a lot more meetings.
  • • I attend a lot more meetings.• I read and answer a river of emails - every day.
  • • I attend a lot more meetings.• I read and answer a river of emails - every day.• I always know what time it is in London and NewYork and Seattle and Los Angeles.
  • • I attend a lot more meetings.• I read and answer a river of emails - every day.• I always know what time it is in London and NewYork and Seattle and Los Angeles.• Besides writing code together, the other devs and Ihave bowled, snowshoed, played with dry ice, seenWeird Al in person, pub crawled in London, drankawesomesauce in Copenhagen, watched Tron 3D atthe IMAX, and smoked hookah together.
  • Code-Review Velocci
  • Categories of differences
  • Categories of differences• Version control
  • Categories of differences• Version control• Workflow and development environments
  • Categories of differences• Version control• Workflow and development environments• Quality control
  • Categories of differences• Version control• Workflow and development environments• Quality control• Back-end processes
  • Categories of differences• Version control• Workflow and development environments• Quality control• Back-end processes• Performance and scalability
  • Categories of differences• Version control• Workflow and development environments• Quality control• Back-end processes• Performance and scalability• Project management (Scrum!)
  • Categories of differences• Version control• Workflow and development environments• Quality control• Back-end processes• Performance and scalability• Project management (Scrum!)• Group think and relationship management.
  • Version control
  • Version control• I <3 Bazaar (launchpad)
  • Version control• I <3 Bazaar (launchpad)• Drupal uses Git (github)
  • Version control• I <3 Bazaar (launchpad)• Drupal uses Git (github)• I !<3 SVN or CVS but they are better than nothing.
  • Version control• I <3 Bazaar (launchpad)• Drupal uses Git (github)• I !<3 SVN or CVS but they are better than nothing.• Branching
  • Version control• I <3 Bazaar (launchpad)• Drupal uses Git (github)• I !<3 SVN or CVS but they are better than nothing.• Branching• Questions?
  • Workflow and devenvironments
  • Workflow and devenvironments• Sameness in local environments is good.
  • Workflow and devenvironments• Sameness in local environments is good.• Plan development well or die.
  • Workflow and devenvironments• Sameness in local environments is good.• Plan development well or die.• Establish version control flow.
  • Workflow and devenvironments• Sameness in local environments is good.• Plan development well or die.• Establish version control flow.• Questions?
  • Quality control
  • Quality control• Code reviews
  • Quality control• Code reviews• Testing
  • Quality control• Code reviews• Testing• Definition of Done
  • Quality control• Code reviews• Testing• Definition of Done• Questions?
  • Back-end processes
  • Back-end processes• Cron tasks
  • Back-end processes• Cron tasks• Custom drush commands
  • Back-end processes• Cron tasks• Custom drush commands• Custom scripting
  • Back-end processes• Cron tasks• Custom drush commands• Custom scripting• Questions?
  • Performance andscalability
  • Performance andscalability• Caching: Varnish and memcache
  • Performance andscalability• Caching: Varnish and memcache• Multiple servers, load balancing, CDN
  • Performance andscalability• Caching: Varnish and memcache• Multiple servers, load balancing, CDN• Questions?
  • Project management
  • Project management• Absolutely, positively, essential to do this well.
  • Project management• Absolutely, positively, essential to do this well.• Scrum
  • Project management• Absolutely, positively, essential to do this well.• Scrum• Questions?
  • Relationship management
  • Relationship management• Relationship skills are as important (moreimportant?) as geek skills.
  • Relationship management• Relationship skills are as important (moreimportant?) as geek skills.• Questions?
  • Thank You!