Our intranet application is used to document and store office files. Both app and server are hosted remotely on the same server. Due to fact that our app server is changed every couple of years, we want to store files on a machine/location other then the app server.

Since app and files were at the same location it was easy to manipulate files, but with this change I am interested what should we be aware of?

We need to be able to upload, edit, rename, delete files. Are cloud service only way to make this happen?

  • I don't think this is on topic here (maybe ServerFault would allow it). In general a cloud server isn't that different from a local solution for most aspects. If it's just about file handling you would define some type of 'access point' if this means a mount point (maybe in addition with some symbolic links) or FTP access or whatever. In case the server changes you just adjust how the filesystem is mounted, adjust symbolic links etc) so you have the same folder structure on the new machine. At least that's a basic solution for simple cases, a lot depends what files and what you do with them. – thorsten müller Sep 24 '15 at 12:38

A simple approach could be:

  • Set up a file server. For good performance it should have good connectivity to the app server, preferably in the same network.

    If you choose the SMB protocol, this could be a windows file server or a linux server using samba.

  • Mount the share on the app server as a drive letter.

    This can be done using net use Q: \\FileServer\ShareName on the command line. Windows explorer includes some GUI for this as well, but I forgot the details.

Then use the files as if they were local. The latency and bandwidth limitations of the connection might lead to reduced performance, especially if the server is far away.

I think SMB is the only protocol where mounting is built into windows, but you could use other protocols by installing appropriate third party software.

A different approach modifying your application to use some storage API. For example the Amazon S3 API is relatively popular. Note that this does not require you to use Amazon S3, since there are other implementations of this API.

  • is it possible to mount a folder in windows outside a local network? – John Sep 24 '15 at 14:12
  • I haven't tried it, but specifying an IP or a dns resolvable name might work. Might require some adjustments to the server to enable serving to external addresses. The problem with this is that I'm a bit uncomfortable with a world accessible SMB server, even if the ACLs are properly configured. – CodesInChaos Sep 24 '15 at 14:17
  • 1
    A VPN might be the better choice, that way the share acts as if it were on a local network and you have another layer of isolation from the hostile internet. – CodesInChaos Sep 24 '15 at 14:17
  • Do you know if Amazon, Azure, CDNs etc have a direct access to files or it is all based on buckets, containers etc. If I am properly informed files are not immediately available after upload... – John Sep 24 '15 at 14:39
  • @John I can't help you with that since I haven't used any of them. – CodesInChaos Sep 25 '15 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.