Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

Host(s)

Markus

Guest(s)

Matthew Wall
Erik Doernenburg

Recording venue


In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and interactivity, their use of Domain Driven Design, some of the technical building blocks as well as the approaches they use for performance measuring and scalability tuning.




Comments

Compliments

Nice interview. I like the "this is what we did and how"

No problems solved, but a nice overview of how they worked and strugled. Good to hear about the tools they use. And how they grow over time.

Thanks for the podcast.

Bram van Oosterhout

Nice to hear some real stats from real engineers

IT architecture seems to be a bit like that job question, how much do you earn? it seems to be seldom talked about. This was a very good interview with a lot of interesting information on the architecture and the specific tools and techniques used to rebuild a web site into a best of breed site. This was particularly interesting form me as my company is doing pretty much the same thing, 2 year project, bring in agile approach, create a software stack to be deployed across a number of related sites, Millions of unique browsers per month.

Just a question, is there a chance of getting a link to the slides as they were presented at any number of conferences? it seems that the JAOO ones are password protected, to participants? There is also OOP 2008 and TheServerSide 2007 according to http://erik.doernenburg.com/talks/

cheers Michael

Thanks

Thanks saramic for your comment. We have a couple of slide decks, one from OOP2008 / Jaoo and one from Xtech which we presented in Dublin the other day going into a little more detail on our information architecture. I'm at home at the moment and don't have the slides with me but I'll get them over to you when I get back in the office.

Good luck with your project!

Mat

Slide deck

I've now uploaded the slide deck we used at OOP 2008 to my site. You can find it at: http://erik.doernenburg.com/talks/#gu

That said, you'll probably find that the slides don't make too much sense without Mat and I talking. Not a big fan of PowerPoint prose.

this was an excellent

this was an excellent interview - the right level of detail and interesting discussions about solving problems and tackling complexity.

More case studies like this please!!!

R

Slides + technologies

Hi Erik,

I too found your interview extremely interesting, as it talks about a technology stack that is almost the same as the project that I'm currently working on. I would love to have a look at any presentation slides that you may have prepared for your talks. I am particularly interested in the build and multi-phased testing infrastructure you described. What sort of technologies did you use for your acceptance/functional tests? What about load, scalability, penetration and accessibility tests?

Thanks.

Alexander Yap
Consultant
ThoughtWorks Australia

Alexander, I'm at home at

Alexander,

I'm at home at the moment and don't have my slides to hand but I'll ensure that I get them over to you when I get back into the office.

A brief overview of our testing phase is as follows:
1: TDD everywhere. We are an agile team and use TDD to design our software so have around 90% unit test coverage using standard Junit, EasyMock and recently Mockito. Mockito is a very lightweight mocking framework and we have found it very useful and are thinking of adopting it as our standard framework for unit testing.

2: CruiseControl. We have two cruise pipelines, one that runs our unit tests and one that runs our integration / acceptance tests. The integration pipeline is more complex than simply running unit tests as we deploy the application to our container here and run end to end functional tests using Selenium.

Testing in the browser is not trivial and working with selenium does have issues. You need to code your tests defensively to ensure that you don't get timeouts etc. We have a general rule that if Selenium does not have the capability to easily test a particular piece of functionality reliably then we do not write an automated test and rely on our QA function to manually test.

Performance test is critical. First of all, ensure that you are testing on as close you can get to the production hardware. Obviously this is expensive, so we test on a vertical slice of the hardware scaled down from production. We also need to represent the production traffic as closely as possible so in each test run we extract the previous weeks logs from the production site and run them against the new build. This gives us reasonable confidence with old data, but does not test the new functionality. To test the new functionality the only thing we can really do is make an educated guess as to what the traffic patterns are likely to be and to simulate them.

The sorts of thing that we monitor in our test are the average response time, number of concurrent threads, length of the database connection pool queue, average db response time, system load and free memory.

Thanks for the comment, hope this was of help. Let me know if you'd like more detail on anything.

Mat

Question re Selenium tests?

Hi Mat,

Thanks for the info.
A question about your Selenium tests. Did you drive your Selenium tests using the tables format, or via Java code, or using a behaviour-driven framework like story-runner?

Alexander Yap
Consultant
ThoughtWorks Australia

Selenium tests

Alexander,

We drive our Selenium tests via Java code. For each screen in our administration application we have a Java abstraction that can drive the screen in Selenium. This means that developers don't have to switch mindsets too much when writing acceptance tests.

Hardware monitoring tool

Hi,

It sounded like a nifty tool for monitoring hardware usage/stats was mentioned, but I couldn't catch the name, and my phonetic Googling wasn't up to the task. Could someone familiar with it let me know the actual name?

Thanks,

Andrew

Zabbix, Cacti & OEM

We use Zabbix to monitor the various system attributes in our architecture. We also use Oracle Enterprise Manager to monitor the database and Cacti for realtime monitoring of services.

Cheers

Mat

Thanks

Hi Mat,

Thanks - I was having a very difficult time trying to guess likely spellings using Google :-)

Cheers,

Andrew

Zabbix

We use Zabbix to monitor the various system attributes in our architecture. We also use Oracle Enterprise Manager to monitor the database and Cacti for realtime monitoring of services.

Cheers

Mat

Syndicate content