skip navigation

Here you will find ideas and code straight from the Software Development Team at SportsEngine. Our focus is on building great software products for the world of youth and amateur sports. We are fortunate to be able to combine our love of sports with our passion for writing code.

The SportsEngine application originated in 2006 as a single Ruby on Rails 1.2 application. Today the SportsEngine Platform is composed of more than 20 applications built on Rails and Node.js, forming a service oriented architecture that is poised to scale for the future.

About Us
Home

High Availability

Changing Data Centers - One Step at a Time

02/27/2015, 11:00am CST
By Luke Ludwig

How we moved from EC2 Classic to EC2 VPC.

How we moved from EC2 Classic to EC2 VPC.

Swap it Like it's Hot

11/12/2013, 2:30pm CST
By Andy Fleener

Perform fast zero downtime deploys with almost any app server you want using the hot-swap deployment algorithm.

At Sport Ngin we take downtime seriously. Ensuring that the platform is up and running at all times is imperative. Even seconds of downtime deploying an application is unacceptable. We've used a technique on our ruby apps for quite some time called a rolling deploy. The rolling deploy algorithm is great and we still use it for several of our applications. But as we've moved to a more Service Oriented Architecture rolling deploys left us wanting more.

ElasticSearch on OpsWorks

09/19/2013, 2:15pm CDT
By Ian Ehlert

A quick guide with some open sourced chef recipes to get ElasticSearch up and running on AWS OpsWorks.

Follow the steps outlined in our cookbook README to get an ElasticSearch cluster running in your OpsWorks stack.

OK Computer: Application Health Monitoring with No Surprises

06/28/2013, 9:15am CDT
By Patrick Byrne

We built OK Computer for configurable application health checks. We've been using it in production for a while now and think you'll find it useful.

In the past, we've used fitter_happier for this purpose. Then, we added MongoDB to one of our applications. To check the connection to that database, we had to monkey-patch fitter_happier, which didn't sit well with us. We also wanted to check that our Resque queues weren't backed up, which necessitated further monkey-patching.

1

To Affinity and Beyond

04/09/2013, 5:30pm CDT
By Patrick Byrne

How to improve performance of multi-zone database access without sacrificing redundancy.

How to improve performance of multi-zone database access without sacrificing redundancy.

SendGrid Outage Drives Home the Importance of Redundancy

04/01/2013, 2:45pm CDT
By Luke Ludwig

Starting now the Sport Ngin platform is sending mail through two services: SendGrid and our new provider Mailgun.

Starting now the Sport Ngin platform is sending mail through two services: SendGrid and our new provider Mailgun.

Zeroing in on Zero Downtime

06/05/2012, 7:07am CDT
By Patrick Byrne

Zero downtime is a big deal to us. How big? Read on and find out!

Zero downtime is a big deal to us. How big? Read on and find out!

1

By overriding the ActiveRecord::Base.columns method we are able to avoid the ActiveRecord::StatementInvalid exception thrown when removing a column from a table.

At TST Media we deploy updates to our NGIN application frequently without downtime during peak traffic periods. These updates range from minor bug fixes to multiple feature rollouts with migrations against the database. Difficulties arise when migrations are involved that modify or remove existing columns.

2