Configuring the ArcGIS Enteprise Environment
Once the EGIS infrastructure has been created and the ArcGIS Enterprise software has been installed, we wish to automate the configuration of the EGIS environment. This includes tasks such as creating users, groups, and portal items, configuring site security, and customizing the look and feel of the ArcGIS Enterprise Portal.
In reality, there are two scenarios that need to be addressed:
Creating a Baseline EGIS Environment
At the initial deployment, we'll want to have a customized instance of ArcGIS Enterprise ready for users to join and to start using. This environment should be configured with:
the portal users necessary for the administration and maintenance of the platform
a set of groups used across the platform (e.g., the Basemaps group)
a baseline set of portal items (i.e., basemaps and other items likely to be widely used across Transport Canada)
required security settings
the EGIS custom look and feel
These items can be configured using a Python script and some associated configuration files. The obvious advantage here is that these scripts are infrastructure as code, and can be maintained under source control under a defined governance process.
Periodically, or perhaps on an ongoing basis, the EGIS team may review and update the baseline environment configuration.
Example: Adding new baseline data services
Suppose, for example, that a new set of basemap services become available to Transport Canada. Since these are basemap services, and are likely to be widely relevant to users of TC-EGIS, the EGIS team wants to add these to the deployed environments, and also to add these services to the baseline EGIS deployments.
The EGIS team creates a Python module (in the Dev environment) that automates the addition of these services in an EGIS deployment. Once the script has been developed and tested in the Test environment, it's ready to be applied to the Prod environments. The EGIS team runs the script against the idle Prod environment, and validates that environment (through automated testing). Next, the live and idle environments are switched, so that the new services are available in the live Prod environment. Finally, the second (now idle) Prod environment is updated with the new services.
Pending a successful rollout to each of these environments, the baseline deployment for each environment is updated to incorporate the new Python module so that future baseline deployments include these services.
Recovering the EGIS Environment
Once a baseline environment is deployed, users will join and begin creating content. If the environment suffers a catastrophic failure, the EGIS team will need a way to quickly recover the environment. While the EGIS team will have automation tools available to recreate a baseline environment, the baseline environment does not include all of the non-core users and the groups and content that they will have created. Another strategy is needed here.
ArcGIS Enterprise includes a utility for backing up and restoring an ArcGIS Enterprise site. The configurations the EGIS team creates to perform the backup and recovery can be placed under source control and subject to a governance process.