Multiple Deployments

1 min read

Multi Deployment #

Overview

BuildPiper allows a single service to have multiple independent deployments, each with its own configuration and infrastructure requirements. This gives teams the flexibility to adapt deployment strategies as their services evolve, without unnecessarily splitting them into multiple services.

Read more: BuildPiper Multiple Deployment (blog)

Why Would a Service Need Multiple Deployments? #

A service ends up with multiple deployments when different configurations or workloads within it need to be managed independently, which a single deployment cannot do on its own. Two common examples:

Swipe horizontally to view all columns →
Example Description
Different cron jobs, different schedules A service might run as several cron jobs, each needing its own schedule and configuration. For example, Job A runs every 5 minutes, Job B runs every hour and Job C runs once every night. Instead of forcing them into one deployment, each is configured as an independent deployment. This gives better control over scheduling, configuration, scaling and lifecycle, and the success/failure, metrics and data of every cron job can be monitored and managed independently.
Multi-Architecture Deployment Users can deploy multi-architecture images to optimize infrastructure cost: run the minimum required availability on AMD nodes, and use ARM nodes for horizontal scaling during increased demand, taking advantage of the lower cost of ARM-based infrastructure.
  1. 1

    Open the ENV DEPLOY DETAILS page and select the DEPLOY DETAILS tab.

  2. 2

    Click + SETUP OTHER DEPLOYMENT to configure multiple deployments for this service.

Multi Deployment screenshot 1

Figure 1: Setup Other Deployment

The CD Details Not Configured screen opens. To deploy a service, CD details are required, so choose from the options on this screen to add them.

  1. 1

    Select the deployment type: MicroService or Cronjob.

  2. 2

    Click CONFIGURE under BuildPiper-UI to configure and manage the CD details directly through BuildPiper.

Multi Deployment screenshot 2

Figure 2: CD Details Not Configured

Clone from an Existing Environment #

You can also clone the deployment from one of the available environments.

  1. 1

    In You can clone from these available Envs, select the environment.

  2. 2

    In Deployment, select the deployment to clone.

  3. 3

    Click NEXT.

Multi Deployment screenshot 3

Figure 3: Clone from Available Envs

Note: After this, the rest of the process is the same as the Deploy Configuration steps described in the Deploy Details document.

Single Namespace: Add Deployment Names in Widget Data #

If multiple deployments are configured within the same namespace, there is no need for a separate setup flow. Simply add those deployment names in the Widget Data section of the deployment’s Manifest Information.

Multi Deployment screenshot 4

Figure 4: Widget Data in Manifest Information

Multi Deployment Configured #

Once multiple deployments are configured, they are listed in a drop-down on the DEPLOY DETAILS tab. Select a deployment from the list to view its configuration.

Multi Deployment screenshot 5

Figure 5: Multi Deployment Configured