I was going to write this yesterday, but had a fun stomach flu and was literally in bed all day. Feeling much better now, though still tired.

Friday at work we launched the new Suzuki Canada homepage and Automotive site. I haven't had much time to write about it because we've been so busy, but I hope to write more about in-progress projects in the future.

It's an pretty cool site technically, using Groovy on Grails and Flex. The developers and designers did a great job, but my main responsibility is deployment and infrastructure, so I'll go into that a bit.

As far as deployment goes, Groovy compiles to Java byte-code, so we're just pushing a .war file to a Java container. We're using Jetty as our container -- it's what Grails uses by default when you do a run-app, and we don't need the advanced features in the larger app servers.

One deployment issue we ran across is that Grails creates a lot of dynamic classes, which can chew through the default 64Mb of PermGen space pretty quickly, and in some cases during QA we were getting PermGen out of memory errors. So we added the -XX:MaxPermSize=256m flag when starting the container, and everything's been good since.

We front-end Jetty with Apache 2.2 on the same box, which serves static content directly and forwards dynamic requests to Jetty on localhost using mod_proxy. Originally I was using ProxyPass directives in the Apache config, but it wasn't granular enough, so moved to using mod_rewrite rules with [P] flags. Very cool.

One of the things we wanted to do with this site is aggressively cache content, as we don't want Jetty working harder than it needs to. We also needed a load balancing solution in the production environment, because we have two web/app servers to reduce our downtime requirements for deployments and patching. So we went with Varnish, which is both a caching HTTP accelerator and a load balancer. I'm very happy with Varnish, and will write more about it later.

I've been watching the site and servers for the past couple of days (even while battling the flu) and all told I'm quite happy with how things are working. We'll see how it looks after the first couple of weeks of shakedown traffic.