Ideally we'd be able to compose 99designs.com out of several top-level web applications. There are many challenges with this, for instance:
- How do we manage routing and route generation, cross-application?
- How do we manage sessions without shared db access?
- How do we handle shared UI like alert bars and unified headers?
On the whole, these problems are solvable. For routing we could just use Varnish, with some custom code to read routemaps from the apps, or we could use something like Mongrel2. Alternately, a Go-lang HTTP/SPDY terminator would be pretty damn quick and flexible.