Container Deployment Strategies

Containers on Cycle require a deployment strategy to be selected, in order for the platform to know how to distribute instances of the container when deployed.

Resource Density Strategy

Cycle will distribute instances across servers to maintain balanced resource usage.

High Availability Strategy

Cycle will deploy instances over servers with an emphasis on geographic and physical separation.

Requirements

Requires at least 2 servers in different data centers and 2 instances minimum.

Function Strategy

The function strategy will configure the container to act as a function container. Function containers don't restart after the process ends, and are frequently used for job-like batch processes.

First Available Strategy (Default)

Cycle will deploy instances to whichever server acknowledges the request first.

Node Strategy

Cycle will deploy one instance to every node that matches the specified criteria for the container. This is often useful for agent-style strategies where a process should exist on every server.

The node strategy will also add an instance to any new server deployed that matches the tag criteria.

Edge Strategy

Cycle will prioritize the geographic distribution of instances. This strategy does not require a minimum number of instances or eligible servers.

Manual Strategy

Cycle will not make any decisions on where instances are deployed. Instances can be manually deployed via the Portal or API.

Utilizing Server Tags

Server tags can be used to further fine-tune how a container's instances are deployed.

During a container deployment, server tags can be applied in two categories to adjust deployment to specific kinds of hardware (or any arbitrary requirement).

  • Match Any: If a server has at least ONE of these tags, it is considered a valid target for an instance of the container.
  • Match All: The server must have ALL of these tags to be considered a valid target for an instance of the container.

By combining deployment strategies with server tags, it is possible to highly optimize how Cycle deploys instances of a container.

Fetch Deployment Strategies With the API

Deployment strategies can be fetched programmatically via the platform API.