Bottom Line - CONS3RT offers a better approach! ...to the traditional notion of snapshots.
As your team begins transitioning from traditional cloud hosting environments, there will inevitably be a time when when the team wants to "snapshot" a system. When the team refers to snapshots they likely mean the VMware definition:
A snapshot preserves the state and data of a virtual machine at a specific point in time.
- The state includes the virtual machine’s power state (for example, powered-on, powered-off, suspended).
- The data includes all of the files that make up the virtual machine. This includes disks, memory, and other devices, such as virtual network interface cards.
- A Few Snapshot Limitations (according to VMWare)
- Large numbers are difficult to manage
- Consume large amounts of disk space
- Not protected in the case of hardware failure.
- Can negatively affect the performance
VMWare states "Do not run production virtual machines from snapshots on a permanent basis."
However, this is more a case of "how" vs. "what". For example, here is the "what" and "how" for the above example:
- WHAT - Save the state of a system at a particular point in time
- HOW - Use VMware provided "snapshot" capability
CONS3RT provides a better HOW option to the WHAT "save the state of a system at a particular point in time". CONS3RT makes use of assets and high level designs to save the state of a system at a particular point in time. The design approach has many benefits, including:
- Usability. Easier and quicker to update components or try out different configurations
- Performance. Snapshot performance degrades over time.
- Scalability. No need to carry around and update entire "catalogs" of monolithic VMs
- Transparency. Know exactly how a system is built
- Portability. Easily deploy systems across different cloud providers
- Stability. Systems driven from automation
- Only option for Physical Systems
- Better Options for Long Term Backups
- Better Options for High Availability / Disaster Recovery
Furthermore, using CONS3RT allows a user to automate the deployment of:
- multiple copies of a systems so they are disposable (i.e. launch three, use one, throw it away, use the next one)
- scenarios consisiting of many systems to create complex itegration environments or ranges