By Kevin Yank

Design Contests 2.0 to Launch without Servers

By Kevin Yank

The team here at SitePoint HQ seems to be holding its breath over the imminent release of the revamped SitePoint Design Contests. After many days, evenings and weekends of intense development, the application is now on the verge of going live … weeks before its servers are ready! This minor miracle—and several others—have been made possible by the Amazon Elastic Compute Cloud.

As if the planned from-scratch rewrite of the existing functionality on a state-of-the-art, multi-server scalable PHP 5 architecture and with a totally standards-compliant front end weren’t a big enough job, the project became more and more ambitious over time, with new features and usability improvements being added in at every stage.

Meanwhile, the development tools were changing too. To give just one example, the team took a weekend to throw together a continuous integration framework that would make it easier to deploy builds to the staging server and send emails to the team when a change to the application broke the automated tests.

Even the infrastructure was a moving target. After a lengthy planning period during which a shiny cluster of new, dedicated servers was assembled on paper and shopped around to various hosts, the team got wind of a number of success stories based on the Amazon Elastic Compute Cloud (EC2), currently in beta.

amazon web servicesIn short, EC2 lets you host your web site on’s servers. The service makes it look like your application is running on your own cluster of dedicated physical servers, when in fact these servers are being simulated using CPU virtualization technology.

You just upload a hard disk image to Amazon, and then you can add and remove virtual servers running that disk image as you need them to meet the demands your site’s traffic. And best of all, they cost a lot less to run than real, physical servers!

Of course, all this server magic comes with added complexity on the administration side, so the team spent another weekend building a tool to automatically administer a cluster of EC2 servers.

Though EC2 is still in beta, the service has gone from a curious side project to the primary server platform of SitePoint Design Contests 2.0! The site will actually be launched several weeks before our new server cluster is ready, and will initially run entirely on Amazon EC2. Assuming all goes well, our physical servers will act as a back-up in case the EC2 ever goes down.

Of course, there is still a laundry list of planned enhancements to come following the launch, so the team is by no means at the end of its journey. And then there’s the SitePoint Marketplace 2.0 project, which will also be completed and launched in the coming weeks.

Hopefully I can snaffle some of the team’s time to write up the more interesting parts of this technological marvel that they have pulled together. In the meantime, join me in congratulating them on the launch when Design Contests 2.0 goes live!

  • very cool! but is it really launching without servers though? ;)

  • need a beta tester? i am very interested in this project.

  • Sounds ubber complex… looking forward to the unveiling

  • klassicd: Thanks for volunteering, but were very lucky with beta testing — we had far more volunteers than we expected and they unconvered less bugs than we expected. Now we’re ready for the next step :D

  • Don Wilson

    and now the contest area is down ;)

  • We’re in the process of launching it now!

  • createabit

    I haven’t been able to access the contest area for 6 hours. I am located in South Carolina, US.

  • Tim

    Are you guys using Cruise Control for your automated build process? If so, what do you think of it?

  • createabit

    Tried to access the contest area and received the following message:

    An Error has Occurred

    Unhandled exception: No database connections available for the role of ‘reader’

    An unexpected system error has occurred. Our customer support team has been notified and someone will investigate the problem shortly.

  • radesign

    Looking cool.. :)
    Working fine from south east Asia… congrats!

  • Thanks, createabit. We’re aware of this error and are working on it.

  • createabit

    Hello Again,

    I received these 3 errors trying to access the contest area, login, and shortlist.

    The requested URL could not be retrieved

    While trying to retrieve the URL:

    The following error was encountered:

    * Zero Sized Reply

    Squid did not receive any data for this request.

    Your cache administrator is
    Generated Fri, 07 Sep 2007 19:36:57 GMT by domU-12-31-35-00-3D-14.z-2.compute-1.internal (squid/2.5.STABLE14)

    Second Error

    ( ! ) Fatal error: Exception thrown without a stack frame in Unknown on line 0
    Call Stack
    # Time Memory Function Location
    1 0.1053 1311612 Sitepoint_ErrorHandler->handleException( ) ../ErrorHandler.php:0
    2 0.1066 1323252 Sitepoint_ErrorHandler->_showErrorPage( ) ../ErrorHandler.php:68

    3rd Error

    The requested URL could not be retrieved

    While trying to retrieve the URL:

    The following error was encountered:

    * Zero Sized Reply

    Squid did not receive any data for this request.

    Your cache administrator is
    Generated Fri, 07 Sep 2007 19:41:22 GMT by domU-12-31-35-00-3D-14.z-2.compute-1.internal (squid/2.5.STABLE14)

Get the latest in Front-end, once a week, for free.