There should be a general backup NPM service somewhere though. Just like there are with Linux distro package systems. Maybe it could be a few hours behind in terms of replication, but generally that is good enough for nearly everyone.
Is it possible to point to a folder containing the packages instead?
I noticed every package installed is cached locally and since I'm usually reinstalling the same packages it would be great if I could point to a folder and let npm install packages and their dependencies from there. Extra points if it could fallback to the official registry if it fails to find a package in the local folder.
The reason for the comfort of Node is imho. NPM and the way it easily gives you fast access to a lot of functionality. That being said it is worrysome that NPM has the size of 80GB+ as far as I know and mirroring is not quite that appealing. I wonder what spoke against a repository-list instead URL of a single-repository URL with fallbacks when they first developed NPM.
Our sincere apologies for tonight's downtime. We're back up now after 30 incredibly frustrating minutes, but we're making changes to ensure this incident can't be repeated.
The root cause was a network failure at our CDN, Fastly. The incident was limited to a single Point of Presence (POP) in San Jose, so if you were in Europe or Asia you didn't see anything wrong, but obviously at this time of day most traffic is from the west coast.
While our uptime over the last few months has been pretty great, in the last week we've had two non-trivial incidents. That's unacceptable to our users, and to us, and we're not just sitting around hoping it doesn't happen again, but will be making fundamental architectural changes to eliminate the sources of failure we've seen.
99.9% of requests to npm over the last 3 months have been hitting things other than couch. Binaries are being served directly from disk by nginx, and 99% of JSON GETs are served from our CDN's cache. Couch is still the source of truth, but we treat it much more like a database than an app these days, and it's been much more reliable that way. The only time you're really hitting couch directly these days is when you publish.
Almost none of our downtime since February (when we sorted out some bugs in our app that were affecting couch performance) is attributable to couch. Mostly it has been network-related problems at the caching layer, and the fixes we need to make involve making failover faster and more reliable, as failures are inevitable in any large distributed system.
Yes, we had another 20 minutes of downtime 4 hours later, caused by our CDN accidentally re-instating their broken datacenter. The second outage is documented here: http://status.npmjs.org/incidents/jc65gc8tzk5v
25 comments
[ 4.1 ms ] story [ 48.3 ms ] threadGood thing our devs all rely on this for successful app builds...
NPM: http://status.npmjs.org/incidents/nz0kw54kdvfq
Fastly: http://status.fastly.com/incidents/381z6ydt7ddb
The Guru Meditation error originated with Amiga: http://en.wikipedia.org/wiki/Guru_Meditation
I noticed every package installed is cached locally and since I'm usually reinstalling the same packages it would be great if I could point to a folder and let npm install packages and their dependencies from there. Extra points if it could fallback to the official registry if it fails to find a package in the local folder.
The root cause was a network failure at our CDN, Fastly. The incident was limited to a single Point of Presence (POP) in San Jose, so if you were in Europe or Asia you didn't see anything wrong, but obviously at this time of day most traffic is from the west coast.
While our uptime over the last few months has been pretty great, in the last week we've had two non-trivial incidents. That's unacceptable to our users, and to us, and we're not just sitting around hoping it doesn't happen again, but will be making fundamental architectural changes to eliminate the sources of failure we've seen.
Almost none of our downtime since February (when we sorted out some bugs in our app that were affecting couch performance) is attributable to couch. Mostly it has been network-related problems at the caching layer, and the fixes we need to make involve making failover faster and more reliable, as failures are inevitable in any large distributed system.