1. A computer-implemented method for creating a controller based remote solution, comprising:receiving, at a code virtualization server (CVS), via a graphical user interface (GUI) of a user device remote to the CVS, at least one of
a selection of a blank template in which a controller device is selected, and a solution corresponding to a conventional system is built via the GUI, or
a selection of a pre-defined solution comprising a controller device installed in a conventional system,
the controller device operable to monitor and control the conventional system, wherein the controller device and the conventional system are remote to the user device and the CVS;
receiving, via the GUI, at the CVS, at least one parameter of the selected solution, the at least one parameter comprising at least one of a monitored parameter of the conventional system, a condition for the monitored parameter, or a remote program parameter for executing a remote program, wherein the remote program is executed remote to the user device and the controller device;
generating, on the CVS, an automatically generated controller program (AGCP) for execution by the controller device, the AGCP comprising a call for executing the remote program based on the condition being met; and
sending the AGCP for installation on the controller device.