Xbox Case Study

advertisement
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.
Download