Continuous Delivery of New Code

As anyone who uses RunSignUp knows, we  are rapidly innovating – just take a look at this blog.  There are several secrets to our fast cycle time – great developers, limited scope and focus just on the running market, wonderful customers who give us amazing feedback, and a software infrastructure that is built for fast paced changes.

The infrastructure is built on Amazon’s Cloud and a number of their services, PHP and MySQL.  For the true techies, we have a complete object model with a MVC architecture.  PHP is a wonderful web-based platform that allows us to change just one page without any downtime on the website.  This allows us to make a change quickly and completely transparent to users.

We are working on implementing a new set of services that will automate our releases and testing even more.  Right now a developer makes changes and pushes them to our Github repository from their laptops.  They then run a script that pushes the changes to one of our test environments.  When the tests look good they will push to production.

CloudBees DEV@Cloud
CloudBees DEV@Cloud

The new system will rely on CloudBees DEV@Cloud service to automate this process.  The key ingredient they have in Jenkins, which is the leading Build system used today.  With CloudBees, we will be able to orchestrate or own “workflow” that happens to build, test, and release our software.  Since we do this about 20 times per week currently, the new automation will save us time and increase quality.  The screen shot at the right shows one of the console shots of the builds we run.  The coolest thing about this is it can watch our Github repository and automatically pick up changes, build them and deploy them and test them. If OK, it will then automatically deploy it to our users.

SauceLabs Browser Testing
SauceLabs Browser Testing

The other tool we are using is SauceLabs.  One of our biggest issues is the number and types of browsers.  If we make a change, it might not work on some of them – especially those old Internet Explorer browsers on PC’s and Safari browsers on old Mac’s.  Since we want to make sure ALL of the runners who want to sign up for your race are able to, we need to make sure things will work for everyone.  The screen shot at the right shows SauceLabs in action.

SauceLabs

We will incrementally roll this out over the coning weeks and months, increasing our test coverage and quality as we move forward.  This will help us keep giving the running community the best solutions we can as quickly as possible.