The Domino application deployment procedure varies among the organizations. In this section, we discuss the some of the best practices pertaining to the Domino application deployment in an enterprise. Application deployment is planned and scheduled as part of the project planning. The stakeholders (business owner of the application, application development team, and Domino administration team) make the decision of deployment date and action required for successful deployment. Decisions include the planned downtime if required, packaging template (.NTF) for moving to production, and a detail activity plan. The Domino application is eligible for deployment only after the positive sign-off received for the application in user acceptance testing (UAT) phase. In the majority cases, the responsibility of application deployment to production is with the Lotus Domino Administration deployment team.
Deploying new release
When deploy a new release of an existing application on the Domino production server, consider the following tasks:
Deploying a new application
- The application level downtime is required.
- Application business owner plans for the application level downtime that is suitable for all the stakeholders, For example, the deployment could be schedule on non-business working days or time to have lesser impact (it is the best for a complex deployment which runs into several hours).
- Inform the impacted users through email about the application downtime at least a week in advance to allow the business users to plan their activities accordingly. It is a good practice to send a reminder a day before the scheduled deployment.
- System administration team plans for proper backup of production copy of the impacted Domino application databases with data.
- The deployment should prepare a rollback plan (if required consult with the development team for inputs)
- Domino administrator identifies the template for deployment from the UAT environment that have received positive sign-off by the user.
- This template is to be used for design refresh or replace on the production database as part of the deployment activity.
- Development team prepares deployment related activities including required data updates on the existing documents, configuration creation , required batch processing of documents, deployment verification, and so on.
- On the day of deployment, Domino administrator perform the following activities:
- Revoke the access right of the general users from the impacted database[s].
- If the domino application has several replicas across servers, disable the replication temporarily on the hub replica for deployment activities. It helps to avoid any replication conflicts and database inconsistency while deployment process is initiated.
- Refresh or replace the production database with the final template (.NTF).
- Check for any errors with reference to the design refresh or replace action.
- Update the view indexes and recompile all the scripts.
- Perform any change in ACL if required, for example, add, edit, or remove roles, ACL entries, and ACL privileges.
- Development team performs deployment actions on the application databases. For example, perform batch update of existing document (add or remove of fields, or change in key field value), create or update application configuration.
- Development team verifies the deployment by making observation of key features and screen as expected.
- Have the user representation for the critical application deployment to ensure timely identification of any issues before the application is made available for general usage.
- Upon the successful completion, perform the following actions:
- Domino administrator re-opens replication of the application on hub server.
- Domino administrator restores database access to both existing and new users.
- Application business owner sends an acknowledgement email to the impacted users about the successful deployment.
- In event of failure of the deployment activity, Domino administrator invokes the rollback procedure to restore the backup on production. Share the failure report to the stakeholders.
For a new application, the application level downtime is not be required. The deployment tasks include:
Deploying a minor fix
- Creating the NSF files for the application from the template file from UAT.
- Setting up the access control lists for the NSF files.
- Replicating the NSF files to a Domino server, or e-mail them to somebody who has the permission required to do so.
- Setting up any data in documents that the application code required to function properly.
- Application business owner sends an acknowledgement email about the launch of new application.
When deploying a minor fix, the application level downtime might not be required. The deployment process is simple:
- Consider the criticality and complexity of the application and back up the databases as the rollback plan. You can use the daily regular backup copy if available.
- Domino administrator simply refreshes the design of the impacted databases.
Parent topic: 2.0 Application development lifecycle