[erlang-questions] Misultin EOL

Michael Truog <>
Fri Feb 17 07:18:54 CET 2012


The modularity/usability issues mainly seem to be related to the fact that I see it as overkill for most projects that I would be interested in.  So, this is a subjective judgment, where I don't want to get locked into an obscure templating format, etc.  The activity issue impacts decisions about newer features.  When I have looked at the yaws code in the past, it looks like legacy code, where there are modifications for various features scattered in various ways.  I can understand how its age with all the various testing should make it the most stable full-featured choice.  However, for new integration work it becomes overkill due to its complexity and the lack of modularity within the code-base. I say this, because if yaws was written in a modular way, it seems like you could easily pull a few modules to replace misultin functionality with something that has more testing.  If that was possible, perhaps it would even perform better than misultin and cowboy, but it seems like
doing that has not been possible, nor would it be possible in the future (due to the legacy nature of yaws).  Inets usually seems to go unmentioned in these discussions and the benchmarks, but it would be interesting to see how it might compare to yaws and the other choices.


On 02/16/2012 09:52 PM, Edmond Begumisa wrote:
> Hi,
>
> I have a small quibble (not trying to flame here), but isn't a comparison between Yaws and Mutlisin a case of apples and oranges?
>     
> From a developer's perspective, Yaws is a webserver in the Apache+PHP sense or IIS+.Net sense. Mutlisin (Mochiweb/Cowboy) are web server libraries in the libmicrohttpd sense. Nitrogen, Erlang-web and Erlyweb are web-frameworks in the Django/CakePHP sense. While webmachine is uniquely on its own.
>
> Yaws is about *serving* dynamic and static *content*? You'd consider using Cowboy & Co' to develop "a yaws" if you were starting a yaws-like project afresh in 2012. While you'd consider using yaws to develop a new django-like framework for Erlang.
>
> I'm yet to come across an Erlang web-server that is in the Yaws category that has it's features and thoughtful design. I know of only Inets that's also in this category.
>
> So I always find it curious when Yaws is lumped into discussions where it's strengths and focus don't fit at all.
>
> Addressing some of your concerns:
>
> Modularity - If you think of yaws as a web-application server that never goes down and can run many applications, you'd find that it's very very modular (appmonds/yapps). If it's modularity of the code-base itself that your referring to, well, it doesn't look bad to me. I learned Erlang largely by reading Yaws source code.
>
> Usability - Development with yaws is the reverse of the popular web-libs. You use yaws to "serve", cache, log and session manage one or more of your web-apps (dynamic and static content) as opposed to using Mutlisin/Mochiweb/Cowboy to write a web-app that serves, caches, and logs itself and manages it's own sessions.
>
> (In)activity - I personally haven't found many features that I've wanted to be added to yaws itself, so it could be a case of feature saturation rather than an under-developed legacy code-base. Most things that don't exist, you can use from your app code without it being in yaws coz of the way it's designed. For instance, I don't much like yaws' dynamic content creation features (ehtml/ssi/yssi). Instead, I frequently use the ErlTL template module from Erlyweb (without erlyweb).
>
> That said, sometimes, for some projects, I find yaws overkill and reach for one of the newer light webserver libs (usually when the app needs to expose a simple web-API). But for most web projects with lots of content (and where development time is scarce), I find using those libs would have me duplicating a lot of the great work already done in yaws, so I reach for yaws instead.
>
> - Edmond -
>
>
>
>
> On Fri, 17 Feb 2012 10:06:44 +1100, Michael Truog <> wrote:
>
>> On 02/16/2012 01:17 PM, Steve Vinoski wrote:
>>> On Thu, Feb 16, 2012 at 3:50 PM, Michael Truog <> wrote:
>>>>  Is cowboy going to be able to take the lead on HTTP Erlang web server performance where mochiweb and yaws have been unable to (please don't bother to flame this, those people that don't care about performance, but care about Erlang)?
>>> I'm not interested in flames either, but I am interested in facts.
>>> Please back up your assertion by posting your meaningful benchmarks
>>> that prove that Yaws is lacking in performance.
>>>
>>> thanks,
>>> --steve
>>
>> It is unfair to say that yaws does not perform like misultin and I do not have data to make that statement.  When I think of performance, I am also thinking of software development performance for modifying, extending, and using the code-base.  Yaws has lacked support once mochiweb was available because of some fragmentation within the community.  From what I have seen, yaws chooses not to focus on performance, and has never intended to do so in the past, so it is unclear whether it would be able to maintain its performance in the future, if it received more support (based on http://steve.vinoski.net/blog/2011/05/09/erlang-web-server-benchmarking/).  So, that was misleading for me to say, since you are probably correct that misultin is on par with yaws, though there are no public results to show that.  With yaws the concern seems to be more about the code being regarded as legacy, not actively developed, and not modular (and whatever other reasons that seemed to make mochiweb
>> appear necessary).  I say this knowing that you are currently the main maintainer of the code-base.  These are just the impressions I have had from being within the Erlang community for a few years.
>>
>> - Michael
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>
>





More information about the erlang-questions mailing list