ersureshbe
Giga Sage
Giga Sage

Use Case:
To adhere to best practices, I aim to ensure that the instance and data remain synchronized between the Production and Non-Production environments. What approach and solutions should we consider implementing on our side? Are there any out-of-the-box capabilities available to assist in managing the instance and data synchronization?

 

Solution:
ServiceNow offers a robust feature known as 'Clone' that facilitates the management of instances and data synchronization. However, it is advisable not to activate this feature immediately. For example, the Development Environment tends to be more complex when enabling the clone, as it is often engaged in ongoing development activities driven by business requirements and functionality enhancements. Unlike the TEST, QA, and PROD environments, the DEV environment requires careful consideration prior to cloning. The following approaches and checklist are designed to assist in simplifying the cloning process while minimizing potential issues.

 

When planning to clone any ServiceNow instance environment, the checklist provided below will be beneficial. I have applied this checklist in real-time scenarios, and it has proven to be highly effective. I am eager to share these details, as I believe they will be advantageous for your cloning activities. Please review the following pre- and post-clone checklist for each instance during the cloning process.

 

 

Pre-Clone Activities Status Target Instance Source Instance Comments
Check the system property - glide.db.clone.allow_clone_target is TRUE        
Check the all update sets are closed.        
Ask Developer to take a backup which code are not moved to UAT/ PROD.        
Data Preserve should enable required table. The table list are mentioned below.        
Data Preserve should enable custom sys_properties if required.        
Data Preserve should enable for SSO Configuration / SSO Properties table.        
Data Preserve should enable for admin users.        
Data Preserve should enable for instance_name        
Export the story and defect and Test Plan info from appropriate table using xml file.        
Export integration end points (3rd Party System) i.e, Pointed to DEV / Test / QA Environments.        
Export the intalled plugin list on each instance -- https://instance-name/xmlstats.do?include=plugins        
Collect the Integration Credentials and store in local drive before start the Cloning.        
Connect the Hi Team and ask to take a backup from DB.        
Broadcost the Clone acticity start time  to Business people. If require, display the clone activity in Portal and Instance Header.        

 

 

Post-Clone Activities Status     Comments
Regenrate the Text Indexes.        
Check the email properties and Depends business requirement enable or disable the property.        
Check the Mid Server status and Credentials.        
Use Cleanup scripts as per OOB / Custom if required.        
If clone shows issue, you can rollback the clone.i.e., Go to Clone History and Select which should roll back then Use 'Roll Back Clone' as per OOB. Must be initiated within 24 hours of clone completion.        
Check preserved data is available part of the table.        
Compare installed plugin list from Pre-Clone and enable the missed plugins -- https://instance-name/xmlstats.do?include=plugins        

 

In the event that certain plugins are installed on one instance and are not accessible on another, you may utilize the script provided below. Please ensure that the plugin names are accurately entered before executing it in either the 'Fix Script' or 'Background Script' sections.

 

var plugins = []; 
plugins.push('com.snc.test_management.2.0'); // Add Plugin Names which you require to install in the instance
plugins.push('com.snc.fullcalendar'); // Add Plugin Names which you require to install in the instance
plugins.push('com.snc.on_call_rotation'); // Add Plugin Names which you require to install in the instance
plugins.push('com.snc.sdlc.ranking'); // Add Plugin Names which you require to install in the instance
var main = new GlideMultiPluginManagerWorker();
main.setPluginIds(plugins);
main.setProgressName("Plugin Installer");
main.setBackground(true);
main.start();

 

Please use following link to refer the ServiceNow guidance as well.

Clone Reference
Clone Activity
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0727844
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0539837
Post- Clone Activity
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0547597
Q&A
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0715621

 

#Clone #InstanceManagement #DataSync #Pre-Clone #Post-Clone

 

Hope you like it. If any questions or remarks, let me know!

If this helped you in any way, I would appreciate it if you hit bookmark or mark it as helpful.

 

Regards,

Suresh.