Mongrel Shortcuts
Simon P. Chappell writes "I'm not normally much of a one for reading and learning out of eBooks, but after a little gentle persuading from my regular contact at the publisher, I agreed to take a look at their Mongrel Shortcut eBook. Mongrel is a pure Ruby web server, and while it is normally associated in most people's minds with Ruby on Rails, it is actually possible to run it standalone, anywhere that you have Ruby. As one who is very firmly in the "dead tree" camp for my choice of reading media, I was surprised to find myself impressed with Addison Wesley's range of Shortcut ebooks; they really are close to the readability of regular books." Read the rest of Simon's review.
Mongrel Shortcuts
author
Matt Pelletier and Zed Shaw
pages
106
publisher
Addison Wesley
rating
8/10
reviewer
Simon P. Chappell
ISBN
0321483502
summary
An excellent guide to configuring and using Mongrel.
The obvious market segment for this book is the Ruby on Rails developer who wants to understand more about the server that their application is running on and who would like to take more responsibility for it's installation and ongoing maintenance. A second target audience would be those who are looking for a small, efficient and robust web server. Mongrel, through strict adherence to the HTTP 1.1 specification has stayed small and very resistant to many forms of Internet attacks. There is a demand for that kind of server and this book will help those who need it.
Interestingly, these shortcut books are not available through the normal online bookstores. They are currently only available through www.awprofessional.com/ruby or www.informit.com/shortcuts. I'm not sure of the logic behind this and I wonder if that isn't going to hamper sales efforts.
At the risk of pointing out the obvious, this is an eBook and as such is supplied as a Portable Document Format (PDF) file. There are two big positives for me with this book. The first is that the file has no Digital Rights Management technology. This means that you are free to copy it to your computer, but you cannot share the file with anyone else. This is very reasonable approach for Addison Wesley to take and I applaud them for this. Now that they've shown their trust in us, I just hope that those who purchase this book will abide by those conditions. (Apparently, they don't trust me as much as they trust you, because my copy has "Review Copy Only" on the top of each page! :-)
The second positive with this book is that it's formatted with landscape orientation. This means that the long side of the page runs horizontally and thereby allows the whole page to fit nicely on a standard laptop screen with a very readable text size. Landscape orientation makes for very a clean page layout, a matter of vital importance if you're expecting folks to read it from a computer screen.
As far as the structure of the content, this book eschews chapters in favor of sections. Of course, with no section more than twenty pages long, calling them chapters would have been stretching a point. The nine sections cover about every aspect of using Mongrel that you could hope for in a short book.
The first section introduces the book and explains the formatting used as well as the special little sidebars called "Zed Sez". These are highly opinionated, but very insightful, asides on aspects of Mongrel; they cover reasons for writing it and why it was written the way it was. Section two is an introduction to Mongrel itself, the benefits of using it and the license that it is made available under. Section three works through everything you need to know to get started with Mongrel. Naturally, this includes installing it and basic usage.
Section four covers configuration and the array of command-line options available to the developer or administrator running Mongrel. Section five looks at production deployment and examines a typical deployment. Now, production deployments are an art in themselves, so not every aspect can be covered in a section like this, but it does get you started and presents a not unreasonable approach. Section six explores the options for extending Mongrel. Write your own commands, handlers and plugins; this section will show you how.
Section seven shows how to debug your Mongrel configuration and applications. Section eight looks at performance, another thing that's hard to generalize. Here the emphasis is mostly on gathering data so that you can make meaningful decisions for your own situation. Finally, there is a collection of resources; links for Mongrel, and frameworks that run on it.
In addition to the reasons to like the book that I mentioned back at the start of the review, the book is very authoritative. Having Zed Shaw, the primary author of Mongrel, as the co-author is a powerful help of course. Speaking of Zed, I very much enjoyed his little "Zed Sez" sidebars. To describe his style as "pithy" might be an understatement, but they are certainly very informative and they give interesting insight into the writing of a rising star open-source software package.
For all of the positives, there is no hiding the fact that this Shortcut eBook is only 106 pages long. One of the consequences of this is that there is reduced depth. The material that is in the book is very good, but I know that there were a couple of places where more material would have been very useful. So, if you normally look for vast tomes of ultimate completeness, this might not be a good selection for you.
In conclusion, this seems like a very useful guide for anyone who is starting out to configure and use the Mongrel web server for their Ruby projects.
Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The obvious market segment for this book is the Ruby on Rails developer who wants to understand more about the server that their application is running on and who would like to take more responsibility for it's installation and ongoing maintenance. A second target audience would be those who are looking for a small, efficient and robust web server. Mongrel, through strict adherence to the HTTP 1.1 specification has stayed small and very resistant to many forms of Internet attacks. There is a demand for that kind of server and this book will help those who need it.
Interestingly, these shortcut books are not available through the normal online bookstores. They are currently only available through www.awprofessional.com/ruby or www.informit.com/shortcuts. I'm not sure of the logic behind this and I wonder if that isn't going to hamper sales efforts.
At the risk of pointing out the obvious, this is an eBook and as such is supplied as a Portable Document Format (PDF) file. There are two big positives for me with this book. The first is that the file has no Digital Rights Management technology. This means that you are free to copy it to your computer, but you cannot share the file with anyone else. This is very reasonable approach for Addison Wesley to take and I applaud them for this. Now that they've shown their trust in us, I just hope that those who purchase this book will abide by those conditions. (Apparently, they don't trust me as much as they trust you, because my copy has "Review Copy Only" on the top of each page! :-)
The second positive with this book is that it's formatted with landscape orientation. This means that the long side of the page runs horizontally and thereby allows the whole page to fit nicely on a standard laptop screen with a very readable text size. Landscape orientation makes for very a clean page layout, a matter of vital importance if you're expecting folks to read it from a computer screen.
As far as the structure of the content, this book eschews chapters in favor of sections. Of course, with no section more than twenty pages long, calling them chapters would have been stretching a point. The nine sections cover about every aspect of using Mongrel that you could hope for in a short book.
The first section introduces the book and explains the formatting used as well as the special little sidebars called "Zed Sez". These are highly opinionated, but very insightful, asides on aspects of Mongrel; they cover reasons for writing it and why it was written the way it was. Section two is an introduction to Mongrel itself, the benefits of using it and the license that it is made available under. Section three works through everything you need to know to get started with Mongrel. Naturally, this includes installing it and basic usage.
Section four covers configuration and the array of command-line options available to the developer or administrator running Mongrel. Section five looks at production deployment and examines a typical deployment. Now, production deployments are an art in themselves, so not every aspect can be covered in a section like this, but it does get you started and presents a not unreasonable approach. Section six explores the options for extending Mongrel. Write your own commands, handlers and plugins; this section will show you how.
Section seven shows how to debug your Mongrel configuration and applications. Section eight looks at performance, another thing that's hard to generalize. Here the emphasis is mostly on gathering data so that you can make meaningful decisions for your own situation. Finally, there is a collection of resources; links for Mongrel, and frameworks that run on it.
In addition to the reasons to like the book that I mentioned back at the start of the review, the book is very authoritative. Having Zed Shaw, the primary author of Mongrel, as the co-author is a powerful help of course. Speaking of Zed, I very much enjoyed his little "Zed Sez" sidebars. To describe his style as "pithy" might be an understatement, but they are certainly very informative and they give interesting insight into the writing of a rising star open-source software package.
For all of the positives, there is no hiding the fact that this Shortcut eBook is only 106 pages long. One of the consequences of this is that there is reduced depth. The material that is in the book is very good, but I know that there were a couple of places where more material would have been very useful. So, if you normally look for vast tomes of ultimate completeness, this might not be a good selection for you.
In conclusion, this seems like a very useful guide for anyone who is starting out to configure and use the Mongrel web server for their Ruby projects.
Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Slashdotter writes eBook giving opinion of eBooks.
I read Slashdot for the headlines, because the headlines, unlike the articles, are usually original and never duplicated
They are indeed one of the nicer parts of the book. One of them says, more or less, "if you're SSH'ing into your server more than once a week, you haven't automated things well enough." So true!
The Army reading list
If you take a look at the reviews Simon has done at http://techbook.info/ you will see there isn't a negative review among them. So take whatever you read with a grain of salt. This is probably why the publishers keep bugging him to review their books.
Seriously, who is behind Ruby on Rails and how big is their budget for Slashvertistments? I want to know this so I can avoid Slashdot until the budget is empty and I can be comfortable in knowing that there won't be some obfuscated headline trying to dupe me into reading yet another Ruby on Rails article.
I know this stuff is being piped in from a professional marketing department somewhere because the editors are not doing any of their usual stupid editorializing, nor do the submissions themselves bear the usual Slashdotter trademarks of mispellings and gammar errors. That and every single mention of Ruby on Rails has is capitalized to ensure that Ruby on Rails is burned into your mind like an EEPROM which is right where the Ruby on Rails corporation wants Ruby on Rails to reside. Ruby on Rails.
So anyway, fess up. How many more ads for Ruby on Rails can we expect?
Its HTTP request parser is C, generated by the Ragel state machine compiler.
Why not fork?
It's supplanted Apache+FastCGI as the preferred way of deploying Rails apps in a very short time and seems to be a much better solution all around. "gem install mongrel mongrel_cluster" sure beats the steps necessary to get FCGI running.
I wonder how many people have upgraded to Apache 2.2 in order to get mod_proxy_balancer to balance between Mongrel instances... that's why I did it for indi.
The Army reading list
There's a difference between a mere httpd (HTTP protocol server) and a "Web Server" that must include one. I wish there were a truly minimal httpd written in very portable code like Ruby, Perl or Java, that could use existing webserver plugins like Apache's and, say, WebSphere's, without modification. Just install (perhaps recompile cross-platform), and get the incremental features. With the same data formats, APIs and even typical bug behavior.
Why do we have to reinvent the wheel every time we reinvent the car?
--
make install -not war
I first I thought that it was some kind of platform (written in ruby) for reading ebooks!
Coder's Stone: The programming language quick ref for iPad
In conclusion, this seems like a very useful guide for anyone who is starting out to configure and use the Mongrel web server for their Ruby projects.
Intriguingly, though, the book doesn't appear to cover using Mongrel as a library from Ruby at all. The closest it gets is in "Handlers" in Section 6, but this is still working with the regular Mongrel application rather than Mongrel as a library. Admittedly, many people don't want to use Mongrel as a library, but it makes a great replacement for the slow WEBrick, and can be used as an HTTP server library just fine.. so it's weird it wasn't covered (at least, not in my review copy).
I wonder how this one compares to its O'Reilly equivalent: http://www.oreilly.com/catalog/mongrelpdf/
Reality is nothing but a collective hunch.
Nginx gets my vote for a http server facing onto Mongrel. http://nginx.net/
.NET dev so having to set up web servers on a Linux box aint my favourite passtime... leave the politics outside, it's my paycheck not yours... but I had a need to test a RoR app I'm working on for both Windows and Linux, which quickly became a decision to make it Linux only... anyhow, pretty much all the options I was chewing my way through were driving me nuts, with nginx being last on the list before saying "screw it".
I'm a
Took me 20 min to find, download, build, and configure nginx facing onto a mongrel cluster as a complete Linux muppet. The benchmarks for nginx are also pretty impressive and there's not a long list of scare stories associated with memory leaks.
Over the holidays I'll be seeing if there's any virtue in nginx facing onto a mono/xsp cluster. I don't like the Apache support for xsp 2.
As a side note, Ruby on Rails desperately needs to clean up it's act on deploying apps for anything other than the trivial. It very quickly turns into a minefield.
I'll also sign off by saying I'm a potentially naive source for a recommendation on how to best set up a RoR app on Linux. Do read around yourself if you take a gander at nginx. I'm potentially missing the virtues of several alternatives (most of which I have tried and rejected as flaky).
Or traditional books I'll wager.
Goes without saying though, doesn't it?
Mongrel --> Ruby (Rails)
Medusa --> Python (Zope)
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain