Last updated July 28, 2013. Created by coderintherye on November 23, 2010.
Edited by interdruper, naught101, imclean, s1l. Log in to edit this page.

Many site admins wish to backup, create snapshots, stage and deploy sites, both on the same server as well as on external servers. Below is an attempt at listing the features of modules that support such activity.

It should be noted that there are big differences between content, code, and configuration deployment. Some of these modules are designed for a particular use only, some work for a few.

UPDATE 21 Jul 2013 (by @interduper)

Many changes have taken place in this important topic, and it is time to reflect them in this section. New promising modules have emerged, and others has expanded their capacities.

In deployment of code, the use of Features module and Drush Make (now part of Drush) seems clearly the mainstream, with the additional use of installation profiles (you can dive in the installation profiles code of distributions like Open Atrium or ERPAL to see all items working together). Features is also an almost imperative tool in the development workflow of projects that involves several simultaneous developers, and several environments (local, dev, qa, test, prod...), since it puts everything into code, making it suitable to use versioning.

If you want to deploy the entire site configuration instead of split it into case-uses, a very convenient alternative to Features is Drush CTools Export Bonus.

In deployment of (bulk) content, since this task is very related to importing data, many options are available, from strictly pure pushing deploy approach, like the Deployment module, to classical and user-friendly export/import approaches, like the well known Backup & Migrate module. In this section, we can not ignore Feeds module, more powerful each day thanks to the rising group of modules that extend its capabilities.

The big battle is taking place in the Middle-earth: Deployment of site configuration (Views, Image Styles, Permissions and Roles, Entities, Content Types, Fields, Settings... anything that is not content nor an entity nor code).

Drupal 8 will provide a new Configuration Management System.
The best source to find out the details and capabilities of the new D8 Configuration System is this recent screencast from DrupalCon Portland 2013 by Greg Dunlap (@heyrocker), the leader of the initiative. Basically the new CM system rips the site configuration data out of the database and put it in files, using an easily readable yaml format. These files will be deployable from site to site. So in D8 finally Drupal core will provide a practical solution for the site configuration management.

Several contrib modules has tried to solve this core shortage in D6 and D7. Many of them are recent initiatives and will overlap with D8 core solution. Features has been until now the most used module for deploying configurations in D6/D7, but originally it was not designed for that function. With the arrival of D8, Features will be able to return to its core purpose: to pack functionality that satisfy user-cases

Important Note:Modules with no D7 version, or currently not maintained, has not been included in this comparative.

Module Main Aim Deploy Code Deploy Config Deploy Content Resolve
dependencies
Export/
Import
D6 D7 Usage
D8 core Configuration Management System Manage and deploy site configuration Not available
Backup&Migrate Backup and restore database tables 214311
Features Saves code and configures setups that satisfy certain use-cases 133274
Feeds Import or aggregate data
Import only
56191
Node Export Export/Import nodes 21258
Migrate Framework for migrating content into Drupal from other sources.
Import only
18931
Bundle Copy Export/Import several entity types 10371
Apps Download modules and all of their dependencies in one easy step 8075
UUID Features Integration Export (non-bulk) content into a features module 2865
Drush CTools Export Bonus Export all known Ctools exportables of a site to a module 991
Deployment Content staging from one site to another 902
Data export import Export/Import nodes, taxonomy terms and users using data files 818
DBTNG Migrator Replicate a database from one engine to another 611
Patterns Manages and automates site configuration
dev only
496
Configuration Management Manage and deploy site configuration 160
Stager Staging content and config 34
Drush Make & Make-generate Install/Export site code from/to a .info file Not available
Drush Deploy Deploy/Rollback code with minimal downtime. Uses Git.
Import only

dev only
Not available

Please update this page to reflect your knowledge of these modules

Revision Oct-2011 - Obsolete info

These tables take into consideration some D5 and D6 modules not covered in the 2013 revision.

Note, migrate modules are simply listed as "yes" for both import and export.

Module Main Aim content config code export import Last row update
Deployment Content staging yes no no yes yes 9 Oct 2011
Stager Staging content and config yes yes no yes yes 9 Oct 2011
Snapshot Backup a whole site, code and database yes yes yes yes no 9 Oct 2011
Backup
& Migrate
Backup the whole database, and import yes yes no yes yes 9 Oct 2011
Drush
Make
Installs all code for a site from a .info file no no yes no yes 9 Oct 2011
Drush
Deploy
Code deployment using drush no no yes yes yes 9 Oct 2011
dog
(Drupal on Git)
Aims to enable site code deployment over git,
via drush
no no yes yes yes 9 Oct 2011
Staging Sync two sites ? ? ? ? ? 9 Oct 2011
Features Saves config setups that satisfy certain
use-cases
no yes yes yes yes 9 Oct 2011
Migrate Migrate content from/to any source (Drupal,
wordpress, other CMS, spreadsheet, whatever)
yes no no yes yes 9 Oct 2011
Backup back up a whole site, code and database yes yes yes yes no 9 Oct 2011
Yet Another Migrate
Module
Mass content synchronisation yes ? no yes yes 9 Oct 2011

Development status

Module 5.x 6.x 7.x #commits #users Development Last row update
Deployment no alpha dev ~200 614 active 9 Oct 2011
Stager no no 1.2 13 19 minimally
maintained
9 Oct 2011
Snapshot no 0.1 no 1 110 appears
abandoned
9 Oct 2011
Backup
& Migrate
1.3 2.4 2.2 214 100,696 active 9 Oct 2011
Drush
Make
no 2.3 no ~450 N/A active 9 Oct 2011
Drush
Deploy
no no no 13 N/A active 9 Oct 2011
dog
(Drupal on Git)
no no no ~110 N/A active 9 Oct 2011
Staging no 0.1 no 5 9 appears
abandoned
9 Oct 2011
Features no 1.1 beta ~100 ~40,000 active 9 Oct 2011
Migrate no 2.2 2.2 ~1100 2706 active 9 Oct 2011
Backup 3.0 no no ? 212 abandoned 9 Oct 2011
Yet Another Migrate
Module
no rc3 no 25 11 active 9 Oct 2011

Please update this page to reflect your knowledge of these modules

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

Feature comparison between the modules would be handy. For example, Stager can manage content at the database level as well as modules. Deployment appears to manage content at a higher level and can't update modules. There would be use cases for each.

The above was gleaned from simply reading the module pages.

This page should be editable to all, so would be great if you could jump in and add what you mention above.

Done. I've yet to use any of these modules so can't comment any further.

There probably should also be a page on deployment methodologies, as these module are just tools, and this page provides no comparison of ways to use them. Also, there are plenty of other tools out there that aren't modules, like Capistrano, Git, Drush rsync, etc.

Here are some links, but perhaps we should start a new page too:
http://stackoverflow.com/questions/730138/whats-best-drupal-deployment-s...
http://opc.com.au/web-development/drupal-release-management-drush-and-git
http://groups.drupal.org/packaging-deployment
http://dcycleproject.org/faq

Nice work on the page cleanup! Agree with your suggestion, though want to research what is already up on drupal.org first as well.