Live data from Hacker News

Choosing Go to implement the new GOV.UK router

gdstechnology.blog.gov.uk

1–10 of 98 posts

Re: Choosing Go to implement the new GOV.UK router

#3
Not impressed.

I have nothing against Go (in fact I like it) but they seem to have built GOV.UK with every damn bit of technology there is available. I've seen Varnish, Go, Ruby, Python, Scala, Java, Mongo, MySQL, nginx, rails, sinatra, Django and PILES of Not Invented Here.

Also I'm not sure it's a great use of public money to build stuff like this when they should have nginx/apache up front and some configuration.

In fact this whole thing stinks of crappy information architecture resulting in a massive front end router hack that they did in Scala, binned and moved to Varnish, then binned and moved to Go.

This is not one "cohesive" web front end. It's a rat's nest and an increasingly expensive one.

Re: Choosing Go to implement the new GOV.UK router

#4
On the github page it says the router sits between nginx and varnish and does:

  * Reverse proxy, forwarding requests to and serving responses from multiple backend servers on a single domain.
  * Redirector, serving HTTP 301 and 302 redirects to new URLs.
  * Gone responder, serving HTTP 410 responses for resources that used to but no longer exist.
Does anyone know why they have this as a separate piece of software instead of getting nginx to do it?

Re: Choosing Go to implement the new GOV.UK router

#5
post #3

Not impressed. I have nothing against Go (in fact I like it) but they seem to have built GOV.UK with every damn bit of technology there is available. I've seen Varnish, Go, Ruby, Python, Scala, Java, Mongo, MySQL, nginx, rails, sinatra, Django and PILES of Not Invented Here. Also I'm not sure it's a great use of public money to build stuff like this when they should have nginx/apache up front and some configuration.…

In their defense having worked on sorting out problems on old complex large scale publishers sites. If your trying to make a collection of services hang together in a seamless way you do need some sort of front end to tie it all together and that needs to be usable by non gurus.

Though they do seem to be using all the new toys maybe a bit more thought about which technology to use rather than jumping from technology to technology.

Re: Choosing Go to implement the new GOV.UK router

#8

On the github page it says the router sits between nginx and varnish and does: * Reverse proxy, forwarding requests to and serving responses from multiple backend servers on a single domain. * Redirector, serving HTTP 301 and 302 redirects to new URLs. * Gone responder, serving HTTP 410 responses for resources that used to but no longer exist. Does anyone know why they have this as a separate piece of software instea…

You should read the first article in the series - https://gdstechnology.blog.gov.uk/2013/12/05/building-a-new-...

Re: Choosing Go to implement the new GOV.UK router

#9
post #6

So they are ditching Scala, because no one in the team is an expert, while replacing by a language that everyone has to learn?!?

I asked on twitter, and got a reasonable response. Investing in learning Scala is a much longer term thing than learning Go (which is, in their experience, a much quicker thing to do).
Post reply on HN