High Availability using Virtualization:
Set up two servers (main and backup). The backup should come into action when the main goes down, & should continue the operation that the main was running, exactly from the point of failure, without loss of data.