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.
How we moved from EC2 Classic to EC2 VPC.
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.
Follow the steps outlined in our cookbook README to get an ElasticSearch cluster running in your OpsWorks stack.
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.
How to improve performance of multi-zone database access without sacrificing redundancy.
Starting now the Sport Ngin platform is sending mail through two services: SendGrid and our new provider Mailgun.
Zero downtime is a big deal to us. How big? Read on and find out!
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.