Perhaps I've drunk too much of the Unix and Heroku 12-factor kool-aid, but I'm skeptical of the usefulness of some of TrapperKeeper's features:<p>> a way to cohesively manage the lifecycle of the various components making up an application<p>I'd need a more specific example to understand exactly what this is talking about, but shouldn't each component with an independent life cycle be a Unix process?<p>> a common logging mechanism that wouldn't need to be set up and configured by each component<p>Just log to stderr. Don't even bother including timestamps; an external utility like svlogd can do that (and rotate the logs too).<p>> a web server flexible enough to load multiple web apps<p>This one in particular strikes me as an anti-feature, common in JVM environments. In the Heroku 12-factor approach, each app embeds a web server (like Jetty), rather than the web server containing apps. Then you use a front-end proxy like HAProxy or nginx to route requests to multiple apps.<p>> and to support a rich set of options for configuring SSL<p>That's the job of the front-end proxy, or maybe even a special-purpose SSL termination daemon such as stud.