Unity Technologies is shaping a booming global games market. The Unity engine is far and away the dominant global game development software. More games are made with Unity than with any other game technology! And guess what? Unity uses OpenNebula to run their IaaS infrastructure to support their development services, among other things.
Unity Technologies contacted OpenNebula Systems, the company behind OpenNebula, due to its expert knowledge of OpenNebula, to jointly design and deploy Unity cloud infrastructure, dubbed uCloud. OpenNebula Systems offers this service through the Jumpstart packages, on their Basic and Advanced modalities, based on the different Open Cloud Reference Architecture corresponding types.
The basic principle that Unity applies to their infrastructure is the KISS approach, which is very much aligned with the OpenNebula design principle.
Unity Technologies offers its services globally, and as such required to deploy a cloud across three different data centers to serve EMEA, US and ASIA Unity users. The data centers were to be based on SoftLayer bare metal servers, and the users of the Cloud were expected to be able to access resources across these different data centers.
Regarding networking, a certain degree of federation was expected, particularly the ability to interconnect virtual machines from different data centers in different virtual networks. Unity Technologies suggested the use of network gateways to manage this interconnections, so the challenge was to integrate them in the OpenNebula workflow.
Other requirements were the use of Active Directory to authenticate users, and also to have a complete isolation between groups of users (that is, the workloads of one group of users should not affect the others), as well as hybrid access to public cloud providers, in particular SoftLayer and Amazon EC2, to be able to cloud burst Virtual Machine to them in case the allocated bare metal in SoftLayer cannot cope with the fluctuating demands.
OpenNebula Systems and Unity got to work right away, to deliver the best possible OpenNebula cloud design taking into account the requirements. Take a look at the picture to get a glimpse of the final design of uCloud.
The use of Ceph was a no brainer, Unity used Ceph internally and OpenNebula Systems agreed right away since this cloud is expected to grow to a medium to large scale. This is aligned with the OpenNebula Advanced Reference Architecture, intended for clouds of this magnitude. Also, Ubuntu was preferred by Unity sysadmins, and given OpenNebula full support for it; the decision was arrived to easily enough as well.
Using OpenNebula federation capabilities solved right away the need to federate at the authentication level the different datacenters. The SoftLayer dedicated link low latency allowed the several instances of OpenNebula (one per data center) to communicate quickly enough to keep them synchronized and provide a top-notch user experience.
The need of serving different groups of people, with different needs in terms of physical and virtual resources, was also solved using the powerful OpenNebula provisioning model, by assigning physical resources to Virtual Data Centers, and providing access to them via Groups of users, to which virtual resources can be assigned.
Networking was trickier. The limitations of using only traffic encapsulated within VLANs imposed the use of VXLAN, which OpenNebula fully supports. Special integrations were made into OpenNebula to operate the Gateways as soon as a new virtual network is created; so new routes are created dynamically enabling the interconnection of different data centers virtual networks on demand. The OpenNebula flexible architecture proved that it is a great asset to solve complex designs.
Cgroups was the technology picked up for workload isolation, so VMs from one groups of users cannot eat up all the CPU resources if they are needed by another VMs. For memory, not allowing for over commitment was the decision.
uCloud is a state of the art cloud, with authentication and network federation, prepared to scale to support thousands and even millions of users as Unity Technology requires. Unity Technologies can arguably be given the credit of making the right call, contacting OpenNebula Systems, the creators of the technology, to push it to its limits to create a cloud infrastructure ahead of its time.
“We engaged OpenNebula Systems to verify our design thoughts and to speed up the deployment phase of our uCloud project.”, said Karsten Nielsen, IT Manager at Unity Technologies. “OpenNebula Systems is very professional and executed within the tight death-line the project was under. I am very pleased with the process and the result of the project.”
Karsten Nielsen will give a keynote about the uCloud infrastructure and OpenNebula at OpenNebulaConf2015 (Barcelona, October 20-22 2015). Register asap and save with very early Bird discount!.
Lead Cloud Engineer & Engineering Manager at OpenNebula