Dynamic Deployment

How specific provision configurations are chosen

In a business with multiple integrations, servers, or provisioning providers, how do you decide where a client’s service gets deployed? When a client places a new order, which provisioning configuration is selected, and what data is sent to that provider?

  • How does a new web hosting order get assigned to Server X instead of Server Y?
  • How does a domain get registered through Registrar A rather than Registrar B?

In this guide, we will explain how dynamic deployment works. Using a Coffee Shop example, we will then show how you can apply dynamic deployment in a web hosting environment.

Basic static implementation

In its simplest form, you can create a direct, static mapping between a product and a provisioning provider. Example: If you sell Basekit, you likely have just one Basekit setup. Similarly, if you work with only one domain provider, you can statically map all domain orders to that provider.

Think of our coffee shop with just one coffee machine. Every coffee order is simply assigned to that single machine. In the provisioning setup, you might map product options to specific functions on the machine (e.g., Make a Latte vs Make an Espresso), but there’s no need to choose between multiple machines dynamically.

Dynamic deployment

Now, imagine we have two coffee machines, labeled Coffee Machine A and Coffee Machine B. We want Coffee Machine A to handle lattes, while Coffee Machine B makes espressos. Dynamic deployment lets us direct requests to specific provisioning providers based on the details of each order.

To do this:

  1. We first set up configuration attributes on the provisioning configurations, whether they are web servers, domain providers, or coffee machines.
  2. Then, under the dynamic deployment settings for a product, we map order values to these configuration attributes to control where each order is sent.

Setting up configuration attributes

For provision providers where dynamic deployment applies, you can create configuration attributes to help direct orders. Example: A typical cPanel shared hosting provider might have attributes like Location or Hosting Provider, along with a field called Accepting New Accounts.

In the coffee machine example, this would be like specifying “What types of coffee can be made?”

These attributes are set individually for each provision provider. So, one cPanel server might be assigned to London, while another is set to New York. Similarly, Coffee Machine A could be configured to make Lattes, Cappuccinos, and Flat Whites, while Coffee Machine B handles Americanos and Espressos.

Configuration dynamic deployment

Once the configuration attributes are set on the provision provider, it becomes easy to apply them to a product. On the product, you define which configuration attribute an order must match to be deployed to a specific server.

2200

An example cPanel hosting dynamic deployment setup

Example: In the screenshot above, when selecting a web server, the server’s attribute ‘Accepting New Accounts’ must be set to true for it to be chosen.

1420

Location

If the product option 'London, UK' is selected, then the order will be deployed to a provision configuration with the location 'London, UK' specified.