Hacker News new | ask | show | jobs
by ikhare 4780 days ago
I can easily imagine what some of the dependency management issues could be, but I'd love to hear your thoughts on the following two options:

In the Java world there is a concept of a .war file which packages everything up so it's easy to deploy on app servers that handle it like: Tomcat or Jetty.

Also what's wrong with giving out a prebuilt virtual image for a single server install? Github enterprise does this.

1 comments

I'm not a fan of app servers; I'd rather segment my running applications. I use maven-shade or sbt-assembly to create an executable .jar with an embedded web server. (Also makes it easier to just provide a runtime interface with jsvc.)
Also makes it a hell of a lot harder to scale horizontally. With an app layer you can just horizontally scale your app server stack and put a load balancer in front of it and you're done.
I don't know where you're getting your information, but your claims do not match my experience or, apparently, that of pretty much anyone else using Play (embedded Netty) or Dropwizard (embedded Jetty with a handler). Or anyone who is writing a Rails app or a Django app or anything else that lives as a standalone HTTP handler.

I have a Puppet script that sets up deployment on a new server. Puppet does not care how many machines the application is running on. Neither does the load balancer/reverse proxy in front of it; it takes a list of IPs and does its thing across them.

I have never seen an app server do anything that wasn't essentially this process, only with more XML and aggravation.