1. A method for scheduling a task including at least one sub-task, on one or more computing devices in a distributed computing environment, the method comprising: identifying, by one or more processors, a set of computing devices from the one or more computing devices, based on an availability of a set of computational resources on the set of computing devices, wherein the set of computational resources are required to execute the at least one sub-task; ranking, by the one or more processors, each computing device in the set of computing devices based on at least one of a monetary cost or a network cost, associated with the execution of the at least one sub-task on the each computing device; and allocating, by the one or more processors, the at least one sub-task to at least one computing device from the set of computing devices for execution based on at least one of the ranking or an acceptable success probability associated with the execution of the at least one sub-task, wherein the acceptable success probability corresponds to a service level agreement parameter associated the task.