Autoscaling with Capistrano, NFS and Runit
bugsnag.comFrom the article:
> NFS lets you share a directory between multiple servers (think of it as Dropbox for servers).
So, ignoring that NFS is nothing like Dropbox, there's nothing wrong per se with using NFS on a cloud setup for shared storage, this setup assumes that your NFS server will always be up. For anyone who has worked with NFS servers, you'll know that this isn't always the case. (Who here has lost a day when your NFS mounted home directory won't load?)
And you don't want to deal with a down NFS server when you're trying to auto-scale. Somewhere you'll always have a single point of failure, but I've always tried to make NFS not be it.
NFS is a single point of failure. If something goes wrong on your NFS host, you'll break your entire cluster. That obvious oversight combined with calling it "Dropbox for servers" makes me think that whoever designed this doesn't understand NFS.
Well hold on with the NFS hate everyone. I worked for a (very large, very deep-pocketed) web hosting company around 10 years ago, and they used NFS to deploy their software, configs (this was just before Puppet started getting popular), and user data. This worked VERY well. Granted, they were running on some pretty heavy iron (a couple dozen NetApp filers, all clustered 11 ways to Sunday) to make sure that the NFS facilities stayed up, but If You Know What You're Doing(tm) and err on the 'fast' and 'good' sides of the 'fast, cheap, and good - pick two' aphorism, NFS is quite useful.
Exactly - you were working with a well engineered system that could handle failover. Simply installing an NFS server on an Ubuntu VM isn't going to come close to the reliability that you'd want for this job.
Good luck with those stale NFS file handles...
"NFS lets you share a directory between multiple servers (think of it as Dropbox for servers)."
Oy vey. ;)
More like, "Dropbox is like NFS for desktops"
You're probably better if using Cephfs or Lustre then NFS. Linearly scalable, no SPOF (single point of failure).
AFS is quite well suited for this use case: http://en.wikipedia.org/wiki/Andrew_File_System