
Heroku architecture - helwr
http://www.quora.com/Heroku/How-does-Heroku-work
======
tlrobinson
I posted that answer. If you have any additional questions or insights let me
know.

~~~
phlux
I thought it was terrific that you did this - I emailed the answer to myself
so I can read it on the bus...

It looked like you did a lot of research into it based on the sources you
posted.

How long did it take you to create that post?

What is your primary area of interest -- If I post a question about some other
infrastructure, would you give such a detailed response, or was this a one-
off?

~~~
tlrobinson
It took maybe 4 hours, but it was fun and I learned a _lot_ (not just about
Heroku).

I've been using Heroku since near the beginning (we were in YC W08 together)
so I was already vaguely familiar with the architecture. It was mostly filling
in the details.

Infrastructure is a side interest that I'm trying to learn more about, so I
can't guarantee I'll be able to answer your questions, but it's worth posting
them anyway. Hopefully other people can answer as well (of course that's what
I thought when I posted the Heroku question... I ended up answering it myself)

Rather than directing the question at me, just post a normal question on
Quora, and post the link here or message me.

------
bgentry
If this stuff sounds interesting to you, we're always looking for excellent
engineers (and much more): <http://jobs.heroku.com/>

------
endlessvoid94
Take a look at the CloudFoundry project --
<http://github.com/cloudfoundry/vcap>

It's open source and maintained by an uber-capable group at VMware.

------
Pahalial
Surprisingly good link. While we're discussing Heroku, does anyone have any
deep[er] insights into the differences between Zookeeper and Doozer?

------
armored
Does this mean that 3 proxy servers serve all the traffic for ALL apps hosted
on Heroku?

~~~
joevandyk
Yup. Amazon has 3 too!

    
    
         $ dig amazon.com
    
        ; <<>> DiG 9.7.0-P1 <<>> amazon.com
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41998
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
    
        ;; QUESTION SECTION:
        ;amazon.com.      IN  A
    
        ;; ANSWER SECTION:
        amazon.com.   36  IN  A 72.21.194.1
        amazon.com.   36  IN  A 72.21.211.176
        amazon.com.   36  IN  A 72.21.214.128

~~~
imbriaco
Not exactly. The 3 IPs that are returned for proxy.heroku.com are not fixed.
They are a just subset of the available front-end proxy servers.

~~~
140am
Exactly - its a common practice to use DNS servers to spread load across
backend instances. Example djbdns/tinydns by default "only" returns up to 8 IP
addresses so if you setup more then that those IPs will be randomly returned.

<http://cr.yp.to/djbdns/balance.html>

------
alttab
This is really cool. Providing this as a service requires a very different
approach than running open source code.

