I've been playing with Heroku for the last few weeks trying to get an
idea of whether I want to launch my next site on Heroku.  I have a
couple of questions for Oren (or anyone else at Heroku that can answer
them).

1) How often do problems like apps not being able to spin up like what
happened today happen?  In other words, I'd like to see real uptime
statistics for Heroku.
2) In the event that a new app can't be brought online (like what
happened on Heroku today) what systems/processes are in place at
Heroku for the administrators to become aware of the problem?  In
other words, is there an automated system, or is it reliant on users
like myself posting support requests?  (Note:  Todays outing had
nothing to do with my code, but was an internal Heroku error).
3) The Heroku status page http://status.heroku.com/ said the following:
[QUOTE]
App Spinup Interruption
MAR 14, 2010 – 2:19 UTC
New and idled apps can not be spun up. We are working on resolving the
problem immediately, and expect a fix in the next 30 minutes. All
running apps are currently fully operational.
[/QUOTE]

and a subsequent post said:
[QUOTE]
All Systems Go
MAR 14, 2010 – 3:30 UTC
No known issues at this time.
[/QUOTE]

However, my app would still not start at Mar 14, 2010 - 4:25 UTC.

So, what exactly is the definition of "New and idled apps".   My
understanding is that as long as I'm paying for dynos that my app will
not go idle, but if I increase the dynos from say 4 to 10 are the 6
new dynos considered 'new' and won't start in such a situation?  What
about workers?

What about accidentally pushing a 'new' version of code during such an
outage?  I assume this would effectively bring my running app offline.

4) If I have a running app that is being concurrently hit by say 100
users.  What is the exact process the server takes when I push a new
version of code?  In other words, do those 100 users immediately get
disconnected, or does Heroku spin up the new app, redirecting all new
requests to the new version once it is online, and then terminate the
'old' version dynos after all existing requests to those dynos have
been satisfied?  Basically, what is the user experience for someone
who is in the middle of submitting their credit card info at the
precise time that I push a new version of code?

5) I'm a little concerned about recent posts dealing with getting
large datasets in and out of the database on Heroku.  I've read plenty
of creative ideas on how to get the data in and out, but nothing that
would really be considered acceptable for a high traffic site that
needs virtually zero downtime (especially with the posts saying that
Taps gets really slow after about 500 MB).  Does Heroku have any plans
of making it easier to get large datasets in and out of the database?
What about scaling the database?  It's easy to spin up app dynos, but
what about moving from a Fugu database to a Zilla?  What kind of
downtime are we looking at for such a transition?  (How about from
Ronin -> Fugu?)  The faqs state: "Switching to/from a dedicated
database usually takes one business day as our support staff processes
the requests, and verifies that data migrations completed
successfully."  I assume this is for switching between say Koi and
Ronin, but is it also true for Ronin->Fugu->Zilla?

6) I assume I would be looking to move away from Heroku long before I
reached 2TB of data limit on the database (since at that point I would
be looking for redundant systems that can have read/write traffic
separated, etc which Heroku doesn't appear to support), but how would
I get this data off Heroku?

7) What systems are used to store the database data?  In other words,
how safe is my data in the event of system failure (hard disk, etc)?
Single disk,  Raid 1, Raid 5, Raid 10, etc?

8) In the event of system failure, what kind of support can I expect
from Heroku to get the database back online?  (Meaning that a hard
disk failure with a response of "restore from your backup bundle"
would not be considered acceptable.  Transaction logs would need to be
replayed, etc.)

9) DNS related:  Is it possible to have say 2 set subdomains for a
given domain (ex: forums.mydomain.com, chat.mydomain.com) that point
to separate apps, and then have a catchall domain point to a 3rd app?
Ex:  subdomainXYZ.mydomain.com points to a given app for any value of
XYZ.  The docs seem to indicate that I need to use the heroku console
to add any subdomains, so what I'm looking for is how I would add a
catchall domain in Heroku.

Basically I'm debating using Heroku vs. Amazon EC2 directly vs.
running my own servers and want to understand all the variables
involved with Heroku.

Thanks in advance.
-Chris

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to