Using AWS, we can automatically scale to support large traffic spikes. Over the last Christmas holiday, we met traffic demands for
Watch Dogs 2 by scaling up to 120 relay servers, routing 70 terabytes of data in 20 days.

Eric FortinTechnical Architect

About Ubisoft

Ubisoft is a leading creator, publisher, and distributor of interactive entertainment and services, with a rich portfolio of world-renowned brands, including Assassin’s Creed, Just Dance, Tom Clancy’s video game series, Rayman, Far Cry, and Watch Dogs. Headquartered in Paris, France, Ubisoft’s teams are committed to delivering original and memorable gaming experiences across all popular platforms, including multiplayer experiences enjoyed by millions of gamers around the world.

Ubisoft creates, publishes, and distributes popular interactive video games for players throughout the world. One of the company’s more popular recent games is Watch Dogs, a game that follows the adventures of a computer hacker.

As it prepared to launch the sequel to Watch Dogs, Ubisoft needed a better platform to support Storm, its multiplayer technology platform. With Storm, Ubisoft gives players the ability to compete against each other and interact via a massively scalable relay service. “The Storm platform uses servers to relay game traffic, but we had some technical issues,” says Eric Fortin, technical architect at Ubisoft Montreal. “Peer-to-peer connections weren’t always possible, and we saw a lot of problems with players’ public IPs.”

Ubisoft also needed an easier way to scale traffic relay for its multiplayer games. “We wanted to automatically scale our service to support the large traffic increases we see during the holidays each year,” Fortin says. Additionally, the company sought an easy-to-use management solution for the Storm platform, which is managed and delivered via Docker containers. “We only have three developers on my team, and we want to focus on developing new features, not managing backend services.”

Ubisoft decided to move its Storm platform—and several online multiplayer games—to the cloud to simplify management and increase reliability and scalability. After a short evaluation phase, Ubisoft chose the Amazon Web Services (AWS) Cloud. “The range of services provided by AWS is overwhelming, so the decision was easy for us,” says Fortin. Additionally, other Ubisoft business areas had been using AWS for several years to speed development of new games and scale on demand. “We saw how effective AWS was in terms of scalability and agility, and that definitely influenced our decision to go with AWS.”

Ubisoft moved its development, staging, and production environments to AWS for Storm, running on 40 Amazon Elastic Compute Cloud (Amazon EC2) instances. The company also uses Auto Scaling for automated provisioning of compute resources, and takes advantage of the orchestration features in Amazon EC2 Container Service (Amazon ECS) to manage the Storm relay service. “We had been scheduling Docker containers manually, but Amazon ECS takes care of that for us now,” says Fortin. Ubisoft uses Amazon ElastiCache to set up and manage distributed in-memory data stores.

The Storm solution routes traffic between two consoles through AWS. Based on the number of players using the solution, Ubisoft can automatically scale the service up or down. Ubisoft debuted Storm for its Watch Dogs 2 action-adventure game in late 2016, and plans to use the service for other upcoming releases.

Ubisoft can now easily scale Storm using AWS. “Scalability is mandatory for us, because our gaming service is global and we don’t spin up new stacks for each game to meet demand,” says Fortin. “Using AWS, we can automatically scale to support large traffic spikes. Over the last Christmas holiday, we met traffic demands for Watch Dogs 2 by scaling up to 120 relay servers, routing 70 terabytes of data in 20 days.”

The company can more easily manage its Storm relay service by using Amazon ECS. “Managing Storm is very simple now, because we use Amazon ECS for orchestration and deployment,” says Fortin. “And combined with Auto Scaling groups, it essentially becomes a container-as-a-service model. As a managed service, Amazon ECS does everything for us—it always works and we don’t need to spend time maintaining it.” As an example, Fortin points to the automated scalability of Watch Dogs 2. “We operated 120 servers with a team of three people here, because we didn’t have to spend our time managing the backend,” he says. “Instead of installing and overseeing a management and orchestration tool ourselves—which would have taken us weeks—we configured our service to support the traffic spike in a few days using Amazon ECS.”

Ubisoft is now more agile because it runs its solutions in the cloud. “By taking advantage of AWS, we have agility we would have never had in an on-premises IT environment,” says Fortin. “As a result, we can try things much faster. For instance, we can spin up a new Redis database in a few seconds using Amazon ElastiCache, instead of installing and configuring the database on our own.”

Taking advantage of this agility, Ubisoft can deploy new features and updates faster than before. “We do rolling deployments in three regions in less than 30 minutes, because we use Amazon ECS for all our updates,” says Fortin. “By using AWS, we have the autonomy to try new things very quickly, so we don’t spend weeks investigating something to see if it will work. That speed and agility ultimately makes us more competitive.”