Last week, I was lucky to go to QCon 2008 in London to meet with all the big names in the software industry. This was a great opportunity to see what everyone’s working on and to get a feeling for the newest trends in software development. Here’s what my gut says about the world of software development after QCon 2008 (part 1):
Erich Gamma’s keynote was basically a promotion talk for IBM Rational‘s newest product called Jazz. It’s a project management software, like Jira (the one we use), but it goes far beyond in terms of integration, because it works so well with Eclipse. Furthermore, it seems to have a good system for managing development teams. All in all it seems like a nice product – I especially like the fact that it was made in respect of agile development techniques. The big question that remains is: How well does it work with PHP? Unfortunately, there seem to be no public slides for this presentation.
Programming The Cloud
Amazon Webservices, Google GData, Yahoo Pipes and a little bit of (legacy) Gregor Hohpe, that’s what the cloud programming track was about. Nowadays, you can build complete applications just by plugging together those blocks of services (except Gregor – you’ll have to read his book instead :-)). Although people (like fellow webtuesday developer Tristan Woerth) have done it for some time now, I think that it wasn’t until now that everyone really got aware of these tools.
Need some more storage? Take S3. Need to quickly scale up with another 20 servers? Take EC2! Need to get to a user’s mails, calender and other stuff? Use the services of Facebook, Google and Yahoo. In the end, just mash it all together with Yahoo! pipes! I think it was Nati Shalom, who made this interesting remark about cloud computing: Developing new applications yields very small risks nowadays, because it’s so cheap & easy to plug together your application. If you stumble, you won’t fall hard. And if you succeed, the cloud will do the heavy lifting and help you scaling out. In my opinion, this could be the next big leap to make (web) development again more agile after the uprise of dynamically typed languages.
Here’s a list of the interesting talks & slides on this track:
- Amazon Services: Building blocks for true Internet applications – by Jeff Barr
- Application services on the web: SalesForce.com – by Dave Carroll
- Google GData: reading and writing data on the web – by Frank Mantek
- Yahoo Pipes: Middleware in the Cloud – by Jonathan Trevor
What we would need now is more “cloud vendors” to reduce the risk of a provider lock-in. The more shoulders we have to stand on, the more stable it’s going to be! It might happen at any time, that one of them would go out of business, taking you down as well. Also, we’d need to standardize the services. Oh well…
The Banking Track
The banking track went mostly like this: “We’re the best, but I’m not allowed to tell you why”. Needless to say, it was quite disappointing. If you’re a bank and you’re not allowed to reveal any architectural details (or maybe you don’t want to, because you might embarass yourself in front of the open source geeks), you shouldn’t talk at a conference. There was a blissful exception though at the Architecture Track: The frenchies of BNP Paribas (another bank) somehow managed to convince their superiors to use open source solutions and were eager to tell us a story about it (no slides yet). Maybe I’ll get back to that in another post.
I think, the best talk on the Banking Track was held by Iain Mortimer, Chief Architect at Merill Lynch. He told us how they gather 9 billlion monitoring messages a day! It turns out that every component in their infrastructure and application stack is constantly producing monitoring messages and they really seem to care about microsecond latencies while doing so.
Naturally, the most challenging task is to make sense of this log tsunami. The goal is to reliably spot system failures without getting spammed by useless alerts. So if for example your hard disk is full, your system will produce tons of error messages: First of all you’ll get a capacity error. Then, files can’t be written anymore, queries fail, your service queues stack up and finally, you’ll run out of memory. Every one of these failures will generate a lot of redundant error messages. However, the one and only message you’re interested in, is that your disk is full. Fixing it will make the others disappear – that’s called correlation.
So Merill came up with this nice message correlation priority list, which categorizes messages by urgency and finds correlation between them. With this, the log analyzer ignores all correlating messages, except for the most urgent one. Unfortunately, there are no slides available (yet).
Imagine Martin Fowler (in his beloved leather pants) dancing on stage while Jim Webber is giving another rant on bloated enterprise middleware (check out his last take on ESB’s). Of course, I’m talking about the evil Enterprise Service Bus, which has become so fat, that it’s grown enterprise manboobs! The slides speak for themselves, get them here! Unfortunately, there’s no video yet.