We recently set up a 6-site Drupal network for a franchised business — each site representing one regional location. Here is our decision process and implementation.
Multisite vs separate installs
Multisite makes sense when: sites share the same codebase and modules, updates should propagate uniformly, and you want a single deployment pipeline. It does not make sense when sites have substantially different content architectures or independent update schedules.
Our setup
We used a single Drupal codebase deployed via Composer. Each site has its own database and its own sites/ directory. Shared configuration lives in the codebase (tracked in Git); site-specific config is overridden in settings.php.
Domain configuration
We use the Domain Access module to control which content appears on which site. Editors see a domain selector on every node edit form. Shared content (global team pages, legal pages) is published to all domains simultaneously.
Deployment
Our GitHub Actions pipeline runs drush deploy on all sites in sequence after each merge. A failing deploy on one site does not block others — each site is deployed independently with separate rollback capability.