Support

Automated Events

Automated Events

Ongoing deployment operation can contain may different operations including snapshots, ser- vice backups, data source backups, scaling events (increasing or decreasing), and auto-recovery.

The two most critical events for a deployment are auto-scaling and auto-recovery. The diagram below shows some of the processes behind this activity.

ClusteredProcesses
Click to Enlarge

Auto-Recovery

Auto-recovery is an event that is triggered when there is an unexpected server failure in the cloud. enStratus monitors servers as a matter of course and when a failure is detected, a recovery event is triggered.

What happens during a recovery event depends somewhat on the role of the server in the deployment.

In the case of an application server, the following event timeline is followed:

  1. Failure detected.

  2. New server started in the same zone as the failed server using parameters defined in the server group.

  3. Failed server removed from any load-balancing by stopProxy.

  4. Failed server removed from any database dependencies by revokeDatabaseAccess. Once the server is started, the volume that was orphaned by the failed server will be re-attached to the new server.

  5. If the orphaned volume cannot be reattached, a new volume will be generated by taking a snapshot of one of the volumes attached to a currently running server in the server group and creating a volume from that snapshot. The resulting volume will be attached.

  6. If there are no running servers in the server group, a volume will be created from the most recent snapshot on record and the volume will be attached to the new server.

  7. If there are no snapshots, a new volume will be created and attached. The service will be installed as if starting the deployment from scratch.

  8. Once the volume is attached, enStratus calls /enstratus/bin/startService for each service contained on the volume.

  9. Recovered server added to any load-balancing by startProxy.

  10. Recovered server added to any database dependencies by grantDatabaseAccess.

In the case of a database server, the following event timeline is followed:

  1. Failure detected.

  2. New server started in the same zone as the failed server using parameters defined in the server group.

  3. Once the server is started, the volume that was orphaned by the failed server will be re-attached to the new server.

  4. If the orphaned volume cannot be reattached, a new volume will be generated by taking a snapshot of one of the volumes attached to a currently running server in the server group and creating a volume from that snapshot. The resulting volume will be attached.

  5. If there are no running servers in the server group, a volume will be created from the most recent snapshot on record and the volume will be attached to the new server. If there are no snapshots, a new volume will be created and attached. The service will be installed as if starting the deployment from scratch.

  6. Once the volume is attached, enStratus calls /enstratus/bin/startService for each service contained on the volume.

  7. If any application servers depend on the database server, enstratus-configure will be called on each application server with an updated enstratus.cfg file containing information about the new database server.

Next, let's look at Deployment Scaling.

back to top

Updated: 08-01-2011:

enStratus Customer Login

Need additional assistance?
Contact Us

Newsletter Sign-Up

Thanks for requesting to join our email newsletter. Look for our periodic updates on cloud computing and enStratus.