Maintenance notification during deployment

Just wondering if there were any other new approaches that were devised to minimize the risk of data corruption during deployments. Here are the approaches I am aware of:

Approach #1 - Unpublish main application, publish it after deployment

https://community.appian.com/discussions/f/administration/4505/deployment-is-there-a-way-to-put-up-a-maintenance-page-when-doing-a-deployment/16211#16211

This approach is good except for that the tasks that remain active during deployment and could cause issues. A additional variation of this approach includes adding a maintenance flag in SAIL task forms to avoid ongoing tasks from being performed. Finally, the most complete solution also includes publishing a small "maintenance" application during the deployment where users are redirected to a start page indicating that a deployment is in progress.

Approach #2 - Run a process to deactivate users before deployment and reactivate them after deployment

This solves the issue related to the tasks being still accessible during deployment mentioned in Approach #1 however, it is a bit less user friendly since users are logged out during the deployment. One way to mitigate this issue would be to use the "Terms and Conditions" functionality in the admin console to display a message for the user to advise them that a deployment is in progress.

https://community.appian.com/discussions/f/general/5175/deactivate-reactivate-users-when-performing-deployment-to-production/19202#19202

Approach #3 - DNS Change

When using Appian Cloud with custom subdomain, you could switch the DNS to point to a maintenance page hosted somewhere. The only issue is that DNS changes take time to propagate and you have no control over when the user will perceive the change.

Anyone know of other approaches that are used to make deployments more seamless to end users?

  Discussion posts and replies are publicly visible

Parents
  • What sort of "data corruption" have you encountered or are concerned about?

    Also, do you use LDAP or SAML? If your goal is to prevent users from logging in, it might be reasonably easy to come at it from that angle. You could potentially toggle the configurations (either in the admin console or on the LDAP/SAML server) such that users couldn't log in.
  • Our imports can take some time to complete and from time to time we encounter issues mid-deployment. That would mean that during a period of time all the objects are not in sync in terms of functionality. This could potentially lead to processes or data being in a bad state. This issue is referenced in the Application Deployment Guidelines:

    Because an import is not one atomic operation, users may see some inconsistencies in their application behavior while the import is running. For example, during a lengthy import, a Constant might be updated, but the Process Model that references it has not been updated yet.

    • We recommend that production-environment application imports be performed during off-peak hours, especially when importing large applications.

    We also run data conversion scripts during our deployments. Having a user submit a task that commits data while the conversion is in progress could also potentially cause issues.

    Also, we do use SAML for our internal users and this is the way that we manage it for them. However our external users use the Appian built in authentication so we have no choice but to deactivate/reactivate.

Reply
  • Our imports can take some time to complete and from time to time we encounter issues mid-deployment. That would mean that during a period of time all the objects are not in sync in terms of functionality. This could potentially lead to processes or data being in a bad state. This issue is referenced in the Application Deployment Guidelines:

    Because an import is not one atomic operation, users may see some inconsistencies in their application behavior while the import is running. For example, during a lengthy import, a Constant might be updated, but the Process Model that references it has not been updated yet.

    • We recommend that production-environment application imports be performed during off-peak hours, especially when importing large applications.

    We also run data conversion scripts during our deployments. Having a user submit a task that commits data while the conversion is in progress could also potentially cause issues.

    Also, we do use SAML for our internal users and this is the way that we manage it for them. However our external users use the Appian built in authentication so we have no choice but to deactivate/reactivate.

Children
No Data