They mentioned that S3 is too slow for customers, so they serve the data from their app and cache it. Later they mentioned the site is slow for non-US users and they are looking at a CDN for their static assets.
I wonder, have they looked at Cloudfront, which would solve both of these problems for them?
In our current model, some of our static media are generated asynchronously, but basically on demand. That's the main reason why we don't serve media directly from Cloudfront/S3. We're certainly considering Cloudfront with a custom origin as on the possible CDNs.
99Designs seems to be almost entirely dynamic and likely changing all the time. Why is there a need for so many varnish servers? Why did you go with (slower) Varnish over nginx or gwan? There seems like alot of infrastructure in place for the traffic levels.
I only ask because we run nginx as a cache and the vast majority of our content is served directly from it ( almost 80% of page loads are served via cache ) and a single nginx process handles everything for us.
We use Varnish because it's configurable, and have 6-8x more app servers than cache servers. In the future we'll scale back the Varnish layer, since more and more of what it does will be handled via CDN.
We started 99designs to provide opportunities to designers. Each month more and more designers make meaningful salaries from the site and connect with customers that they would otherwise have had to pitch for. Customers who wouldn't have previously paid for design are learning design is worth paying for.
It's hard for any industry to face change, but developers survived outsourcing and photographers survived stock photography. Both industries are still flourishing.
You forgot to mention that the precursor to 99designs - Sitepoint Marketplace - was initiated by designers themselves. It only happened because designers wanted it. If 99designs didn't formalise it, someone else would've. It's called emergence; it's one of the most fundamental processes in society and indeed nature.
I had the worst experience using 99designs. The "designers" were terrible. The sketches they submitted shows that they barely have any design skills, when I reject their designs they start to complain and build up bad reputation around you.
Most if not all freelancing sites start well until they are discovered by unqualified people from India and the likes.
Even many US & UK based designers find it more more worthwhile to use 99designs as a customer acquisition channel vs. doing unpaid proposal writing, pitching, or expensive paid advertising which has no guarantee of results.
I wonder, have they looked at Cloudfront, which would solve both of these problems for them?