At DrupalCon Denver, several members of the University of Colorado Boulder web team presented about CU-Boulder's Journey into Drupal. In the years that followed Drupal use grew from building and hosting a few dozen custom sites, to developing an install profile we used to start every site, to launching more than 600 sites as a free service we host ourselves and offer to any college, department, or student group.
We do this with a staff of 6. The ratio of 100 sites per staff member isn't unheard of, but we continue to offer custom development, training, and support... while still finding the time to share code, volunteer in various Drupal related activities, and enjoy the benefits of living in Boulder, CO.
We are on track to scale to 900 sites by February, 1200 sites by the end of 2016, and start the D8 migration in June working closely with the other web teams working within the University of Colorado system.
This presentation will provide an overview of the tools and approach to Drupal we use to run Drupal as a service for the University of Colorado Boulder by Kevin Reynen. Kevin maintains and contributes to many popular contrib modules, created the first Drupal distribution packaged on Drupal.org, is a member of the Drupal.org Licensing Working Group, and manages the Drupal.org Packaging Whitelist.
Poros - Our site manager. Poros is a lightweight Python Eve/Celery/Fabric based solution. At the most basic level, Poros provides a list of sites we can loop through to execute Drush commands when applying updates. It also tracks the status of a site from creation to deletion and monitors site stats and health.
DSLM - Our answer to Drupal's Multisite... single code base with benefits like rolling updates and improved security over traditional Drupal Multisites.
Express Install Profile - We attribute our success to a combination of our approach to Drupal, the contrib code we've used, the contrib code we've avoided, and what we've written ourselves.
Profile Tools - Profile Switcher, Profile Status Check, Profile Module Manager to migrate, maintain and manage sites
Our Staff - 2 senior devs, 1 senior ui/ux/themer, 1 jr. dev, 1 support, and 1 trainer (+1 manager, 2 site builders and network and stack support from OIT).
Our Approach - Walking the line between permissions and problems. More permission = more problems. Too little permission and groups used a different solution.
Our Sites - This is where it all comes together. The Express install profile is used for everything from http://www.colorado.edu/ to a student group. Every site starts as Express Basic. Additional modules are enabled by the site owners in Module Bundles. For "special snowflakes", Poros defines additional packages DSLM adds for just that site as Express+.