I bought this book to obtain an idea of best practices around deployment of JRuby applications. This book discusses multiple options with pros and cons starting out with a simple one (warbler) and gradually moving onto more complex ones (Trinidad, TorqueBox) while adding cloud based deployments into the mix. The organization of the book as well as the presentation is generally good. Having all the options in hand allows one to decide which one to choose. The running example used in multiple chapters has enough aspects to it so as to illustrate how to leverage elements of particular deployment mechanism. This book uses Vagrant and Puppet for setting up environment which will serve as a good introduction to these technologies for someone who hasn't used these before like myself. On the negative side, this book is dated which means that the versions of the software that is used in the book is pretty old. I always try the examples by typing them out and then the latest versions of the software - some of these break as one would expect but usually minor modifications to the source/configuration will fix it. While this is the case for the majority of the examples in this book, some of them don't work at all even with the exact same versions as used in this book. I couldn't get the Trinidad examples to work at all even after spending hours trying to do so. The ones on TorqueBox fortunately worked as expected with the latest version of TorqueBox at the time of this writing (3.1.1) except for Stomplet (Section 6.8 - Page 125). The MBean example with rake on page 174 didn't work as expected. Apart from these caveats, I did learn quite a bit from this book. If you are totally new to JRuby deployments (e.g: warbler) as well as setting up environments (Vagrant, Puppet) like me, this book will definitely add value. On the other hand, if you have some familiarity with these, this book won't add much value since you will only learn about TorqueBox and the documentation on their website may be sufficient.
I jumped at the chance to be a technical reviewer for this book, am glad I did. By the end of the introduction, the author had armed me with information that helped me fix a problem with an internal app at work. (The issue was related to dealing with long-running background tasks.)
This book could just about have been called, "Building a Solid Web App in Ruby (That Just Happens to Run on the Java Platform)." There's a lot of good discussion of the different ways to structure a web app, and the tradeoffs among the various approaches.