A method for operating a cloud based computing system that does not support thin clones for booting a Virtual Machine, "VM", hosted by a remote computing device using a shared Virtual Hard Disk, "VHD", the shared VHD being a boot disk shared by a plurality of VMs, wherein a plurality of versions of the shared VHD are stored in a cloud storage, comprising: receiving, by a cloud server, a request for accessing Virtual Hard Disk, "VHD", data in a version of the plurality of versions of the shared VHD; in response to the request, performing operations by the cloud server to verify that the VM has authority to access information in a relational database; in response to a verification that the VM has authority, extracting, by the cloud server, at least a first address specifying the version of the shared VHD from the request, translating, by the cloud server, the first address into a second address specifying a second location in a page of the cloud storage where the VHD data is stored, the second location includes stored de-duplication data in the page for the shared VHD, using at least a portion of the second address to obtain, by the cloud server, cloud storage access information required to obtain access to the VHD data stored in the cloud storage, communicating from the cloud server to the remote computing device the second address and the cloud storage access information required for obtaining access to the VHD data stored in the cloud storage, and booting the VM on the remote computing device using the shared VHD. receiving, by a cloud server, a request for accessing Virtual Hard Disk, "VHD", data in a version of the plurality of versions of the shared VHD; in response to the request, performing operations by the cloud server to verify that the VM has authority to access information in a relational database; in response to a verification that the VM has authority, extracting, by the cloud server, at least a first address specifying the version of the shared VHD from the request, translating, by the cloud server, the first address into a second address specifying a second location in a page of the cloud storage where the VHD data is stored, the second location includes stored de-duplication data in the page for the shared VHD, using at least a portion of the second address to obtain, by the cloud server, cloud storage access information required to obtain access to the VHD data stored in the cloud storage, communicating from the cloud server to the remote computing device the second address and the cloud storage access information required for obtaining access to the VHD data stored in the cloud storage, and booting the VM on the remote computing device using the shared VHD. extracting, by the cloud server, at least a first address specifying the version of the shared VHD from the request, translating, by the cloud server, the first address into a second address specifying a second location in a page of the cloud storage where the VHD data is stored, the second location includes stored de-duplication data in the page for the shared VHD, using at least a portion of the second address to obtain, by the cloud server, cloud storage access information required to obtain access to the VHD data stored in the cloud storage, communicating from the cloud server to the remote computing device the second address and the cloud storage access information required for obtaining access to the VHD data stored in the cloud storage, and booting the VM on the remote computing device using the shared VHD.