As a U.K. startup with a $1 billion dollar valuation—a “unicorn”—FanDuel is no stranger to rapid growth. Its fantasy sports platform, with one million active paying users, is currently one of the largest in the world. The company has taken the traditional concept of season-long fantasy games that award prizes once a year, and given users an entirely different proposition: the option to assemble a team for a certain event or specific game run by the National Football League (NFL), Major League Baseball (MLB), National Basketball Association (NBA), and National Hockey League (NHL). Sports fans have a budget cap—$60,000 in the case of an NFL game—and pick their players according to criteria such as price and recent form.
Since its launch in 2009, FanDuel’s service has grown greatly in popularity. With games being played every day, the firm’s infrastructure has to be highly elastic to cope with significant traffic spikes. Director of Architecture Alan Murray describes a typical lead-up to a big game: “The main NFL games, including our marquee contest, the NFL Sunday Million, start at 13:00 Eastern Time. Activity in the hour leading up to game start is frenetic, with some customers submitting new entries, and others editing their existing lineups in response to late-breaking player news, for example. We’re looking at handling around 300 edits per second while processing a similar number of new entries. This generates a lot of platform activity.”
This hour is critical to the business. “If our platform suffered an outage,” says Murray, “not only would it be disastrous from a PR perspective, but there would be significant revenue impact too.”
The IT infrastructure supporting the business has to be responsive to these extreme demands. Head of Infrastructure Steve Hunt continues, “Elasticity is important. And of course we need to ensure high availability and speed to provide a good experience to customers. But our main goal in pursuing a cloud model was to save time on all the systems admin we had to do on our old infrastructure.”
FanDuel has been running its fantasy sports service on Amazon Web Services (AWS) since 2012. “We’ve always had more of a DevOps than a system admin approach,” says Hunt, “which is why AWS is a good fit for us.”
It uses core AWS technologies such as Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2) instances, with Auto Scaling groups and Elastic Load Balancing to ensure seamless capacity provision.
The team is using Amazon RDS for Aurora (Amazon Aurora), which Hunt says has been perfect for the firm’s high-performance needs: “Amazon Aurora is great. The failover plans are amazing,” he says. In addition, Amazon ElastiCache supports the open-source in-memory caching engine Redis, and Amazon DynamoDB stores post-game information such as final scores. “With Amazon DynamoDB, we don’t have to worry about latency—it retrieves all this information extremely quickly,” says Hunt.
For security and administration, FanDuel uses AWS resources including AWS Identity and Access Management (IAM) to control access to services and Amazon CloudTrail, which records API logs. It sets alarms to track capacity provision through Amazon CloudWatch, and AWS Config provides FanDuel with a fully managed resource inventory service.
The company makes extensive use of Amazon Elastic MapReduce (Amazon EMR) and Amazon Redshift for running large-scale queries, which form a vital part of its business reporting. The DevOps team is exploring AWS Lambda, primarily for internal services so far, and is making inroads with the Amazon Kinesis real-time data-processing service.
FanDuel is using Enterprise-level AWS Support, which it calls on to make sure services run smoothly. In addition, AWS Support has proved useful in helping the team prepare for specific events that require a large boost in resources over a short period.
Both Hunt and Murray are keen to stress that the FanDuel ethos is one of innovation rather than IT ops. “It’s not our business to run servers,” says Hunt. “We want to build our systems, not manage hardware—in short, we’re happy to let AWS do the undifferentiated heavy lifting. The services that we use liberate our DevOps team from managing the infrastructure and allow them to focus on capabilities that get new features to our customers quicker.” Murray continues, “Using AWS, we don’t have to deal with day-to-day issues like networking. AWS just gets rid of those type of headaches.”
Having a highly elastic infrastructure is essential for FanDuel to cope with the profile of contest entry and edit activity in the run-up to game start. These levels can go from tens per second to hundreds per second very quickly, as hundreds of thousands of users use our platform at the same time. Hunt says, “On a big game day, leading up to game start, we use Auto Scaling to add servers when the CPU load reaches 40 percent across the board. So three minutes later we have doubled the size of a compute group and we can keep adding capacity for as long as is required. On an NFL Sunday, for instance, each Auto Scaling group can grow up to 20 times to accommodate game traffic. The platform just handles it.”
FanDuel customers rely on the ability to submit and make changes to entries at any time without disruption. “We’ve designed our platform for high availability and a consistent user experience,” says Hunt. “Using AWS, our uptime is close to 100 percent.” In creating this near-zero downtime environment, FanDuel has benefitted from AWS support—from regular contact with its dedicated technical account manager to talking to senior specialists at the AWS re:Invent conference about specific challenges. Hunt says, “The support from AWS has been really good. We’ve talked to AWS product managers on numerous occasions, and they’ve helped us understand exactly what we need to know about how to configure various aspects of our infrastructure—like failover, for example, which is incredibly important to us because it ensures that our systems stay up.”
Working in the AWS cloud gives FanDuel the confidence that its business has a solid foundation for growth. Murray concludes, “The AWS roadmap is a reflection of what people need, not what AWS wants to do. We like being part of that and having the ability to influence the development of services, which in turn makes our own services better.”
To learn more about how AWS can help you run your gaming website, visit our websites details page.