We are running an application in Azure. Due to lack of features in Azure, some parts of this application is running in Amazon EC2. We would like to migrate these parts to Azure, but I'm not sure whether it's yet possible.
1) SFTP server. While it would be possible to run this in a VM Role, the lack of built in durable disk storage has made it cumbersome. As far as I understand, I can now set up a virtual machine with a durable drive, simply install the SFTP server software
and start using it. Files stored on the machine will remain and be backed by Azure Storage. Correct?
2) Mail server. We have not been able to run this in Azure, since the SMTP RFC's states that DNS/MX records cannot contain CNAME records. Since no fixed IP addresses have been available in Azure, we would have to add a CNAME host name (something.cloudapp.net)
to the MX record which simply is not supported by the SMTP protcol. As far as I understand, this is still an open issue. Fixed IP addresses are not available in Windows Azure. Correct?
3) On premise/off site backup. As I understand the new functionality, the hard drive data in a virtual machine is replicated within a data center and optionally geographically distributed. This, however, does not prevent from application errors accidentally
deleting data, or hackers wiping the disk after having gained access. We want to perform on-premise backup of the data in Azure , and store this off-site, for instance in a bank vault. As I understand it, the drive image is stored in Blob Storage, so I guess
it would be possible to download the VHD file directly from blob storage. But I also guess that this file is being written to by our virtual machine, which would make the consistency of the file we've downloaded unclear. Is there some way to backup the durable
1) When using "Virtual Machines" feature of Windows Azure, data is persisted to storage.
2) Not sure, what you meant by Fixed IP's? The VIP of the VM will be persisted until you delete the deployment. If you deploy the application again, there is no guarantee that previous IP will
be assigned to your deployment.
3) VHD's are stored in storage itself. While it is possible to copy the files from storage to on-premise machines, I'm not sure, if the VHD's copied will be in usable form. I will check and
revert back on this.
Regarding number 2. I just read about the IP address being the same until the deployment is deleted. Wasn't aware of this. Thanks! I wonder whether its possible to have reverse DNS records now though (a requirement for running a mail server). Will try to
find info on this.
Regarding using cloudXplorer like this. If I perform these steps, will the VHD file be in a transactionally correct state? Is it guaranteed that the NTFS driver in the virtual machine will operate in a way in conjunction with blob storage so that it's safe
to assume that the VHD will be always be in a consistent state.
I assume that cloudXplorer is just an example and that any tool which can be used to copy blobs would do? (I use Cloud Storage Studio from RedGate)
The default setting for a Windows Azure OS disk running a Virtual Machine is to have the read and write cache turned on, for faster boot times. While the write cache is small, it does mean your transactions committed in the VM are not gauranteed to yet be
transactionally written. However, I have found that Windows typically handles this small amount of transactional issue well but i would not recommend attempting this with any true datastore nor depending upon it.
Data Disks you attach to a Virtual Machine hosted in Windows Azure storage are connected with
no cache on by default, meaning writes to this disk are then transactionally gauranteed.
You can also turn off the write cache on the OS disk using the command line tools to give that transcational gaurantee as well.
Here is a snippet for how to do it using PowerShell: