In this example you will be shown how to create and configure a deployment environment for your game. It will have a basic setup with one general purpose Fleet meant to host game servers for a PC build or community. You can easily duplicate this Fleet for other platforms like PS4 or XBOne, or any other platform you want to target. Here is a simple diagram of such a setup:
It is highly recommended to create multiple environments for e.g. Development, Test, Production, etc. For development, a deployment flow that automatically creates and destroys environments is very useful as well.
The following elements will be created in this chapter:
The DeploymentEnviroment element encapsulates all the deployment related configuration elements for your game / application. The element itself is easy to create; you only need to supply a name:
This example Fleet represents deployments for a PC platform or community.
Amongst a Fleet's properties is deploymentEnvironmentId. We take this value from the response of previous request, assigning the Fleet to the DeploymentEnvironment we've just created. Other properties like deploymentProfileId, gameDeploymentTemplateId and utilityDeploymentTemplateId can be left empty for now. We will be creating these elements next and add them to the Fleet afterwards.
The operationalStatus property in the response is 0. This means automatic deployment is disabled. We will enable this in the next chapter, Starting Automatic Deployment after all configuration elements are in place.
Game Deployment Template
The GameDeploymentTemplate element defines which game ApplicationBuild you want to deploy.
Next, we create a DeploymentProfile. You create one per Fleet and as such has a 1:1 relation with a Fleet.
This element describes how to deploy your applications. You must set the deployment strategy, minimum deployment figures and the buffer value defining the pool of warm game servers that are ready to be allocated. These are global values that apply per DeploymentRegion and can be overridden on a per-DeploymentRegion basis.
A DeploymentProfile contains the DeploymentRegions that define where to deploy your applications. These are added to the DeploymentProfile afterwards.
Next add a DeploymentRegion to the profile we have just created. This tells the platform in which data center(s) you want to deploy your game. Each DeploymentRegion is based on an i3D.net bare metal location (PoP) to which cloud datacenters can be added for the purpose of bursting onto when running out of bare metal capacity.
You can optionally override global DeploymentProfile parameters such as deployment strategy, minimumCapacity and buffer value if desired.
You can repeat this step for all the DeploymentRegions you want to create in your profile.