News for hackers. Stuff that matters.
Re:So you want to expose Go on the Internet by weberc2 on Monday December 19, 2016 @09:29PM (#13216918)
> It's more than filling out a few structs, though.

How do you know how many lines are required to configure hypothetical middleware?

> No go gets

How is static compilation worse than `apt-get install` or `docker run`?

> No middleware

It's another process... why would running another process be better than middleware?

> it's well tested, mature and backed by software that powers a majority of the web.

Granted. It seems like this is the only clear win for NGINX, and it may well change if Go libraries mature. Time will tell.

Re:So you want to expose Go on the Internet by 234dd57d2c8db on Monday December 19, 2016 @11:35PM (#13217489)
You're missing the sysadmin angle of this entirely. Nginx has amazing tooling around load balancing, configuration mgmt, multiple languages, logging options, rewrite rules, rate limiting, file upload size tuning, HTTP tuning in general, the list goes on and on. What if your site needs to support multiple backends like a JVM app, a wsgi app, and an old crufty cgi app. You gonna write backends for all that shit too in Go?

Sorry but I'm not going to be writing ansible code that modifies structs inside of some program then compiles said program. No thank you that sounds like crazy town. Also other sysadmins and infrastructure engineers will actually know how things work and won't have to go reading the source code for some crazy Go app program at 2am that also is a webserver for some reason?

Separation of concerns, use it!!

Re:So you want to expose Go on the Internet by weberc2 on Tuesday December 20, 2016 @10:06AM (#13220389)
> You gonna write backends for all that shit too in Go?

The discussion is scoped to a single Go application. No one is proposing replacing NGINX with Go (or anything else) for JVM apps.

> won't have to go reading the source code for some crazy Go app program at 2am that also is a webserver for some reason?

This is a rephrasing of the question I posed earlier--is it easier to manage configuration in Go source code or NGINX config files.

> Separation of concerns, use it!!

Concerns can be separated without being in distinct processes or implemented by distinct programmers or implemented in distinct programming languages.

Re:So you want to expose Go on the Internet by Can_Not on Friday December 23, 2016 @09:56AM (#13244992)
You're free to not use nginx or Apache if you can validate that you are better off without them, but IMHO it sounds like a nightmare of "experimental homemade wheels" being muddled in with business logic.
Re:So you want to expose Go on the Internet by nkozyra on Monday December 19, 2016 @10:06PM (#13217094)
> How do you know how many lines are required to configure hypothetical middleware?

Primarily through experience. Happy to be shown otherwise. Middleware usually takes a bit more configuration than that.

> Granted. It seems like this is the only clear win for NGINX, and it may well change if Go libraries mature. Time will tell.

We can quibble over whether it's the "only" win, but even so, it's a very, very big win. It's a single point of failure that handles a lot of features you'd have to replicate with various packages that lack the kind of support, maturity and community that NGINX has.