DeploymentProfile
The DeploymentProfile is the main element that determines how your ApplicationInstances will be deployed.
Usage
A DeploymentProfile is always the only child of a Fleet. As such, you can only have one DeploymentProfile per Fleet.
A DeploymentProfile allows you to set global deployment configuration options which define how ApplicationInstances are deployed within its DeploymentRegion children. DeploymentRegions allow you to override most configuration options.
Element structure
Property | Value type | Required | Description |
---|---|---|---|
id | string | Read-only | Unique identifier of this element |
name | string | Yes | Name of the DeploymentProfile |
description | string | No | A custom description |
strategyType | int | Yes | Deployment strategy 1: round robin |
minimumCapacity | int | Yes | The minimum amount of game instances that should always be deployed for each region in this fleet. Can be overridden per region |
bufferValue | int | Yes | Global buffer value, to be applied to individual deployment regions. Can be overriden per region |
bufferValueType | int | Yes | Interpretation of the bufferValue property: 0: absolute value 1: percentage value (must be accompanied by bufferValueMin and bufferValueMax) |
bufferValueMin | int | No | The minimum absolute buffer value when using a percentage, to prevent bufferValue from going to low |
bufferValueMax | int | No | The maximum absolute buffer value when using a percentage, to prevent bufferValue from going to high |
markedForDeletion | boolean | Read-only | When true, we will also make sure markedForDeletion will be set to true in all subsequent deployment regions. We will then only scale down in those regions until all game servers and VMs have been removed. When that situation is reached, we will set the deployment profile to inactive |
deploymentRegions | [DeploymentRegion] | Read-only | All deployment regions of this profile |
createdAt | int | Read-only | A unix timestamp of when this element was created |
Minimum capacity
When you enable automatic deployment or automatic scaling on a Fleet, our automatic scaling mechanism will start by deploying the number of Application Instances defined by the DeploymentProfile.minimumCapacity value. The number of deployed instances will never drop below this value, even if there are no players at all. The minimumCapacity value as such can be used in preparation for a new release, to ensure you have enough game servers to begin with upon release of your game.
If the DeploymentProfile.minimumCapacity value exceeds your bare metal capacity, the scaler will continue to deploy in the cloud, provided cloud locations have been defined for the relevant regions.
The DeploymentProfile.minimumCapacity value defines the minimum capacity - minimum amount of deployed game servers - for each individual region. You can override this value per region in case you would like more instances deployed in a region where you expect more players. But keep in mind, minimumCapacity is just for the initial deployment of instances. Our scaling mechanism will of course start scaling instances if more players are needed [in a certain region].
The bufferValue
Besides the minimumCapacity setting, there is the bufferValue setting which determines the size of the pool of ApplicationInstances that must be available at all times. The purpose of this buffer is to catch sudden increases in the number of players and as such, to attempt (to ensure) there are always sufficient free game servers for your clients to join. In other words, the bufferValue is there to compensate for the time it takes to deploy game servers. The longer that takes (related to the size of your build files), the larger the buffer should be. The larger the buffer, the less risc there is of running out of available game servers. It is therefore important not to set this value too low.
API example
Create a new DeploymentProfile within your i3D.net account.
HTTP request
Request body
{
"name": "",
"description": "",
"strategyType": 0,
"minimumCapacity": 0,
"maximumCapacity": 0,
"bufferValue": 0,
"bufferValueType": 0,
"bufferValueMin": 0,
"bufferValueMax": 0,
}
Response body
[
{
"id": 0,
"fleetIds": [
0
],
"name": "",
"description": "",
"strategyType": 0,
"minimumCapacity": 0,
"maximumCapacity": 0,
"bufferValue": 0,
"bufferValueType": 0,
"bufferValueMin": 0,
"bufferValueMax": 0,
"markedForDeletion": false,
"deploymentRegions": [],
"createdAt": 0
}
]