Go 12.3 release has modifications to the architectural components of Go Agents. The following diagram summarizes the architectural change.
The primary change on the agent infrastructure is that the agent bootstrapper has been made lightweight and a new module called agent launcher has been introduced. Following is the rationale behind the change.
Agent bootstrapper is a nanny or daemon that manages a single Go agent process. The bootstrapper also ensures that the agent process is running and is good to service task requests.The presence of the bootstrapper also gives the ability to upgrade Go agents automatically through the Go server.
Given this role of the bootstrapper, it's best to have just enough bootstrapping code in the agent bootstrapper module. It provides the ability to enhance the rest of the modules automatically through Go Server.This has been the thought behind introduction of a new module called the agent-launcher and the bootstrapper now contains bare minimum bootstrapping code.
From the administration perspective, there are still two java processes per agent installation - one the bootstrapper and other the agent. The launcher runs inside the bootstrapper process itself. However, module separation has been maintained in such way that the launcher can also be upgraded automatically through the Go server.
In summary, with 12.3 we have a slim agent boostrapper; an upgradable agent launcher and agent.
This change makes the 12.3 agent infrastructure incompatible with older versions of Go-Server.
So the process to switch an existing installation to v12.3 of Go is as follows
1. Upgrade the go server.
2. It will upgrade the Go agents to 12.3 automatically.
3. After the previous step - Go agent will be v12.3 but the agent-launcher will not be present since the agent bootstrapper is still old.
4. Bootstrapper change requires a manual upgrade of the agent installation. Bootstrapper communicates with Go server and helps in upgrading all the agent modules but it lacks the ability to upgrade and re-launch itself, hence a manual upgrade is necessary. This upgrade can be deferred until there is a real need and of course we will keep you posted when the situation arises.