Scaled from 500 to 10,000 concurrent users
Some people say Ruby on Rails can't scale. We say: bring on the challenge. We helped Chicago Mainstream Media scale their web application - built using Ruby on Rails - from 500 to 10,000 concurrent users. Prior to crafting their solution we ran numerous tests (using Loader.io) to pinpoint the bottlenecks in their existing architecture. Once we isolated the problem areas, we designed a custom Amazon Web Services auto-scaling strategy to meet their needs. We utilized a step-wise autoscaling strategy to trigger scales at pre-defined trigger points. From our testing, we determined network in to be the most reliable data point for triggering scale up - and subsequent scale down - events.
The solution we developed for CMM provided a balance of reliability and cost effectiveness. Obviously, one could simply scale up the requisite number of servers to handle any possible load, but this becomes cost prohibitive at scale. Therefore, we were able to leverage an auto-scaling strategy to intelligently scale the required resources up and down on an as-needed basis, saving a great deal on server costs.