Server-level backups should be the same process as creating a snapshot. User should be able to set daily time-frame during which the backups occur. Backups should occur as server snapshots, created while the server is live. They should be stored in daily, weekly and bi-weekly slots, plus there should be an additional slot for a manually initiated snapshot.
User should be able to restore from any snapshot to the same server or to use as a basis for creating new servers. This might be done to clone or replicate the server for load balancing, or it can be done to use a good, working server as a basis for a new server.
For me, the backup/snapshot and restore system is the single most crucial part of the whole system. Five dollar servers are nice, but if I can't wield snapshots quickly and effectively, everything else is moot.