---
name: secure-enterprise-deploy-regions
title: Using projects to deploy a deployable architecture to multiple regions
description: This tutorial walks you through how to use projects to deploy two slightly different configurations of the same deployable architecture to two different regions.
last-updated: 2025-12-04
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/secure-enterprise?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Using projects to deploy a deployable architecture to multiple regions
{: #deploy-regions}
{: toc-content-type="tutorial"}
{: toc-completion-time="20m"}

This tutorial walks you through how to use [projects](#x2035151){: term} to deploy two slightly different configurations of the same deployable architecture to two different regions.
{: shortdesc}

Imagine you are a software developer for _Example Corp_ enterprise. Your infrastructure architect discovered the Cloud automation for Code Engine deployable architecture, and your cloud automation engineering professional [customized it to fully meet your business needs](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-basic-custom&format=markdown). The customized deployable architecture is used to automate the deployment of a containerized application on IBM Cloud Code Engine. The existing container image at `icr.io/codeengine/helloworld` is used as an example application. Now, you need to deploy the deployable architecture to multiple regions for local data storage and performance or high availability reasons to best support your application. 

This tutorial uses a fictitious scenario to help you learn and understand how to use projects to deploy to multiple regions. As you complete the tutorial, adapt each step to match your organization's needs.

## Before you begin
{: #regions-prereqs}

1. [Set up your IBM Cloud account](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown).

1. [Create a customized deployable architecture](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-basic-custom&format=markdown) called `Example Corp's infrastructure` and onboard it to a private catalog called `Example Corp catalog`. 

1. Understand that completing this tutorial might result in costs to your account. [Cloud automation for Code Engine](https://cloud.ibm.com/catalog/7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3/architecture/deploy-arch-ibm-code-engine-413843d9-8962-48a5-8ab5-dfcf4429372c-global){: external} was customized to create `Example Corp's infrastructure`. For more information about associated costs for using Code Engine, go to [Pricing for Code Engine](https://cloud.ibm.com/docs/codeengine?topic=codeengine-pricing&format=markdown).

1. Make sure that you have the following access roles to create a project and permission to create the project tooling resources within the account:
    * The Editor role on the IBM Cloud Projects service.
    * The Editor and Manager role on the IBM Cloud&reg; Schematics service
    * The Viewer role on the resource group for the project
    * Other roles that are required for specific resources in your deployable architecture. Cloud automation for Code Engine requires the Writer service access role that is scoped to all resources for the Code Engine service. 

    For more information about access and permissions, see [Assigning users access to projects](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-access-project&format=markdown).

1. Set up an authentication method. You can [use an API key that is stored in Secrets Manager](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-authorize-project&format=markdown) or a [trusted profile](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-tp-project&format=markdown) to authorize a deployment to your target account. 
    
    Deploying a proof of concept for testing purposes? You can create an API key later on, as you edit a configuration in your project. Doing so authorizes the project to deploy to the currently selected account.
    {: tip}

## Create a project 
{: #project-create}
{: step}

Create a project where you can configure and deploy Example Corp's infrastructure. 

1. In the IBM Cloud console, click the **Navigation menu** icon ![Navigation Menu icon](../icons/icon_hamburger.svg "Menu") > **[Projects](https://cloud.ibm.com/projects/)**. 
1. Click **Create**. 
1. Name your project `Example Corp infrastructure`. 
1. Add the following description to your project: `Project to manage the different configurations and deployments of Example Corp's infrastructure.`
1. Select **Dallas** as the region where the project data is stored.
1. Keep `Default` for the resource group.
1. Click **Create**.

## Create an environment in your project
{: #env-create}
{: step}

Now that your project is created, you're ready to create an environment to share values across configurations for easier deployments. The properties that you add to an environment are automatically added to configurations that are using that environment. For more information, see the [benefits to using environments](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-best-practices-projects&format=markdown#best-practice-env). In this tutorial, you add the authentication method to the environment so it can be reused in your project. 

1. In the **Example Corp infrastructure** project, select **Manage** > **Environments**.
1. Click **Create**.
1. Name your environment `Example Corp infrastructure dev`.
1. Click **Add** > **Add manually...**
1. Select **Authentication** for the category. 
1. Specify the authentication method that you set up in the [before you begin](#regions-prereqs) steps. You can use an API key or a trusted profile.
1. Depending on which method you choose, either select the secret that contains your API key or provide the trusted profile ID. 
1. Click **Add** to add the authentication method to the environment. 
1. Click **Save** to save the environment. 

## Add a deployable architecture to a project
{: #regions-project}
{: step}

Before you can configure `Example Corp's infrastructure`, you need to find the deployable architecture in `Example Corp catalog` and add it to the `Example Corp infrastructure` project.

1. In the **Example Corp infrastructure** project, click **Configurations** > **Create**.
1. Use the catalog menu to open the private catalog called `Example Corp catalog`. 
1. From the Type section, select **Private products** to filter the list of products. 
1. Select **Example Corp's infrastructure** from the list of remaining products.
1. Make sure that **Example Corp infrastructure** is selected as the project. 
1. Click the **Project settings** icon ![Project settings icon](../icons/settings.svg "Settings") and change the name of the configuration to `example-corp-us-south`.
1. Select **Example Corp infrastructure dev** as the environment and click **Save**.
1. Click **Configure and deploy**.

You successfully added the deployable architecture to a project and are ready to define the configuration.

## Configure the deployable architecture
{: #configure-architecture}
{: step}

1. In the **Details** section, review the information and make sure the `Example Corp infrastructure dev` environment is selected.
1. From the **Security** section, confirm that the correct authentication method is selected based on what you added to the environment.
1. During validation, a Code Risk Analyzer scan is run on your architecture, which includes a compliance scan based on a set of requirements. `Example Corp's infrastructure` doesn't include any applicable requirements, but you can set up your own policy with requirements through Workload Protection if you want to. For more information, see [Configuring the architecture](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-config-project&format=markdown#how-to-config). Select **Architecture default** if you don't want to use policies from Workload Protection. 
1. From the **Inputs** section, enter values for the required input variables for the deployable architecture configuration:
    
    1. Enter `us-south` as the `prefix` to use for naming conventions.
    1. Select **Default** as the `existing_resource_group_name`. 
    1. Select **us-south** as the `region` to deploy the resources.

1. Click **Save**.
1. Click **Validate**. The modal that is displayed provides more details about your in-progress validation.

   If the validation fails, you can [troubleshoot the failure](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-ts-na-failures&format=markdown). Or, an administrator on the IBM Cloud Projects service can review the results through the Schematics service and [override the failure and approve](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-approve-failed-validation&format=markdown) the configuration to deploy anyway. However, make sure that the pipeline failed due to the Code Risk Analyzer scan and not because of a validation or plan failure. It is not recommended to override a failure that is flagged due to a validation or plan failure as the configuration cannot deploy successfully. For more information about security and compliance in projects, see [Achieving continuous compliance as an enterprise](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-continuous-compliance&format=markdown).

During the configuration and deployment process, monitor your [**Needs attention** items](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-needs-attention-projects&format=markdown). The widget reflects any issue that occurs in your configurations.
{: remember}

## Approve and deploy your first configuration
{: #regions-first-deploy}
{: step}

As an Editor on the IBM Cloud&reg; Projects service, you can approve the configuration changes and deploy the configuration. It can be beneficial to deploy your first configuration to make sure that your changes work as expected. Then, if the deployment is successful, you can continue to create your second configuration.

You must address any outstanding **Needs attention** items on the **Overview** tab before you can approve and deploy your configurations.
{: tip}

1. From the `Example Corp infrastructure` project, select the **Configurations** tab.
1. Click the **Options** icon ![Options icon](../icons/action-menu-icon.svg "Options") for `example-corp-us-south` > **View last validation**. 
1. Add a comment with more details about the approval, and click **Approve**.
1. Click **Deploy** and wait for the deployment to finish.

## Add and configure the second deployable architecture
{: #configure-second-architecture}
{: step}

Now that you configured and deployed your architecture to one region, you can duplicate it to deploy the architecture to another region. 

1. From the `Example Corp infrastructure` project, select the **Configurations** tab.
1. Click the **Options** icon ![Options icon](../icons/action-menu-icon.svg "Options") for `example-corp-us-south` > **Duplicate**. `example-corp-us-south-copy-01` is added to your project. 
1. Click the **Options** icon ![Options icon](../icons/action-menu-icon.svg "Options") for `example-corp-us-south-copy-01` > **Edit**. 
1. From the **Details** section, click **Edit** and change the name of the configuration to `example-corp-us-east`.
1. From the **Details** section, make sure the `Example Corp infrastructure dev` environment is selected. 
1. From the **Security** section, review the information that was pulled in from the environment that you created.
1. From the **Inputs** section, click **Edit** and enter values for the required input variables for the deployable architecture configuration:
    
    1. Enter `us-east` as the `prefix` to use for naming conventions.
    1. Select **Default** as the `existing_resource_group_name`. 
    1. Select **us-east** as the `region` to deploy the resources.
    
1. Click **Save**.
1. Click **Validate**. The modal that is displayed provides more details about your in-progress validation.

   If the validation fails, you can [troubleshoot the failure](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-ts-na-failures&format=markdown). Or, an administrator on the IBM Cloud Projects service can review the results through the Schematics service and [override the failure and approve](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-approve-failed-validation&format=markdown) the configuration to deploy anyway. However, make sure that the pipeline failed due to the Code Risk Analyzer scan and not because of a validation or plan failure. It is not recommended to override a failure that is flagged due to a validation or plan failure as the configuration cannot deploy successfully. For more information about security and compliance in projects, see [Achieving continuous compliance as an enterprise](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-continuous-compliance&format=markdown).

During the configuration and deployment process, monitor your [**Needs attention** items](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-needs-attention-projects&format=markdown). The widget reflects any issue that occurs in your configurations.
{: remember}

## Approve and deploy your second configuration
{: #regions-second-deploy}
{: step}

After the validation completes, you can deploy your second configuration.

You must address any outstanding **Needs attention** items on the **Overview** tab before you can approve and deploy your configurations.
{: tip}

1. From the `Example Corp infrastructure` project, select the **Configurations** tab.
1. Click the **Options** icon ![Options icon](../icons/action-menu-icon.svg "Options") for `example-corp-us-east` > **Edit**. 
1. Click **View details** to view the last validation and approve the changes. 
1. Add a comment with more details about the approval, and click **Approve**.
1. Click **Deploy** and wait for the deployment to finish.

## Next steps
{: #regions-next}

After the deployment successfully completes, your application is deployed in two separate regions. The two slightly different configurations are based on the same deployable architecture. To find the applications, go to the IBM Cloud console, click the **Navigation menu** icon ![Navigation Menu icon](../icons/icon_hamburger.svg "Menu") > **Containers** > **[Severless Projects](https://cloud.ibm.com/containers/serverless/projects)**.

Check out the next tutorial on [Adding customizable options to `Example Corp's infrastructure`](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-custom-extend&format=markdown).