A system, comprising: one or more computer systems, each computer system of the one or more computer systems including one or more processors coupled to one or more memories, the one or more memories having computer-executable instructions stored thereupon which, when executed by the one or more processors, cause the system to: expose a public web service application programming interface, API, comprising: executable code configured to execute a command within a virtual machine, VM, instance, the command being specified in data identifying a list of commands available for execution within the VM instance and identifying program code for performing each of the commands; and executable code configured to request the data identifying commands that can be executed within the VM instance; periodically cause a request to be transmitted to a software component executing in the VM instance for the data identifying the commands that can be executed within the VM instance; receive the data identifying the commands that can be executed within the VM instance; store the data identifying the commands that can be executed within the VM instance in a cache; receive a call at the exposed API requesting the data identifying the commands that can be executed within the VM instance; utilize the data identifying the commands that can be executed within the VM instance stored in the cache to respond to said calls at the exposed API requesting data identifying commands that can be executed within the VM instance; receive a call at the exposed API to execute the command within the VM instance; and cause a request to execute the command to be transmitted to the software component executing in the VM instance, the software component configured to execute the command in the VM instance in response to receiving the request. expose a public web service application programming interface, API, comprising: executable code configured to execute a command within a virtual machine, VM, instance, the command being specified in data identifying a list of commands available for execution within the VM instance and identifying program code for performing each of the commands; and executable code configured to request the data identifying commands that can be executed within the VM instance; executable code configured to execute a command within a virtual machine, VM, instance, the command being specified in data identifying a list of commands available for execution within the VM instance and identifying program code for performing each of the commands; and executable code configured to request the data identifying commands that can be executed within the VM instance; periodically cause a request to be transmitted to a software component executing in the VM instance for the data identifying the commands that can be executed within the VM instance; receive the data identifying the commands that can be executed within the VM instance; store the data identifying the commands that can be executed within the VM instance in a cache; receive a call at the exposed API requesting the data identifying the commands that can be executed within the VM instance; utilize the data identifying the commands that can be executed within the VM instance stored in the cache to respond to said calls at the exposed API requesting data identifying commands that can be executed within the VM instance; receive a call at the exposed API to execute the command within the VM instance; and cause a request to execute the command to be transmitted to the software component executing in the VM instance, the software component configured to execute the command in the VM instance in response to receiving the request.