Live data from Hacker News

Choosing Go to implement the new GOV.UK router

gdstechnology.blog.gov.uk

41–50 of 98 posts

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

#41
post #18

A lot of the comments here seem to be missing something quite important: Scala and Go are not similar languages. Scala is a large and complex language, encompassing multiple programming idioms. Teams programming Scala (as with C++ and many other "large" languages) often have difficulties nailing down what portion of the language they are going to use. "Java-without-semicolons" all the way through to idiomatic, functi…

This, whilst likely true, is not a self-evident fact.

I think the argument in the blog post is weak because it does not quantify what makes Go more suitable for learning than say, Erlang or Clojure, which are dismissed outright, before moving on to discuss some of the advantages of Go in depth.

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

#42
post #34
post #20

Earlier quoted context omitted.

They're incredibly easy to build. I notice you use puppet. That's enough tooling to push configuration out and restart services for nginx or apache+mod_proxy. You can break configuration out into separate files per agency if you need to. Varnish is different as that requires restarting. We do the same with commercial kit (Riverbed) with over 140 HTTP application endpoints and that is higher friction than the equivale…

and you are not a government agency delivering digital services to 60+ million people

No we're just handling that 60 million people's mortgages, insurance, financial status, financial history, legal and personal data instead...

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

#43
post #14

Earlier quoted context omitted.

Agree entirely there! However it doesn't excuse people working on a web site funded by the taxpayer using it as a technology playground.

you'd rather £900-£1000 /per diem consultants from Captita where doing a worse job?

That's a silly argument. I'd rather not be pissing an estimated £6400+maintenance up the wall on a project which could have been realised with off the shelf technology.

Just because the organisation uses open-source software doesn't excuse them from public and professional scrutiny.

An MP spending £1645 on a duck house under expenses got a lot more attention than this little bit of waste. Just redressing the balance.

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

#44
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.…

And yet it works better than most traditional Government IT projects. Healthcare.gov, I'm looking at you.

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

#45
post #35

Something is wrong with this statement: "Scala is great for performance, but quite bad at resource usage" Maybe it's directly related to the next statement: "No-one in the core GOV.UK team had a deep knowledge of Scala, and particularly how the old router worked" But the first statement, literally, does not make sense on its own.

> But the first statement, literally, does not make sense on its own.

Why? There are other resources than CPU time, e.g. memory.

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

#46
post #12
post #5

Earlier quoted context omitted.

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…

Yep I understand that. We publish several huge legacy applications, several huge new applications, several integrations, public web site, documentation, online support. A mere 80-100 million HTTP transactions a day. Not once have we built something to do it all.

Prove it. Who do you work for?

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

#47
post #43

Earlier quoted context omitted.

you'd rather £900-£1000 /per diem consultants from Captita where doing a worse job?

That's a silly argument. I'd rather not be pissing an estimated £6400+maintenance up the wall on a project which could have been realised with off the shelf technology. Just because the organisation uses open-source software doesn't excuse them from public and professional scrutiny. An MP spending £1645 on a duck house under expenses got a lot more attention than this little bit of waste. Just redressing the balance.

Anything can be realised with off-the-shelf technology plus time. Your posited solution further down the page would also have involved work in setting up the pool configuration and switching, so let's not pretend that it comes at zero cost.

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

#48
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.…

The UK government is a 19th Century 'filing cabinet bandwidth' information architecture. The IT systems as always reflect the organisation structure that produces them. The data redundancy and unnecessary domain separation is frustrating and archaic.

Uk.gov is just the cherry on the top of an old and creaky enterprise design that hasn't kept pace with changes to its mission or the world around it.

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

#49
post #43

Earlier quoted context omitted.

That's a silly argument. I'd rather not be pissing an estimated £6400+maintenance up the wall on a project which could have been realised with off the shelf technology. Just because the organisation uses open-source software doesn't excuse them from public and professional scrutiny. An MP spending £1645 on a duck house under expenses got a lot more attention than this little bit of waste. Just redressing the balance.

Anything can be realised with off-the-shelf technology plus time. Your posited solution further down the page would also have involved work in setting up the pool configuration and switching, so let's not pretend that it comes at zero cost.

It will come with proportionately less cost initially and over time though which is the issue.

Efficiency is a major problem in government. Government should have a low financial impact on society where possible. A government entering a market with an already solved problem is wasteful at best. If they'd contributed time to Nginx or mod_proxy then they would have a net positive social effect.

But they didn't. They built an inferior product at great cost to the taxpayer.

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

#50
post #14
post #13

Earlier quoted context omitted.

It does not look that bad actually. Your list lacks Oracle, Microsoft technologies to really complain about inefficient usage of public money. I would love if my country used open source more.

Agree entirely there! However it doesn't excuse people working on a web site funded by the taxpayer using it as a technology playground.

Maybe. I don't know how huge that project is. Maybe technologies that have been chosen are the best for the tasks at hand. Maybe some of those technologies are only minor part, not in critical area, maybe it is some technology research project. Maybe it is kind of managerial pride "let's write how many lines our source code contains". As well, I guess, you don't assume that software developers should learn new technologies on their own time (while I personally love to do that).
Post reply on HN