Snapshots are incremental backups of the /data and /db volumes on single, master, and utility instances, and are stored on S3 volumes in your Engine Yard account. Snapshots are fast and incremental but not a replacement for database backups because snapshots do not check data integrity.
Snapshots occur just before backups. Snapshots occur nightly at 1:00 a.m. server time by default; backups occur at 1:10 a.m. server time by default, or just after snapshots complete.
For more information, see Manage Snapshots.
If you’re upgrading a single instance from a small to a medium instance, you’d want to use snapshots to migrate everything (database and application files).
Single instance environments cannot add more instances. For this capability, consider booting a cluster of multiple instances instead.
When you boot a cluster for the first time, you may choose to boot from a new volume or existing snapshot for your application servers, each utility server, and master database.
When you are adding an instance to an existing cluster, then follow these practices:
Application master and slaves
The idea behind application servers is for the entire ring of servers (application master and slaves) to be equivalent as much as possible. This supports the use case of Engine Yard’s automatic failover that can replace a failed master with an existing application slave.
For this reason, it is a bad idea to treat the application master as a special server or treat a slave with the expectation that it will never become the master server. That being said, if you boot all application servers from the same snapshot and never change data stored on your volume (under /data) after that, then booting an application server from a snapshot can be an acceptable practice.
Utility instances can be used for a variety of purposes. For example, you could host a MongoDB on a utility instance. When booting this the first time, choose a new volume. However, if the instance dies and you are booting a replacement, choose the latest snapshot to restore all your data.
Adding a database replica will always take a snapshot from the master database and start replicating data over to the new database replica.