1. A computing device comprising: a network interface for communicatively coupling the computing device to a remote computing node; one or more memories having stored thereon computer readable instructions that, upon execution by the computing device, cause the computing device at least to: initiate execution of an application program on the computing device, the application program comprising a plurality of functions including a first function, wherein a first copy of the application program is stored on the computing device and a second copy of the application program is stored on the remote computing node; select the first function of the plurality of functions for execution on the remote computing node, the selection based at least in part on information indicative of a priority for executing the first function on the remote computing node being higher than a second priority for executing a second function of the plurality of functions on the remote computing node, and based at least in part on information indicative of a capability or environment of the computing device to execute the first function; and receive, from the remote computing node, information indicative of a result of executing the first function on the remote computing node.