I have been thinking that perhaps there could be some guidelines within the developer community on how often we hit other services. As you mention, we all do want the service to stay up, and we may have been the cause of it going down. (I don’t know). There are certainly times when you want to send a lot of data quickly, but we should try to avoid things like accidentally sending room temperature to xively as fast as the Imp can spit it out, right? I think we all have some responsibility to be good users of the service, No?
I think it what happens on start-up is important too. I only hit Xively once every 15 minutes however on start-up it sends a single request immediately. Nothing wrong with that I hear you say. BUT if as part of Electric Imp server maintenance there is a restart on a global level then we have a classic accidental DOS attack in the making. Only ways to protect against this is for every developer to put a random start-up timer in their code before sending out external requests to cloud services OR the IT folks at ElectricImp stagger restarts somehow.
The correct solution is for Xively to know that we’re not a single customer, and not to use the big hammer of an IP-level blacklist for hosting providers, because it will block many customers not just one.
This is what they claim they have done now.
Startup is already staggered to some extent, and as beardedinventor notes, this didn’t affect commercial customers who are on a totally different server farm.