A method of optimizing cloud computing systems by performing data processing at the edge of the network, near the source of the data. Edge computing pushes applications, data and computing power (services) away from centralized points to the logical extremes of a network.