Xbox Improves Services and Delivery Speed by Playing Games and Music in the Cloud Overview Customer: Xbox Customer Website: www.microsoft.com Customer Size: 128,000 employees Country or Region: United States Industry: Professional services— Software engineering Customer Profile Microsoft is a worldwide leader in software, services, devices, and solutions that help people and businesses realize their full potential. Xbox is its gaming and entertainment system enjoyed by millions of people. Business Situation As the Xbox business expanded, it needed more scalable storage and compute resources to continue to introduce new services and top-quality entertainment experiences. Solution Many Xbox teams have moved development activities, data storage, file encoding, and game play from Microsoft corporate datacenters into Microsoft Azure. Benefits Scale storage and compute on demand Ensure uninterrupted game play Deliver new features faster Create more competitive services “With the Azure team focused on making storage fast and efficient, we can spend more time figuring out how to make amazing games.” Michael Alyn Miller, Principal Software Architect, Social and Live Services Team, Xbox Live Xbox has grown far beyond its gaming console roots to include multiplayer online gaming, TV and movie streaming, video sharing, and music streaming services. To meet the business’s voracious appetite for storage and computing power, Xbox runs many cloud services in Microsoft Azure. With Azure, Xbox gains compute and storage scalability, resource availability to ensure uninterrupted play, the ability to deliver new features faster, and the freedom to keep its services fresh and competitive. “We wanted to get out of the server racking and stacking business and focus our time and talents on delivering great music services.” Joao Neto, Senior Development Lead for Xbox Media Services, Xbox Music Situation When Microsoft unveiled the Xbox gaming console in November 2001, it caused an immediate sensation. It was the first video game console offered by an American company, the first to come with an Ethernet port, signaling online gaming trends to come, and the first to offer multiplayer games. Today, Xbox is on its third generation, and the Xbox brand has been expanded to include not only console-based video gaming but also online entertainment such as TV, movie, music, and video streaming services (Xbox Live). More than 48 million people around the world enjoy Xbox games and entertainment today on Xbox Live. As the Xbox brand and offerings have expanded, so has the number of Microsoft teams managing them and the Microsoft datacenter resources hosting them (in the case of Internet-based services). By 2012, hundreds of thousands of servers were devoted to hosting online multiplayer gaming, encoding media files, and storing game information and music files. “With the evolution of our games and online services, we needed a more flexible, scalable datacenter infrastructure,” says Michael Alyn Miller, Principal Software Architect on the Xbox Live Social and Live Services team. ”We needed nontraditional kinds of storage for assets such as video clips, and we needed to decouple our services at the data level.” Xbox Live services such as multiplayer matchmaking and leaderboards (which track player scores) interacted at the data layer level, which made services interdependent and slowed new feature delivery. The Xbox Music team set out to aggressively expand its business but knew that it, too, would need a scalable, costeffective infrastructure to store tens of millions of song titles and encode hundreds of thousands of music files into dozens of file formats and bitrates. “We wanted to get out of the server racking and stacking business and focus our time and talents on delivering great music services,” says Joao Neto, Senior Development Lead for Xbox Media Services on the Xbox Music team. Solution One by one, different Xbox teams began to shift their datacenter assets and development efforts to Microsoft Azure, the Microsoft cloud platform that provides compute, storage, hosting, and management services from Microsoft datacenters. Xbox Live: Play in the Cloud In early 2012, the Xbox Live team kicked off an initiative to move as much data as possible into Azure and to train developers to develop in the cloud. “Azure Storage is very different from traditional database storage,” Miller says. “Much of our business logic ran inside of Microsoft SQL Server, and that logic needed to migrate to Azure. Our various services communicated through that data layer.” With the move to Azure, the Xbox Live team took the opportunity to re-architect its services so that they no longer shared a common database but instead communicated using high-level, service-toservice APIs. This decoupling of services from a shared data layer enabled the Xbox Live team to roll out new features at different rates. Today, many Xbox Live game-play features happen in Azure. The Achievement Snap Mode feature, for example, allows players to create two panels on their TV screen, one showing the game in progress and the other showing their achievements—laps completed or enemies vanquished—which gives players a live view of their progress in the game. In some multiplayer online games, such as Titanfall, the game-play simulation runs in an Azure Virtual Machine instead of on the players’ consoles. This frees the individual “With Azure, we can scale our compute and storage resources to whatever the music labels require. Sometimes we need to re-encode the entire catalog, which contains hundreds of millions of files, encoded from over 40 million music tracks.” Joao Neto, Senior Development Lead for Xbox Media Services, Xbox Music player consoles to devote their CPU power to the graphics and needs of the individual players while Azure handles the dynamics of multiplayer interactions. When a game is over, the software automatically recycles the Azure Virtual Machine for use by another set of players. Forza Motorsport 5 uses Azure to power the game’s Drivatar feature, which lets Forza fans race against their friends and Rivals, even when those players are offline. To do so, Azure observes and analyzes players’ in-game behaviors—including speed and aggression, as well as skills such as passing and cornering ability—to create a Drivatar profile for every Forza player, even predicting this behavior on tracks the player has yet to drive. These profiles are precisely modeled recreations of each Forza player’s tendencies, and the results are in-game opponents that display characteristics that are far more complex, lifelike, and realistic than traditional “A.I.” racing opponents. That means better, more thrilling, and more memorable races each time a Forza player hits the track. iOS, which required encoding content into more formats,” Neto says. “Azure gave us the global footprint with scalable compute and storage capabilities to accomplish all this.” Xbox Music uses Azure for three critical areas of its business: Cloud collection. Xbox Music customers’ music collections and playlists are stored in Azure Storage and delivered from the cloud to every device owned by a given customer—Xbox, the Xbox Web Player service, Windows-based PC or tablet, Window Phone, iPhone, Android phone, and other devices. As of August 2014, Xbox Music stores more than 32 million playlists in Azure. Total Azure Table storage is spread among 10 billion rows, with nearly 4,000 table transactions per second for this service. Media file encoding. Xbox Music receives about 230,000 media files from music labels every day, each of which it has to re-encode to 15 different formats and bitrates usable by customer applications. All of the file storage and encoding happens in Azure. Xbox Live uses Microsoft Azure Blob Storage to save games and other large chunks of unstructured data and uses Azure Table Storage to store game achievements and similar structured data. Some features, such as leaderboards, use both storage types. “With Azure, we can scale our compute and storage resources to whatever the music labels require,” Neto says. “Sometimes we need to re-encode the entire catalog, which contains hundreds of millions of files, encoded from more than 40 million music tracks.” With the scalability provided by Azure, Xbox Music can have thousands of encoding jobs running in parallel and encode at a peak capacity of 2 million tracks a day. Xbox Music uses over 2 petabytes of Azure Storage to store the encoded files. In fact, many Xbox Live features are hybrids, with some functions running in Azure and others in Microsoft corporate datacenters. This gives Xbox Live maximum flexibility, service resilience, and player enjoyment. Xbox Music: Store and Encode Music in the Cloud In November 2012, Xbox Music expanded its music library and its global marketing, leading it to, too, to Azure for new service development. “We were expanding into more countries and serving more technology platforms such as Android and Catalog. Xbox Music stores the metadata for its 40 million-track catalog in Azure Storage. Along with the thousands of media files that Xbox Music receives every day from music labels, it receives metadata about those products—title, “Our services use multiple Azure Storage accounts in different parts of the world because we don’t want to have all our data in one place, something that Azure enables that we would otherwise have had to build ourselves.” Michael Alyn Miller, Principal Software Architect, Social and Live Services Team, Xbox Live artist, song length, and so forth. Xbox Music processes this metadata and pushes it to Azure so that it is available to internal services and processes. For example, Bing uses the information for search purposes, and Xbox Live uses it to present music options to customers. Xbox Music uses more than 30 terabytes of Azure Storage for catalog metadata. Because of the success that Xbox Music has had with Azure, the Xbox Video team is preparing to use Azure to store and encode video files, which are even larger in terms of size and encoding needs. Xbox One: Store Player Game Clips in the Cloud In November 2013, the Xbox One team began to use Azure for its Xbox One Game DVR feature, which captures and stores video clips of players’ game play and uploads them to the players’ Xbox Live profiles and social networks. The team uses Microsoft Azure Media Services for fast file encoding, format conversion, storage, content protection, and video streaming. “We use Azure Media Services to transcode once and deliver the content to multiple devices in multiple formats,” says Michael Siebert, Program Manager on the Xbox One team. “Players can look at their clips on any console and through multiple devices.” In addition to using Azure Media Services, the Xbox One team also uses Azure Storage to store metadata in multiple global locations. “We can store more than just a video clip; we can store information about the context of the clip, something that could foster future capabilities for Xbox,” says Siebert. As with all Azure Storage solutions, the Xbox One team pays only for the storage it uses. Benefits By making use of Microsoft Azure, Xbox has gained vast scalability of storage and compute resources, data resilience, a faster new-feature release cadence, and a better ability to create competitive services that wow customers. Scale Storage and Compute on Demand With Azure, Xbox teams don’t have to worry about running out of storage or compute power. “Our services use multiple Azure Storage accounts in different parts of the world because we don’t want to have all our data in one place, something that Azure enables that we would otherwise have had to build ourselves,” Miller says. “We can just keep adding data to those accounts, and the storage never gets slower. In fact, since we began using Azure, Microsoft has upgraded the performance of Azure Storage, and we get those improvements for free—plus, it keeps getting cheaper. With the Azure team focused on making storage fast and efficient, we can spend more time figuring out how to make amazing games.” Xbox Music can similarly scale up Azure encoding resources to re-encode its entire catalog—approximately 40 million tracks— and then release those virtual machines when the job is done. “In Azure, we can encode millions of tracks in one day, because we can create thousands of virtual machines running in parallel,” Neto says. “This job would take months running in a traditional datacenter with a finite number of servers.” As Xbox Music expanded to more countries, it had to re-encode all of its content as it adopted new bitrates, and the team was able to accomplish that much more easily with Azure. Azure gives Xbox One the scalability it needs to adapt to peak periods of game play without the expense and effort of deploying its own servers. “With Azure, we can instantly bump up our capacity to manage holiday and other peak loads,” Siebert says. Like Xbox Music, Xbox One can process hundreds of encoding jobs “We want to ensure that the playback experience from the cloud is as close as possible to the traditional experience of playing using a local file. If one Azure datacenter goes down, we still have resiliency against outages.” Michael Siebert, Program Manager, Xbox One concurrently and release virtual machines when the job is done. Ensure Uninterrupted Game Play With game data scattered across multiple Azure and Microsoft corporate datacenters, Xbox Live has greater data/game resilience and fewer interruptions. “Only a subset of our customers are affected during an Azure outage thanks to the ability to use multiple Azure datacenters,” Miller says. “Long-term, we want to use additional Azure features to continue to improve that availability and minimize downtime.” With improved availability, the Xbox One team feels confident about its cloud-based gaming service. “We want to ensure that the playback experience from the cloud is as close as possible to the traditional experience of playing using a local file,” says Siebert. “If one Azure datacenter goes down, we still have resiliency against outages.” Deliver New Features Faster With the more flexible storage types that it has in Azure—tables and blobs—the Xbox Live team is no longer constrained by traditional database-type storage. This lets it enrich its services with new features without concern for underlying data storage requirements. “We used to spend hours troubleshooting data migration issues,” Miller says. “The need for all that is gone with Azure. With Azure Table Storage, there are no table-level schemas; each item is self-describing. We can add new fields such as car color or lap time without affecting any other service.” Because developers no longer have to worry about tightly coupled data relationships, Xbox Live service teams are free to innovate and deploy new features independently from one another. “This has been a big win for us, because we can build new features faster without worrying about affecting another service,” Miller says. “We went from deploying Xbox Live services once a month to some teams now rolling out new features daily. This is key to improving our product on a faster cadence.” Create More Compelling Services That’s what it ultimately is all about: developing the most exciting entertainment services and getting them to market quickly to keep customers coming back for more. “Without Azure, we wouldn’t be able to develop the kinds of services that we’re providing because of the expense of the underlying infrastructure,” Neto says. “We would have to own a ridiculous number of servers around the world to do what Azure lets us do in a costeffective manner. We can provide music metadata in different languages around the world, let customers have their music roam with them across devices, and deliver many other capabilities that require lots of storage and processing power.” For More Information For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 4269400. In Canada, call the Microsoft Canada Information Centre at (877) 5682495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to: www.microsoft.com Enable application innovation For technology to be strategic to your business, you need more than another quick fix. You want something that helps you deliver the right things faster, with tools and processes that interoperate and foster agility as well as a cloud environment that works on your terms. Microsoft’s enterprise-proven approach enables application innovation to help you stand out. For more information about enabling modern business applications, go to: www.microsoft.com/en-us/servercloud/cloud-os/modern-businessapps.aspx Software and Services Microsoft Azure − Microsoft Azure Media Services − Microsoft Azure Storage − Microsoft Azure Virtual Machines This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Document published October 2014 Error! Reference source not found.