The inaugural DiUS Innovation Challenge: “Zeroing Iteration Zero”(0I0), challenged teams to reduce the time required to set up a project’s environments from a number of days to two hours.

Daryl Wilding-McBride,CTO, DiUS Computing, said “When we’re starting a new project, we know setup is waste, so it was easy to choose reducing iteration zero as our first innovation challenge. With this outcome, we can start delivering business features and value a lot sooner.”

We’re pleased to announce that three teams met the objective.The winning solution came from a team that built a Rails application that automatically sets up the environments, deploys a skeleton application and its dependencies, configures their DNS settings, and establishes the project dashboard, within a little more than one hour.

Steven Bartlett, Team Lead, Winning Team and Senior Consultant at DiUS, said “We really enjoyed combining the productivity of Rails with the power of scriptable elastic infrastructure to meet this challenge. It was also important to us that other people can add new tech stacks to the system.”

All three 0I0 entries that met the objective will be open-sourced. DiUS has combined the best features from these entries, and create a product, Zerobot, that will be used to make iteration zero easy. It will save setup time on future projects, saving clients time and delivering business features sooner.

More about the winning solution

Architecture of the winning I0I solution

Tech stack of the Launch Pad

  • Rails 3
  • EC2
  • MySQL
  • Nginx
  • Unicorn
  • Backbone.js
  • Bootstrap
  • AWS SDK for Ruby
  • DelayedJob

Tech stack of the environments

Rails Tech Stack

  • Rails 3
  • Sample bundle file
  • RDS (+)
  • MySQL (+)
  • Nginx (+)
  • Unicorn (+)
  • Ruby 1.9.3 (+)

Grails Tech Stack

  • Grails 2
  • Tomcat 7 (+)
  • Nginx (+)
  • MySQL (+)
  • JDK 1.6 (+)

Note: Items denoted with (+) are deployed with CloudFormation. All other items are deployed with Capistrano.

AWS products used

  • Elastic Compute Cloud (EC2)
  • CloudFormation
  • Elastic Block Store (EBS)
  • Simple Storage Service (S3)
  • Route 53
  • Elastic Load Balancing
  • Identity & Access Management (IAM)
  • Simple Queue Service (SQS)
  • Relational Database Service (RDS)
  • CloudWatch