4 ms·
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
by csmuk 13y ago
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.
- walshemj 13y agoIn 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.
- csmuk 13y agoYep 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.
- JazCE 13y agoI tend to agree. The post makes a point of saying "we had a router built in scala, but no one on the team knew how to maintain it". It seems they're allowing team members to play with "language of the week" (lotw), build something that's then used in production without the rest of the team knowing the lotw, that member moving on and then rebuilding it in a new lotw 6 months later. no doubt this GO implementation will go the same way at a later date. I'm not opposed to using a lotw in production with other languages and such, but it needs to be done in a thought out manner with the whole "what if the project lead gets hit by a big red double decker" mentality.
- daliusd 13y agoIt 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.
- csmuk 13y agoAgree entirely there! However it doesn't excuse people working on a web site funded by the taxpayer using it as a technology playground.
- petepete 13y agoIn their defence, gov.uk is miles better than just about any other government site/application I've ever used.
- csmuk 13y agoOh definitely agree. I'm not dissing the site itself which is marvellous so far, but the technology churn is very concerning.
- polymatter 13y agoAllowing staff to use "language of the week" can be an excellent way of retaining staff when you can't pay them market rates.
- walshemj 13y agoyou'd rather £900-£1000 /per diem consultants from Captita where doing a worse job?
- csmuk 13y agoThat'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.
- intranation 13y agoWe did have some configuration - it was stored in Varnish and Nginx. The time cost of shipping new redirects when content is moved or new routing configuration for new tools coming online is non-negligible, particularly as we're in the middle of moving 300+ government agencies onto the GOV.UK platform. Also having all those redirects, friendly URLs, and application mappings in static configuration makes self-service publishing tools very difficult to build. This is all outlined in the blog post - perhaps not as clearly as I would have liked, though!
- csmuk 13y agoThey'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 equivalent setup yet we manage it with a mere 1 person... Deployment is a solved problem. No offense but you're not Google!
- orf 13y agoand you are not a government agency delivering digital services to 60+ million people
- csmuk 13y agoNo we're just handling that 60 million people's mortgages, insurance, financial status, financial history, legal and personal data instead...
- mattmanser 13y agoAre you a price comparison site? Or Experian or Equifax perhaps? Unless you clearly say you're not just some enterprise business that aren't exactly known for their technical competence this comment is totally ambiguous. Do you just think you know what you're talking about, or do you actually?
- ed_blackburn 13y agoPresumably by having a list of different technologies they are taking the approach of right tool for the job. The obvious side affect also being that engineers who work on this need to be polyglot as opposed to any specific tech. I certainly categorise this as a good thing, a developer and as a stakeholder (UK resident and user of the site).
- csmuk 13y agoActually they're using the wrong tools for the job because they're having to rewrite bits regularly in different tech. There is obviously no evaluation taking place. Establishing technical standards and homogenity is important on projects of this scale.
- danpalmer 13y agoI think they established the reasons for it fairly well in the blog post, and even better in the comments elsewhere. I'd say they are the right tools for the job.
- ed_blackburn 13y agoMaybe. Maybe not. The proof is in the pudding. It's immeasautably better than before and is a lot cheaper to run. Until otherwise I am of the opinion that they are making the right decisions.
- devopstom 13y agoAnd yet it works better than most traditional Government IT projects. Healthcare.gov, I'm looking at you.
- oracuk 13y agoThe 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.
- ElliotH 13y agoActually the stuff GDS is doing starts from a clean slate and does away with much of what you are complaining about, in fact it is intended to fix a lot of it!
- oracuk 13y agoIf GDS was the IT department for the whole of government and the departments became a team of policy analysts and ministerial support then you'd be right. Overwhelmingly the core information management and processing is on the local IT infrastructure of each department. GDS is unifying the web presence and some of the citizen identity systems, its not fundamentally taking over the core information systems of state. EDIT: To be clear, I think something like GDS should take a long hard look at the core information systems of state and start again with a clean slate breaking the technology and the data out of the policy silos.
- ElliotH 13y agoI don't disagree with you, but change takes time. Getting publications together in one place will be a great start (which is being helped by the public bodies transition).
- Toenex 13y agoI wonder if the technology churn is more of an issue with the structure and organisation of GOV.UK rather than a technical one. In the post he states that the previous router was unmaintainable as there was no-one with a deep knowledge of Scala in the team and that this was the main reason for the re-write. Why was this allowed to happen? Is there a rapid/high turn over of staff or are teams moved around without regard for skill balance?
- csmuk 13y agoPossible. Some good thoughts there.
- _pmf_ 13y agoYes, but this time they have really found the silver bullet (honestly!). ... something something blub something something agile rockstar ...
- ollysb 13y agoI'm not sure why you have such a negative attitude towards gov.uk, the site seems refreshingly good at it's job. It's simple, clear and easy to use. As long as they can execute fast what does the tech stack matter?
- csmuk 13y agoI think the site is good. I have no problem with the technology ultimately but to put a fine point on it, I'm not paying the government lots of money to invent their own infrastructure components when perfectly good ones exist already. The same applies to people working under me.
- blah314 13y agoTry doing something with it (eg apply for a tax disk). At that point it always hands back control to the old site(s) it "replaced".
- ollysb 13y agoI think it's fair to say it's going to take a little while to migrate all of the systems over. Give credit where it's due, they're doing a good job with the new site and I'm sure that when it arrives the replacement for the tax disc application will be of a similar standard.
- blah314 13y agoIn this case NIH resulted in a space-optimized algorithm, rather than a time-optimized one. So well done there, kids.
- ratio 13y agoNot impressed. Seriously, this is just awful. People make changes to their infrastructure. The govuk team are at least brave enough to blog about it, and offer the code up for inspection. Can you post links to similar public contributions you have made? I'm sure if you joined the team you'd wave your magic wand and everyone would fall in line, and things would be beautiful. Right. Oh, and I'm sure the golang community are really, really pleased that "in fact, [you] like it" - very charitable of you! I can't wait to see what you've been up to.