Thursday, March 11, 2010

QCon 2010 (London): Day Two

Day two from QCon London 2010 below. General impression is that there is too much content from people whose job is presenting content to people, and not enough from those really on the front-line. The exception to this was the LMAX presentation, which stood out from everything else today.

If yesterday’s lesson was that you need to hire good people and look after them, then today’s was that you need to break big problems into smaller problems in order to solve them. Fairly obvious really, but then so was gravity once Newton had given it a name.

  • Living and working with aging software 6/10
    Slightly wayward keynote from GOF original Ralph Johnson – a verbal brain dump from someone with more years in the software industry than most. He likes refactoring, but then apparently he invented the word.
  • Introduction: Irresponsible Architectures and Unusual Architects 7/10
    Great presentation about the use of REST, and the role of the internet as an application platform. Over-intellectualised for my liking – some very simple concepts made to seem very complicated - but I liked the message. I totally agree that everyone should understand the core HTTP fundamentals – request/response pattern, HTTP verbs, status codes, header values – the specification is there, use it.
  • Scaling Applications: Complexity, Performance, Maintainability 7/10
    Good presentation from Ayende – including some code demos, which always goes down well with the crowd. Main point is the same as everyone else’s – scale out is only possible if you split systems into functional components and attack each individually – e.g. user login has different requirements from user registration, so don’t stick it all in a single table in an RDBMS. Use a service bus for async communication, data is always dirty, etc., etc. Ended with a slightly unnecessary demo of his new (json) doc database - .net replica of CouchDB, with some Mongo features (around querying). Looks great, well worth a look, although it’s clearly in the alpha stages.
  • Simplicity - the way of the unusual architect 7/10
    Dan North gave an entertaining but ultimately unsatisfying presentation on how to simplify complex problems (“simplicate”); building a shed is apparently simpler than building a nuclear power station because we, as humans, can fit the entire design into our heads prior to building it. Maybe it’s just because it’s smaller, and not full of radioactive material? Some slightly contrived points, but the message is the same – split things up to make them simple and then apply the appropriate solution. I think we get it now.
  • LMAX - How to do over 100K contended complex business transactions per second at less than 1ms latency 9/10
    Great presentation from the team at LMAX on how to achieve 100k tx/sec at a guaranteed 1ms latency. Turns out it’s about getting some very clever people together and letting them solve some simple problems. Really impressive to hear from people at the top of their game about how they did it; so much more impressive than the waffle the blogocracy come out with (he says, whilst blogging). Inspiring.
  • Command-Query Responsibility Segregation 7/10
    Udi Dahan giving us his guide to offline / async processing. Good presentation skills, and good ideas, just not sure he’s saying anything new. Essentially still the same message – break things up into smaller, more-focussed units, and solve problems using the most appropriate technology. Quite enjoying the Ayende-Dahan micro-ISV face-off though. Which service bus should I go for…?

And today’s winner is … LMAX.

Things I missed but would like to catch up on:
Introduction: Cloud Solutions
Beyond the Data Grid - Designing for Actor Model, Social Networks, Scalable Search

No comments: