1. A method comprising: detecting a request from a client device to start a computing application; on a virtual instance of a machine, provisioning an application container for executing the computing application, in response to the request from the client device; and monitoring network parameters and utilization of a computing resource associated with the computing application executing on the virtual instance of a machine, the network parameters including an amount of available communication bandwidth; generating a work distribution model for the computing application, the work distribution model indicating a first portion of the computing application to be executed on the client device and a second portion of the computing application to be executed on the virtual instance of a machine, the work distribution model being based on one or more of: the utilization of the computing resource on the client device, the amount of available communication bandwidth, and a permissible latency associated with the computing application.