Erlang for web-developers

Yariv Sadan yarivvv@REDACTED
Mon Aug 28 14:47:17 CEST 2006

Hi Dmitri,

On 8/28/06, Dmitrii Dimandt <dmitriid@REDACTED> wrote:
> I couldn't leave a reply to Yariv's post because of some error I kept on
> receiving, so I decided to respond here.

Thanks for the response. Apparently Rails has reached its scalability
limits once my blog has reached a few thousand visitors, and now it
experiences intermittent errors that I'm at a loss to fix. Very

Sometimes even sudoing as root and killing all the OS processes that
Lighttpd spawns for handling the fastcgi requests and then restarting
Lighttpd doesn't help, and the only recourse is to physically reboot
the server.

I didn't want to write about it in my blog because I didn't want
people to think I'm taking cheap shots at Rails, but after my
experience with typo, I'd be crazy to use Rails to rather than Yaws to
build a real app :)

> I think that besides "erlang-telecom-erlang-telecom" web developers should
> also be told this:

Yes, there are many things they should be told about Erlang, on many
of which I'm far from an expert (hint: I woulnd't mind getting some
help ;) ). I try to keep each article relatively short so people can
consume Erlang knowledge in bite-sized portions without being

> - Mnesia is a nice database for small amounts of data - 4-8 GB, not more
> :))) (am I correct on this estimate?)

I think Mnesia could also be a killer app for a distributed webapp
session store. I just haven't used it like that yet.

> - Quite a lot of things can be parallelized in web development. Most
> notably, logging and post-process actions:

Good point.

> -- Once you do an action you can spawn a separate logging process and return
> to the user immediately

Somebody has also mentioned on the erlyaws list you can keep a process
for each user to get the effect of a continuation, only much more
elegantly. I haven't tried it, though.

> -- Once you accept all data (most notably, image files), you can spawn
> separate processes to do whatever with the data at hand (scale, crop,
> rotate, move to a different folder etc. etc.) and return to the user
> immediately

Again, good point.

> Many web developers don't even understand that this, indeed, is possible.
> I think that in order to sell Erlang to web developers, we need to focus
> exactly on the things that can be "branched off". Because telecom stuff is
> interesting, but it also is scary. What else can we lure web developers
> with?

Thanks for the feedback. You've given me more good answers I can give
to people who ask me "Why use Erlang? After all, I don't need to use
concurrency in my webapp."


More information about the erlang-questions mailing list