

   Interview with Rusty Klophaus on the Nitrogen Erlang Web Framework - prakash
http://erlanginside.com/interview-with-rusty-klophaus-on-the-nitrogen-erlang-web-framework-37

======
davidw
Interesting, but I'd like some more depth/detail. The guy has been doing
Erlang for all of 10 months, noticed some of the good stuff about it, and
created a web framework with it. Ok... but... what does it really do that
takes advantage of Erlang? They talk about the DB layer a bit, but isn't that
really sort of the killer for most people, rather than Rails or PHP or
whatever? Looks interesting, but I want to hear more than why Erlang is cool -
I know that already, I want to know what they did with it that takes advantage
of its strengths.

~~~
RKlophaus
Hi Davidw,

Thanks for your interest and questions.

For now, Nitrogen is primarily aiming to bring Erlang up to par with other
languages for creating dynamic, Ajax-ified Web 2.0 applications.

"What does it really do that takes advantage of Erlang?"

The big advantage is that, with Nitrogen, you can develop your entire Web 2.0
application in Erlang. Before Nitrogen, most people did the front end in Rails
and the back end in Erlang, and used a bridge, such as Apache Thrift, to get
them talking.

Once your web app is in Erlang, you can:

* Run on Mochiweb or Yaws, both extremely performant http servers.

* Distribute your web server across multiple nodes without worrying about sticky sessions.

* Reap all of the other Erlang goodness, such as hot code swapping, built in application monitoring and restarting, an extremely stable environment, etc. (All of the stuff that made Amazon use Erlang for SimpleDB and Facebook use Erlang for Facebook Chat.)

"What about the DB layer?"

Mnesia, Erlang's built in database, actually does the job quite well.
Languages tend to add a DB layer to ease the pain of jumping into and out of
SQL, and we're so used to this that we expect to have to do the same in any
language. But in this case, Mnesia thinks in Erlang syntax, so there is really
no need to wrap it in anything. Plus, Mnesia works really well for documents
with changing schemas, which is very Web 2.0.

If you'd rather avoid Mnesia and use SQL, then ErlyDB is your best option.

Happy to answer any more questions.

Best,

Rusty - Creator of Nitrogen Web Framework

p.s. - Saw this post through a backtype.com alert (hooray BackType!)

~~~
davidw
Cool, thanks for replying. Mnesia is not part of Erlang that I've ever looked
at in depth, so it remains something of an unknown. I really wish someone
would publish some information and statistics about how it handles ever larger
data sets. Something like Postgres or Mysql is more of a 'known quantity' in
terms of what it can handle, how to improve it, and so on. Mnesia, we know,
does distributed really well, but I know less about how its
performance/scaling characteristics for other aspects.

Anyway, looks like a cool effort, so good luck, and keep writing about it!

