Deploying an Execution Agent

Execution Agent is a secure connection between Enterprise Service Automation (ESA) and the integrated Application. The Agent is used to deploy apps and execute the discrete operations on the Mule runtime on the target system.

A SaaS implementation of ESA comes with an in-built Cloud Agent that can be used to connect to the apps that are available over the internet. However, the systems that are internal to the organization and do not have public connectivity cannot be accessed via the default Cloud Agent. In such cases, a tenant-specific Execution Agent is deployed. This is called a Hybrid Implementation where the Automation Server is available on Cloud (as a SaaS implementation) and the Automation Execution Agent is configured on the customer's On-premise server or Private cloud. The On-Premise Automation Execution Agent facilitates integration with systems that are available only within the Customer network and cannot be accessed over the internet.

It is essential that the Execution Agent is setup and running to execute the MuleSoft operations. Whenever a new Mule App is added to the tenant, ensure that the app is deployed on the required Execution Agent.

Create Execution Agent

Before implementing the Automation Execution Agent on-premise, the tenant administrator should create an Agent in the Serviceaide Automation portal. This generates agent details such as Agent External ID and Secret Key, which are configured in the properties files to enable the Agent.

To create an Agent, follow the below steps:

  1. Navigate to the Execution Agents workspace on the Serviceaide Automation portal.

  2. All the configured Agents and their current status are listed on the page.

  3. Click on Create agent.

  4. Add the following details:

    1. Add the Agent Name and Description.

    2. Add the Server Address where the Execution Agent is implemented.

    3. Provide the Port number used to establish the connection.

  5. Click on Create.

  6. The Execution agent is created. A pop-up appears with Agent Access Key. The Key is used in the agent deployment process. Copy and keep the key on the clipboard or on a text editor to be used later.

The Agent is now available in the Execution Agents list in the Pending Deployment state.

Deploy the Agent

The Agent should now be deployed and configured on the On-Premise server. Once deployed, the Agent can be used to execute the operations. The following details are configured in the Master.properties file to connect the Execution agent (on-premise) to the Automation Tenant:

  • Agent External ID refers to the Agent’s external ID used by the third-party applications to identify the agent to be used to execute the operation.

  • Tenant External ID is the unique identifier for your Serviceaide Automation tenant that is used by the external application to connect to the system.

  • Agent Access Key is the secret Key (created and copied in the Create Execution Agent --> step 6) used to authenticate and authorize the connection to the Execution Agent. The key is generated when the Execution Agent is created.

Refer to the ESA On-premise Agent v2.0.0 Runbook for detailed instructions on implementing the Execution Agent on the customer’s environment.

Once the Execution Agent is deployed on the server with the above details, the Execution Agent is moved to the ‘Running’ state and can now be used for operations execution.

Deploy Apps

In order to execute Mule Operations using the Execution Agent, the Mule App should be deployed on the Execution agent.

To do so, follow the below steps:

  1. Select the required Agent in the list and open the Edit Agent screen.

  2. Click on Deploy Mule Apps.

  3. On the pop-up screen, click on the Deploy Apps list. You can now see the list of all the Apps that can deployed on the Execution Agent.

  4. Select the required App.

  5. You may ‘set the Agent as the Default for the selected Apps’.

  6. Click Deploy.

The required App(s) should be available in Deployed Apps list for the Execution agent.

In addition to the Mule Operations, the On-Premises Execution Agent can also be used to execute REST Operations for Apps available on On-Premises network. Add the REST App to the list of Deployed Apps on the On- Premise Agent and click Deploy.

Regenerate Key

In case you do not have the Access Key for the Agent generated at the time of creation, you may Regenerate the Key and use the same during implementation.

To do so, follow the below steps:

  1. Select the required Agent in the list and open the Edit Agent screen.

  2. Click on Regenerate Key.

  3. On the confirmation screen, click on ‘Yes’ to regenerate the key. Once a new key is generated, the older key cannot be used.

  4. A pop-up appears with the new Agent Access Key. Copy the key and save it in a text editor for future use.