taking online video game development to the cloud

6
IT INFRASTRUCTURE | CLOUD | MANAGED SERVICES PEAK10.COM Taking Online Video Game Development to the Cloud With the increasing competitiveness of the global video game industry, the economy recovering from a prolonged recession and the growing market for online video games, innovative companies are looking for distinct advantages that differentiate them. The latest generation of server hosting, cloud computing, can be among those advantage. COMPETITIVE ADVANTAGES

Upload: peak-10

Post on 15-Jan-2015

43 views

Category:

Technology


0 download

DESCRIPTION

With the increasing competitiveness of the global video game industry, the economy recovering from a prolonged recession and the growing market for online video games, innovative companies are looking for distinct advantages that differentiate them. The latest generation of server hosting, cloud computing, can be among those advantages.

TRANSCRIPT

Page 1: Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

Taking Online Video Game Development to the CloudWith the increasing competitiveness of the global video game industry, the economy recovering from a prolonged recession and the growing market for online video games, innovative companies are looking for distinct advantages that differentiate them. The latest generation of server hosting, cloud computing, can be among those advantage.

COmpeTiTiVeADVAnTAGes

Page 2: Taking Online Video Game Development to the Cloud

12.1.2011

COmpeTiTiVe ADVAnTAGes Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

To understand how the cloud can benefit online video game development, it’s important to first understand the basic premise behind cloud computing: virtualization. Server virtualization is the process of utilizing a software layer, known as a hypervisor, to abstract the physical hardware so that multiple individual server virtual instances can run on a server chassis that traditionally would only support one operating system instance. Cloud computing was born by taking server virtualization technology and the practice of ‘time-slicing’ compute resources (necessary on the massive mainframe systems during the advent of mainstream computing) and applying them to x86 architecture, which is the mainstay of the modern IT community. In the mainframe days, this was a necessary process because compute assets required massive space and power consumption.

Although server hardware has reduced its footprint to a much more manageable size over the last 10 years, we have seen extraordinary waste in the amount of power contained in modern CPUs. Average CPU usage on server infrastructure without virtualization is less than 10 percent. Server virtualization allows us to take advantage of more of these assets in a secure, flexible, repeatable fashion. Through the process of virtualization, infrastructure gains benefits around scalability, uptime, cost-savings and flexibility, which are essential to game developers and publishers.

Until the most recent generation of hypervisors, many critical payloads were not considered suitable for hosting in a virtualized environment. Most notable of these were the transactional database payloads, the workhorses of most infrastructures that support online video game platforms. The recent generation of hypervisors has not only debunked this myth, but shattered it as well.

In April 2010, a vSphere-hosted database set the bar by breaking world records for price/performance of a database in an x86 hosted architecture. It did this by performing at a level 13 percent greater than the previous record holder on 37 percent less hardware.

Server virtualization has arrived in a big way, and is capable of empowering infrastructure to support even the most massive online gaming platforms. Expected benefits include cost savings, expedited time-to-market, flexibility and uptime, among others.

It is commonly accepted that cloud computing delivers benefits for production systems. For video game infrastructure, however, the benefits start well before the code gets promoted to production status.

Development on virtual instances is not new; Xen, KVM and Microsoft Virtual PC have been valuable tools in the developer toolkit for years. But once production infrastructure is virtualized, new benefits emerge, and development teams have capabilities unlike ever before.

Live-cloning can create new pre-production systems “on-the-fly.” Snapshots give developers the capability to explore different configurations and solutions with a quick recovery mechanism to restore to previous states. Snapshots also give game developers and publishers unprecedented collaborative opportunities for group-based debugging and development.

Through the use of cloud computing’s server live-cloning capabilities, actual production instances can be cloned in real-time to create development and test environments that are true clones of existing production servers, including production-level data and configuration. Without virtualization, this is an unwieldy process that can take days to complete.

pre-prODuCTiOn: LeT The benefiTs beGin

The pOwer Of CLOninG

in The beGinninG: VirTuALizATiOn

Page 3: Taking Online Video Game Development to the Cloud

12.1.2011

COmpeTiTiVe ADVAnTAGes Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

The process includes acquisition of appropriate hardware, installing the base operating system and database/middleware software, taking a snapshot of production data (often an intrusive process that requires downtime), loading that snapshot onto the test platform and reconfiguring the applications for the specifics of the new test environment with data such as new host names, IP addresses, gateways, DB connectors, etc. In a cloud environment, this process takes place non-intrusively: live-cloning of the production instances occurs behind the scenes, allowing production systems to continue to service end-users. It often completes within a matter of minutes or hours.

An added advantage is that the resources required for these pre-production environments can be committed back to common resource pools in the event of the environment outliving its usefulness. This flexibility will increase ROI for development resources, traditionally an area of IT infrastructure that has an exceptionally high exposure to stranded resources.

Once a user has created or updated a new pre-production environment, snapshots take over. Snapshots are a mechanism in the cloud whereby a virtual machine (VM) can maintain multiple point-in-time datasets to allow easy rollback of changes into the server infrastructure. Using snapshots, a game developer can make changes to software and server configurations with the confidence that the snapshot will allow for removal of the changes if necessary.

For testing purposes, the game developer can toggle back and forth between multiple points in time to test the resource and integrity changes caused by new code or server adjustments. The process to create a snapshot takes just a few seconds, uses very little additional disk (it saves block-level disk changes) and only requires a reboot of the virtual instance to migrate between states. This snapshot process replaces or augments the traditional methods by which game developers would backup and restore their server-state during development and test processes.

During development, if a game developer uncovers a programmatic issue that requires additional assistance or low-level forensics, these same snapshots are once again the tool of choice. Snapshots can also be configured to save the live memory state of a server. With this capability, developers can collaborate at new levels. When an unexpected result occurs, the developer can take the server with the exact memory state that contains it and forward it over to another developer for a collaborative debugging effort. This level of troubleshooting can expedite the resolution of issues that, in previous infrastructures, would be painstaking to uncover. It also enables developers to mitigate risks and reduce impact on production and timeline costs.

Once code has been promoted past the development and test platforms, the true value of cloud computing becomes obvious. Financial benefits are realized immediately because of decreased capital expenditures for hardware infrastructure. They are also realized long-term due to efficiencies in deployment and decreased hosting needs for power and space consumption.

Deployment and scaling times are significantly reduced through the use of server templating. Uptime benefits are achieved by reducing or completely mitigating scheduled downtime through the use of live migration. Fault tolerance and high-availability features decrease downtime in cases of unexpected hardware failures, and snapshotting and service proxying can reduce or eliminate the impact of scheduled maintenance.

snApshOTs: The GAme ChAnGers

prODuCTiOn: The benefiTs muLTipLy

Page 4: Taking Online Video Game Development to the Cloud

12.1.2011

COmpeTiTiVe ADVAnTAGes Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

With industry CPU usage averaging less than 10 percent of that available in a modern x86 server, even modest consolidation ratios of 5:1 or 10:1 are easy to attain with cloud computing. In many cases, light-load servers such as web servers, forum hosts and user information servers can see consolidation as high as 20:1 or greater. With server consolidation rates this high, it is easy to see where immediate financial benefits can be gained, even including the requirement for a hypervisor and more robust hardware expenses. It is not uncommon to see initial infrastructure expenses drop by 25 percent or more. This reduced-footprint infrastructure also requires less leased space and lower power consumption from a data center provider, resulting in month-to-month reductions in hosting expenses.

Once the cloud computing infrastructure has been put in place, the deployment and scaling of the instances on the video game infrastructure can be highly automated through the use of templates. For servers sharing the same base OS, a single OS installation can be made onto a VM. Once that installation has been completed by converting that VM into a template, future OS installations will no longer be necessary.

When another VM with the same OS is needed, a clone of the template can be made in minutes with the required network, host name and licensing customization completed during that clone process. This can alleviate hours or days of engineering time that would have previously been wasted on mundane installation tasks. Templates can also empower the scaling of same-function servers or load-balanced clusters.

For servers with similar functions, such as redundant account servers, middleware engines, game servers, web servers or database instances, a single installation and configuration of all necessary software can be completed onto a VM which can be turned into a template. When it is necessary to scale that layer of the environment, the server template can be cloned and with little or no adjustment. The server can then be added to existing server farms for expedited, predictable horizontal scaling.

The mechanisms of cloud computing can also reduce or eliminate maintenance windows. In a traditional infrastructure, hardware maintenance often requires downtime or reduction of fault tolerance. Cloud computing circumvents this need with live migration. Live migration allows a cloud infrastructure to move virtual payloads from one physical hardware host to another with no interruption of service for planned maintenance.

A host chassis can be evacuated of payloads to put it into a clean state suitable for maintenance. Once evacuated, that chassis can be powered off. Any required maintenance or hardware changes can be made such as the addition of CPU, RAM, storage or network resources, or even full replacement of the chassis itself. Once maintenance is completed, the chassis can be powered on and tested to ensure stability before using the same live migration function to transparently move payloads back onto the chassis that was serviced.

Using these functions, an entire infrastructure can be seamlessly upgraded in a rolling fashion with no perceived downtime to system end users. This same live migration capability can be utilized to add a whole new chassis to the cloud infrastructure and then load-balance the payloads across all chassis. Use of these features provides tremendous flexibility and reduces the likelihood of the video game infrastructure outgrowing itself.

Prior to new code or patches being promoted onto a system, a snapshot can be taken as a fallback in case

serVer COnsOLiDATiOn: The hiGhs AnD LOws

Time-sAVinG TempLATes

mAinTenAnCe mADe eAsier

Page 5: Taking Online Video Game Development to the Cloud

12.1.2011

COmpeTiTiVe ADVAnTAGes Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

an unforeseen impact is caused by those updates. These fallbacks can protect from issues like improper code promotion or code incompatibility with patches. To minimize downtime or degraded performance caused by backup and archival processes, those processes can be offloaded to a proxy server. In these cases, a proxy VM causes the production VM to snapshot its data disk so that the proxy has unfettered access to that data and can then complete backup or maintenance processes against that data without causing downtime or increased load on the production servers. All of these features combine to increase uptime while minimizing compromise to the end user experience during completion of planned maintenance tasks.

For unplanned outages, the cloud offers some remedies as well. In most cloud infrastructures, there are high availability (HA) features that can be configured to recover or resume payload execution in cases of an unexpected component failure. Obviously, production systems should always be designed and deployed to have no single point-of-failure. However, in cases where a catastrophic failure occurs on a host server, HA components keep track of what payloads run on each host. During a failure, those HA components direct other hosts to restart the payloads that were affected.

This HA capability can greatly minimize the downtime caused by a host failure. When utilized with other clustering technologies, such as database clustering or load balancing, can assist with maintaining 100 percent uptime. For server payloads that are not suitable for load balancing or service-based clustering, payloads on some clouds can be configured to be ‘fault tolerant.’ Fault-tolerant VMs live in a perpetual live migration state, existing on multiple host servers at all times so that live migration can be completed in the event of an unexpected failure. This type of failover is more advanced than HA in that it retains the live memory of the server that failed so that there is little to no data loss and failover is completed usually in less than one second.

Cloud computing is a proven technology with great market penetration. It has empowered even the largest companies in the world to efficiently deploy, scale and maintain their IT infrastructure. Its capabilities lend themselves very readily to the infrastructure needs of video game organizations. During development and testing, the cloud can provide rapid deployment, snapshotting and cloning for consistency and troubleshooting purposes, as well as unprecedented capabilities to troubleshoot code issues.

In production, leveraging cloud computing can increase uptime, reduce costs, expedite scaling caused by user-base growth, mitigate maintenance windows and minimize unexpected outages. When properly deployed, cloud computing can be a very powerful tool in the arsenal of any video game infrastructure support team.

Bill Cashman is a virtualized services manager and game solution engineer for Peak 10’s Virtualization Division. Bill grew the division into a successful business unit within Peak 10, and established Peak 10 as a VMware VIP Enterprise partner. Bill engages directly with customers, helping them to design and implement solutions that scale with their changing business needs.

hiGh AVAiLAbiLiTy: DOwnTime minimizeD

The VerDiCT: The CLOuD wOrks

Page 6: Taking Online Video Game Development to the Cloud

IT InfrasTrucTure | cloud | Managed servIces PeaK10.coM

inTeresTeD in LeArninG mOre AbOuT hOw peAk 10 CAn keep yOur GAmes GOinG?

Call 866-473-2510 or visit peak10.com today.