Project Description
About Yahoo Rivals
Founded in 2001, Rivals was the first online company to place a heavy emphasis on football and basketball recruiting. Powered by more than 300 writers, reporters, and publishers, Rivals is the most respected name in team-specific college sports coverage and a major authority on college football and basketball recruiting.
The Challenge
The Rivals community is active throughout the year and peaks on Football National Signing Day in February with over 2 million site visitors. User experience is vital, as is rapid deployment of content, scalability, reliability, and performance. When Rivals needed greater scalability for their new site release, they turned to WSM to architect a DevOps process and design a cost-effective Cloud Architecture to power the platform.
The Solution
Custom Deployment Pipeline
The new Rivals infrastructure employs a blue/green deployment pipeline, with new cloud servers provisioned and tested prior to each new release. To achieve this, WSM developed a custom deployment tool using the Rackspace Cloud API and F5 load balance API, which can provision new servers and switch IP address assignment on the F5 load balancer on demand once a release is validated.
Deploy, Test, Validate
Once provisioned, each server is bootstrapped with Puppet using an agentless deployment model. Each new software release is tested and validated through a CI/CD process. Local development takes place in Vagrant with each release tested in staging prior to production approval.
Load Testing
Prior to the first release of the new Rivals infrastructure, several custom load tests were created and executed by WSM. This helped resolve several bottlenecks before the site was taken live. Automated load testing can also be scheduled during off-peak hours to validate that the environment is prepared for high levels of traffic.
Scalability
For peak traffic days, the web servers can be quickly scaled by additional servers through the custom command line interface. Auto-scaling policies were also created to add servers on-demand based on traffic patterns. A threshold was set using averages across various server metrics which will trigger the server environment to scale up or down as appropriate.
The Results
- Allows Rivals to quickly scale their entire network or just a single school in the network, as needed
- Puts each software release through testing before public traffic is routed to the release
- All servers meet exactly the same set of specifications
- Increase in performance and better user experience due to load testing and auto-scaling