We all know Drupal has some pinch points. But, how can you launch over 300 sites on the same Drupal platform and deal with deployment and upgrades, all without pulling your hair out?
Drupal serves as a great content management system as well as a framework. Drupal’s ability to support multiple sites off of a single code base in conjunction with it’s distribution profile capabilities make it a prime candidate for applications.
Using Drupal has advantages - an existing proven code base, a strong community, and flexibility. However it comes with it’s own tradeoff instead of building a ground up solution (built from Symfony, CodeIgniter, etc.) Every module used can lead to: use it and improve it, fork it, remake it. You’re also going to come head to head with problems the community has not solved yet - like media and rich text editing.
You need to support customers having an enriched experience of customization while maintaining integrity. Features is the de facto community option for maintaining configuration, to a certain extent. However, all Drupal (7, even 8) is focused on single instance configuration. As the product grows, so does the baseline features - yet you can’t simply destroy a customer’s changes because of a new release.
Think of this session as not a case study on a single platform but on using Drupal in a large scale environment; and, how to solve problems the occur or areas that need work to streamlines processes.