# Add external prediction environments
URL: https://docs.datarobot.com/en/docs/workbench/nxt-console/nxt-prediction-environments/nxt-ext-pred-env.html

> Manage and control user access to environments on the prediction environment dashboard and specify the prediction environment for any deployment.

# Add external prediction environments

Models that run on your own infrastructure (outside of DataRobot) may be run in different environments and can have differing deployment permissions and approval processes. For example, while any user may have permission to deploy a model to a test environment, deployment to production may require a strict approval workflow and only be permitted by those authorized to do so. External prediction environments support this deployment governance by grouping deployment environments and supporting grouped deployment permissions and approval workflows.

On the Prediction Environments page, you can review the DataRobot prediction environments available to you and create external prediction environments for both DataRobot models running on the [Portable Prediction Server](https://docs.datarobot.com/en/docs/classic-ui/predictions/port-pred/pps/portable-pps.html) and remote models monitored by the [monitoring agent](https://docs.datarobot.com/en/docs/classic-ui/mlops/deployment/mlops-agent/index.html).

> [!NOTE] Preview
> The monitoring agent in DataRobot is a preview feature, on by default.
> 
> Feature flag: Disable the Monitoring Agent in DataRobot

The monitoring agent typically runs outside of DataRobot, reporting metrics from a [configured spooler](https://docs.datarobot.com/en/docs/classic-ui/mlops/deployment/mlops-agent/monitoring-agent/spooler.html) populated by calls to the DataRobot MLOps library in the external model's code. However, you can also run the monitoring agent inside DataRobot by creating an external prediction environment with an external spooler's credentials and configuration details.

To create a prediction environment:

1. ClickPrediction Environmentsand then clickAdd prediction environment.
2. In theAdd prediction environmentdialog box, complete the following fields: FieldDescriptionNameEnter a descriptive prediction environment name.Description(Optional) Enter a description of the external prediction environment.PlatformSelect the external platform on which the model is running and making predictions.
3. UnderSupported model formats, select one or more formats to control which models can be deployed to the prediction environment, either manually or using the management agent. The available model formats areDataRobotorDataRobot Scoring Code only,External Model, andCustom Model. ImportantYou cannot select bothDataRobotandDataRobot Scoring Code only.
4. UnderManaged by, select one of the following: OptionDescriptionSelf-managedManually manage models on your infrastructure and report data manually to DataRobot.Managed by Management AgentManage models with themanagement agenton your own infrastructure.Managed by DataRobotManage models with the management agent inside DataRobot. This option is available if thePlatformselected isAzure,Amazon Web Services (AWS),SAP AI Core, orSnowflake.
5. (Optional) To run the monitoring agent in DataRobot, underMonitoring settings, select aQueue: The default setting isNo Queue. Amazon SQSGoogle Pub/SubAzure Event HubsSelect theAWS S3 Credentialsfor your Amazon SQS spooler and configure the following Amazon SQS fields:FieldDescriptionRegionSelect the AWS region used for the queue.SQS Queue URLSelect the URL of the SQS queue used for the spooler.Visibility timeout(Optional) Set thevisibility timeoutbefore the message is deleted from the queue. This is an Amazon SQS configuration not specific to the monitoring agent.After you configure theQueuesettings you can provide anyEnvironment variablesaccepted by the Amazon SQS spooler. For more information, see theAmazon SQS spooler reference.Select theGCP Credentialsfor your Google Pub/Sub spooler and configure the following Google Pub/Sub fields:FieldDescriptionPub/Sub projectSelect the Pub/Sub project used by the spooler.Pub/Sub topicSelect the Pub/Sub topic used by the spooler; this should be the topic name within the project, not the fully qualified topic name path that includes the project ID.Pub/Sub subscriptionSelect the Pub/Sub subscription name of the subscription used by the spooler.Pub/Sub acknowledgment deadline(Optional) Enter the amount of time (in seconds) for subscribers to process and acknowledge messages in the queue.After you configure theQueuesettings you can provide anyEnvironment variablesaccepted by the Google Pub/Sub spooler. For more information, see theGoogle Cloud Pub/Sub spooler reference.Select the Azure Service PrincipalCredentialsfor your Azure Event Hubs spooler and configure theAzure SubscriptionandAzure Resource Groupfields accessible using the providedCredentials:Azure Service Principal credentials requiredDataRobot management of Scoring Code in AzureML requires existing Azure Service PrincipalCredentials. If you don't have existing credentials, theAzure Service Principal credentials requiredalert appears, directing you toGo to Credentialstocreate Azure Service Principal credentials.To create the required credentials, forCredential type, selectAzure Service Principal. Then, enter aClient ID,Client Secret,Azure Tenant ID, and aDisplay name. To validate and save the credentials, clickSave and sign in.You can find these IDs and the display name on Azure'sApp registrations > Overviewtab (1). You can generate secrets on theApp registration > Certificates and secretstab(2):Next, configure the following Azure Event Hubs fields:FieldDescriptionEvent Hubs NamespaceSelect a validEvent Hubs namespaceretrieved from the Azure Subscription ID.Event Hub InstanceSelect anEvent Hubs instancewithin your namespace for monitoring data. After you configure theQueuesettings, you can provide any additionalEnvironment variablesto the agent.
6. Once you configure the environment settings, clickAdd environment. The environment is now available from thePrediction environmentspage.

---
