Yeah, OTP is an awful name because it's meaningless in the context of programming without reading history from the 1980s. It should really just be called "erlang library frameworks" or something similarly sensible.
> If you start a service, it's just one process, right?
If you search for "So we will create a module named ch3 with gen_server behaviour", you'll see the author's server code. His server code makes use of the gen_server behavior.
To answer your questions:
Yes. If the author's server process crashed, all pending requests would be lost. From what I can tell, gen_servers use the Erlang process mailbox to maintain a queue of (among other things) requests to be serviced. If a process dies, its mailbox is destroyed and its contents lost.
If I were concerned about my code's ability to survive a crash of one of its operations, I would either
* Wrap the operation in a try/catch block that only handled all of the error conditions that I was expecting to encounter.
* Execute the operation in a separate, monitored [0] process that sends a message back with the results of the operation. [1]
Each method has its place, but I would find myself using the child process method most of the time. Defensive coding is a really bad code smell in Erlang programs. Swallowing all exceptions is definitely a very defensive thing to do.
[0] Any process in an Erlang system can monitor any other process in the system and get a notification when the monitored process terminates.
[1] You can even tell your supervisor to start the process for you so that it knows about it and can terminate the child if the supervisor is asked to shutdown.
Process spawning is cheap in Erlang so you can spawn a new process for each incoming request. Cowboy does something similar to this. If you don't want to spwan a process for each request then you can have a worker pool (like poolboy) to respond to the requests.
The title of the HN submission doesn't make much sense, considering the material. I was expecting a discussion of pg2 [0] or similar.
The article's title is apropos, because in Erlang parents often kill their children and vice-versa.
[0] http://erlang.org/doc/man/pg2.html