1. Introduction
The SnowMirror Drive application reduces footprint of live attachment data in a ServiceNow instance, by automatically moving it to alternative cloud storage.
The end users still access the attachments through ServiceNow, without noticing that the data is stored somewhere else.
The objective of the application is to improve ServiceNow performance and optimize storage cost.
SnowMirror product comparison
| Replica | Archive | Drive | Backup | |
|---|---|---|---|---|
| Use Case | Reporting based on ServiceNow data in BI tools | Reduce footprint of obsolete data | Reduce footprint of live data | Keep a copy for data recovery |
| Typical Sync Frequency | Near real-time | Weekly/Monthly | Daily upload, Real-time download | Daily |
| App Type | On-premises agent | On-premises agent | ServiceNow App | On-premises agent |
| Supported Storage | Database, Data lake, Cloud storage, File system | Database, Cloud storage | Cloud storage | Cloud storage |
Archive vs Drive
| SM Archive | SM Drive | |
|---|---|---|
| Data Recency | Obsolete data | Live data |
| Data Type | Any table, including attachments | Only attachments |
| Browsing Data | Offline browser within archived storage | Through ServiceNow only, Transparent to users |
| Restoring Data | Manual | Seamless, Data is accessible from ServiceNow |
| User Impact | Medium (obsolete data not available) | None (data always accessible) |
2. Main Data flow


- Attachment is uploaded to ServiceNow table (e.g. Incident)
- SnowMirror Drive waits for the attachment past the time that admin wants to keep it in the instance
- SnowMirror Drive offloads attachment's data to Alternative Cloud Storage (e.g. AWS, Azure) on daily schedule and adds prefix to the attachment's names (eg. [External Storage]) for better visibility of the status.
- User accesses the attachment through a record it is attached to (eg. Incident or KB article)
- SnowMirror Drive automatically downloads attachment's data from external storage, rebuilds it and removes the prefix.
3. Manual Installation through Update Sets guide
Each release has 2 different version PATCH and FRESH INSTALL
Fresh Install:
- Should be used when the application is not yet installed on the instance
- Contains all the changes for the specific version, contains all system properties, but some have empty values that needs to be filled as part of the installation
- Ensures that the application can be installed on a brand new instance, contains everything
Installation Steps
Go to "Retrieved Update Sets" > Click on "Import Update Set from XML" > Select the XML file that contains the version you want to upload and upload it

1 - Import the XML file - If the XML has been imported successfully, open the record with it's name that is on state "Loaded"

- Click "Preview Update Set Batch"

- If there are any conflicts, just click on "Accept remote update" for each

- Once there are no conflicts click "Commit Update Set Batch"

2 - The fix script called GVS_OFFLOAD Setup Application needs to be executed as it initializes some of the parts of the application
- Use the option "Proceed in Background" while running it
- This script can take up to a few minutes to finish

3 - Swap to "Data offloader" scoped application, needed to edit properties in the configuration and to run the fix script without any issue

4 - Go to "SnowMirror Drive > Workspace > Settings"

5 - In the "Basic Setup" menu go through each section:
- The first is "Delete attachment data". Check the checkbox if you want to delete them after the upload (checked by default).

- Then specify how many days attachments should remain in ServiceNow (7 days by default).

- In the next section define the tables you want to exclude from the upload (only entitlement_data by default).

- The last setting is to enter the SnowMirror Drive application license key. Please reach out to SnowMirror Drive support to acquire a license key.

6 - In the "Storage Setup" menu click on "New" and set up at least 1 Azure or AWS remote storage for the application by going through the steps. You can find detailed scenarios under Configuration of Storages.

7 - (Optional) In the "Advanced Setup" menu go through the settings and change them if needed.

8 - Go to "SnowMirror Drive > Workspace > Attachment rules" and click "Create New Attachment Rule". You can find detailed scenarios under Configuration of Attachment Rules.

9 - Fill the Name, Storage and Table fields, and add condition if needed. Click "Submit"

10 - Enable the Attachment Rule by the Enabled/Disabled toggle on the panel.

11 - Go to "SnowMirror Drive > Workspace > Home" under the "Transfer status" tab enable the automatic upload of attachments

Patch Version Install
- Should be used when the application is already installed on the instance
- Contains all the changes for the specific version, but doesn't overwrite anything specific for the instance
- Only includes the 2 XML for the scoped and global applications
Installation Steps
Go to "Retrieved Update Sets" > Click on "Import Update Set from XML" > Select the XML file that contains the version you want to upload and upload it

1 - Import the Global XML file - If the XML has been imported successfully, open the record with it's name that is on state "Loaded"

- Preview Update Set

-
If there are any conflicts, just click on "Accept remote update" for each
-
Once there are no conflicts commit the update set

2 - Import the Scoped XML file - If the XML has been imported successfully, open the record with it's name that is on state "Loaded" - Preview the record - If there are any conflicts, just click on "Accept remote update" for each - Once there are no conflicts commit the update set

3 - (Optional) The fix script called "GVS_OFFLOAD Setup Application" can be executed as it runs some of the jobs which are responsible for refreshing the data on the Workspace

4. Configuration of Attachment Rules
Set up basic Attachment Rule
I want to set up an Attachment Rule, which uploads all attachments, which are bigger than 1MB. The attachments should be stored in AWS external storage.
1 - Go to "SnowMirror Drive > Workspace > Settings > Attachment Rules" and click "Create New Attachment Rule".

2 - Give the Attachment Rule a name, define the Storage (AWS) and leave Attachment in the Table field.

3 - Click on "Set condition" and add: "Size bytes", "greater than or is" and 1048576 (1 MB in bytes). Click "Set".

4 - On the New Attachment Rule form click "Submit".

5 - Enable your new Attachment Rule by the toggle on the right side of the tile.

6 - Go back to "Home" and enable Transfer Status by the toggle.

7 - You can see the progress of the upload under "Transfer progress".

Set up process-based, advanced Attachment Rule
I want to set up an Attachment Rule, which uploads all attachments, connected to closed Incidents. The attachments should be stored in Azure external storage.
1 - Go to "SnowMirror Drive > Workspace > Settings > Attachment Rules" and click "Create New Attachment Rule".

2 - Give the Attachment Rule a name, define the Storage (Azure) and select "Incident" as Table.

3 - Click on "Set condition" and add: "State", "is" and "Closed". Click "Set".

4 - On the New Attachment Rule form click "Submit".

5 - Enable your new Attachment Rule by the toggle on the right side of the tile.

6 - Go back to "Home" and enable Transfer Status by the toggle. You can see the progress of the upload under "Transfer progress"

Set up Attachment Rule based on caller's location
I want to set up two different Attachment Rules, which upload the attachments, connected to Incidents to different storages based on the caller's department.
1 - Go to "SnowMirror Drive > Workspace > Settings > Attachment Rules" and click "Create New Attachment Rule".

2 - Give the Attachment Rule a Name, define the Storage (Azure) and select "Incident" as Table.

3 - Click on "Set condition" and first select field. Click on the small arrow next to "Caller" from the drop down list and select "Department". Finish the condition with "is" and "Customer Support". Click "Set".

4 - On the New Attachment Rule form click "Submit".

5 - Click "Create New Attachment Rule" again and fill the form with a Name, Storage (this time AWS!) and select "Incident" as Table.
6 - Click on "Set condition" and set "Caller > Department", "is", "Finance" the same way, as before. Click "Set".

7 - On the New Attachment Rule form click "Submit".

8 - Enable both Attachment Rules by the toggle on the right side of the tiles.

9 - Go back to "Home" and enable Transfer Status by the toggle. You can see the progress of the upload under "Transfer progress"

Disable and Delete Attachment Rule
I have multiple Attachment Rules enabled, but I want to disable one of them, while keeping the rest enabled, and keeping those Attachments in external storage.
1 - If you want to disable a rule go to "SnowMirror Drive > Workspace > Settings > Attachment Rules" and click the Enable/Disable toggle for the rule you want to disable.

2 - If you go back to "Home" and click on "Run Mass Download Once" button you will see the progress of the download.

3 - If you want to remove the Attachment Rule, wait until the download finishes.

4 - Go to "SnowMirror Drive > Workspace > Settings > Attachment Rules" and click on the "Delete" button of the tile, then confirm that you want to delete, by clicking "Delete" again.

5. Configuration of Storages
Add Amazon S3 Storage
Before creating a Storage Provider record for AWS S3, you must first configure your Amazon S3 storage. See the Amazon S3 setup in the admin guide.
1 - Go to "SnowMirror Drive > Workspace > Settings > Storage Setup" and click "New".

2 - Enter "AWS" as provider and click "Next".

3 - Enter the credential alias name and click "Next".

4 - Enter Access Key ID and Secret Access Key, then click "Next".

5 - Enter Storage name, Service name, container and region, then click "Next".

6 - Click "Create Storage Record".

7 - The new storage appeared on the list. Connection validation is performed automatically when the record is created or updated. Check the Status field to view the result: Online or Offline.

8 - To manually verify the connection, select the row and click "Validate Connection."

Add Azure Storage with Authentication
1 - Go to "SnowMirror Drive > Workspace > Settings > Storage Setup" and click "New".

2 - Enter "Azure" as provider and click "Next".

3 - Select "OAuth Profile" as Authentication type and click "Next"

4 - On the next pages ("Application Registry", "OAuth Entity Scope", "OAuth Credentials", "Connection Alias" and "Connection"), you have to enter the details for your authentication:

5 - On the "Storage Settings" page enter Storage name, Service name, container and region, then click "Next".

6 - Click "Create Storage Record".

The new storage appeared on the list. Connection validation is performed automatically when the record is created or updated. Check the Status field to view the result: Online or Offline.
7 - To manually verify the connection, select the row and click "Validate Connection."

Remove Storage
1 - Go to "SnowMirror Drive > Workspace > Settings > Storage Setup" and click on the name of the storage you want to delete.

2 - In the top right corner click on the 3 dots and "Delete".

3 - Confirm that you want to delete by clicking "OK".

4 - You will be reverted to the list of storages. Refresh the page.
5 - Click "Cancel" on the Storage setting page or configure a new Storage if you want to add a new instead.
