Changing Activate Architecture
This document details how to move Activate components, please read this document in full before attempting any architecture changes.
Moving the Activate Database
The Activate SQL Server database contains all business rules and the Activate Metastore. All other tiers access this to provide this information. The location of the database is stored in the registry on EACH server that contains an Activate component.
The location is stored in the appsettings.json file in C:\Program Files\Activate\Instances\<instance name>\appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"CorsOrigins": [
"http://localhost"
],
"AllowedHosts": "*",
"InstanceName": "Activate",
"InstancePath": "C:\\Program Files\\Activate\\Instances\\Activate\\",
"AssemblyPath": "C:\\Program Files\\Activate\\Instances\\Activate\\",
"TraceConfigPath": "C:\\Program Files\\Activate\\Instances\\Activate\\",
"InstallationType": "full",
"ConfigVersion": "5.0.0.0",
"ConnectionString": "server=activatesql;Encrypt=False;Integrated Security = true;Initial Catalog=Activate;"
}
Changing the "activatesql" server above will change the location of the Activate database. Any valid Microsoft SQL Server connection string can be used - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
All Services must be stopped before moving any database components on ALL servers.
We recommend backing up and restoring the database to the new server.
It is important that the Collation of the temp database is the same as the Activate database on the new server. If this is a dedicated database Server for the Activate Database then you can change the Default Collation of the Server to be the same as the current Activate Database’s collation. Otherwise we recommend engaging a SQL DBA to assit.
Process
- Stop all Windows Services - {{}} + IIS etc. on all Servers
- Backup the existing database
- On the New SQL Server, create any server based objects that have been created for the Activate Service. You will need to at least create a role called 'Activate Administrators' and add any users/logins from the old server to it. Also check that there are logins for the Activate administrator users on the new server
- Restore the database
- Ensure that the appropriate users and roles have access to the database - mirror the previous access on the old SQL server
- Change the connection string in the registry on the Activate Job Server to point to the new SQL Server
- Run Activate Studio and ensure that you can connect to the Database on the new SQL server
- Change the setting for SQLServer to the new SQL Server at //Resources/Configuration/SqlServer
- Login as the Activate Orchestrator service account
- Run Activate Studio and ensure that you can connect to the database
If you encounter any connection issues, check that the access permissions from the old SQL server are mirrored to the new SQL server.
Moving Activate Orchestrator
Activate Orchestrator is the server component that performs all background processing of Activate jobs. The component requires a connection to the Activate Database and has a reference to it within the Database that is used by the Web component when submitting Jobs to the Activate Server. The setting is stored in //Resources/Configuration: JobServer in Activate. This setting should contain the name of the job server to which submit requests.
All Services on ALL Actiate servers must be stopped before moving any database components
Process
1. Ensure that any pre-requisite components are installed on the new Activate Server
- Server Roles and Features are installed as per the Activate Installation Guide
- Any Microsoft Exchange tools that are required for your environment
- Other Third-party components
2. Login as the Activate Job Service Account
3. Install Activate on the new Activate Server
4. Run Activate Administrator and run the FULL Installation Configuration
Use the Installation Guide for a new install to guide you except Connect to the existing database instead of creating a new one
5. Run Activate Administrator and ensure that you can connect to the database.
It is recommended that you make the IP address for the new Activate Server the same as the old Activate Server (once the old Activate Server is shut down) to limit other changes required in the infrastructure such as Firewall rules and any Gateway changes.
Moving the Activate Web Server
The Activate Web Server Tier runs under IIS and is used by all users to connect to and view Activate. It is recommended that Activate be referenced by users using a DNS alias. This allows the service to be moved to a new server without requiring any connection changes by users. However, if a server name has been used instead - all external references to Activate will need to be changed - all previous notification messages etc will NOT work unless an alias is created for the old server name that points to the new server.
Process
- Change the DNS alias to the new Server name
- Install the Activate Web portal as per Install Activate on the new server.
- If this is a different server from the job server: Run Activate Studio and select 'Client Only' install in the configuration wizard. This sets the database connection string into
- Connect to localhost/activate
- Connect to http://ServerName/Activate
- Open Activate Studio
- Modify //Resources/Configuration/WebServer to the new server DNS name.
- Restart IIS