1. A host computing device comprising: a local memory including a memory area caching a subset of a plurality of grains corresponding to a binary large object (blob) representing a virtual disk image for a virtual computing instance running in the host computing device, the grains including a first grain, the blob having a plurality of subparts stored by a cloud service connected to the host computing device via a network; and a processor programmed to: present the blob to the virtual computing instance for access by the virtual computing instance as the virtual disk image for the virtual computing instance; define a grain map that is stored in the local memory and correlates the plurality of grains of the virtual disk image to the plurality of subparts of the blob; receive, from the virtual computing instance, a data operation directed to the first grain; determine whether or not the first grain is cached in the memory area; if the first grain is cached in the memory area, perform the received data operation on the memory area for said first grain without communicating via the network; if the first grain is not cached in the memory area, identify via the defined grain map that is stored in the local memory a subpart of the blob corresponding to the first grain, obtain the first grain from the subpart of the blob via the network, and perform the received data operation on the first grain obtained from the subpart of the blob via the network; and confirm completion of the data operation to the virtual computing instance, wherein the data operation comprises a data read operation or a data write operation, and wherein the processor is further programmed to: (i) confirm completion of the data write operation to said virtual computing instance before completing the received data write operation on the first grain to reduce latency perceived by said virtual computing instance; and (ii) perform the data read operation and evaluate partial reads for early return to said virtual computing instance.