A method of executing a function in a data center of a cloud computing system comprising a plurality of data centers, each of the plurality of data centers comprising one or more compute resources, the method comprising: receiving, at a function distributor from an application on a client device, a first request to execute the function, the first request comprising an identifier of the function; selecting, by the function distributor, a first data center of the plurality of data centers to execute the function, wherein the first data center is geographically closest to the client device where the application is running; and causing, by the function distributor, the first data center to execute the function, including redirecting the application to the first data center, such as by the function distributor sending a HTTP or HTTPS response over the network to redirect the application to the first data center by URL redirection; receiving, at the function distributor from the function, a second request for storage resources, the second request comprising global identifiers of storage locations across the plurality of data centers; selecting, by the function distributor, a second data center to provide the storage resources, wherein the second data center which provides the storage resources is geographically closest to the first data center which executes the function; translating the global identifiers to identifiers of specific storage locations in the second data center; and causing, by the function distributor, the function to utilize the storage resources of the second data center based on the identifiers of specific storage locations by redirecting the function to the selected second datacenter. receiving, at a function distributor from an application on a client device, a first request to execute the function, the first request comprising an identifier of the function; selecting, by the function distributor, a first data center of the plurality of data centers to execute the function, wherein the first data center is geographically closest to the client device where the application is running; and causing, by the function distributor, the first data center to execute the function, including redirecting the application to the first data center, such as by the function distributor sending a HTTP or HTTPS response over the network to redirect the application to the first data center by URL redirection; receiving, at the function distributor from the function, a second request for storage resources, the second request comprising global identifiers of storage locations across the plurality of data centers; selecting, by the function distributor, a second data center to provide the storage resources, wherein the second data center which provides the storage resources is geographically closest to the first data center which executes the function; translating the global identifiers to identifiers of specific storage locations in the second data center; and causing, by the function distributor, the function to utilize the storage resources of the second data center based on the identifiers of specific storage locations by redirecting the function to the selected second datacenter.