> [!WARNING]
>
> **Preview**
>
>
> This product or feature is
>
> subject to the "Pre-GA Offerings Terms" in the General Service Terms section
> of the [Service Specific
> Terms](https://docs.cloud.google.com/terms/service-terms#1).
>
> Pre-GA products and features are available "as is" and might have limited support.
>
> For more information, see the
> [launch stage descriptions](https://cloud.google.com/products/#product-launch-stages).

This page describes how to deploy a SaaS offering, which means that
App Lifecycle Manager provisions the Google Cloud resources and deploys the
SaaS application in the regions specified in the SaaS offering resource.

To deploy the SaaS offering, App Lifecycle Manager creates the unit by deploying
the resources associated with a unit kind.

## Before you begin

Ensure you have created the following:

1. A [SaaS offering resource](https://docs.cloud.google.com/saas-runtime/docs/create-saas-offering) for your SaaS application.
2. Unit kinds to [model the SaaS offering](https://docs.cloud.google.com/saas-runtime/docs/model-saas-offering).

### Deploy the SaaS offering

To deploy the SaaS offering, App Lifecycle Manager provisions the resources that
are part of a unit kind. The term in App Lifecycle Manager for the provisioned
resources or deployed application is a *unit*.

When you create a unit, App Lifecycle Manager provisions the resources defined in the
unit kind. Units are provisioned in each region that is part of the SaaS
offering.

For example, if you had a unit kind for a single VM, then when you create a
unit, App Lifecycle Manager provisions the VM in the regions defined in the
SaaS offering.

1. Create a unit:

   1. In Google Cloud console, go to **App Lifecycle Manager** \> **Units**.

      [Go to Units](https://console.cloud.google.com/saas/units)
   2. Select **Create**.

   3. On the **Unit details** page:

      1. For **Unit name**, type a name for the unit. The name must
         contain only lowercase letters, numbers, or hyphens.

      2. Under **SaaS offering**, select the SaaS offering resource
         that you created earlier.

      3. Under **Region**, select the region where you want to deploy
         the resources or application.

      4. Under **Unit kind**, select the unit kind that defines the
         resources or application that you want to deploy.

      5. Under **Management mode** , select **User**.

         - **Unspecified** if you don't want to set a management mode.
         - **User** to have units deprovisioned manually. Units are not deprovisioned automatically by App Lifecycle Manager.
         - **System** to have App Lifecycle Manager deprovision dependent units when they are no longer needed.
      6. Optional: Add a label to the resources that you are deploying.
         For more details about labels, see the
         [Labels overview](https://docs.cloud.google.com/resource-manager/docs/labels-overview).

         To add a label:
         1. Under **Labels** select **Add labels**.

         2. For **Key 1** and for **Value 1**, enter the key-value pair.

         3. Repeat steps 1 to 2 for each label that you want add.

      7. Select **Create**.

2. To provision the resources or deploy the application:

   1. On the **Units** \> **Create a unit** page, select **Provision**.

   2. For the release field, select the release for the versions of the
      unit kind you want to deploy.

   3. For the **Service account**, select the service account.

   4. Optional: Add a tenant project:

      1. Select **Add tenant project variables**.
      2. Define the input variables:
         1. For **Name**, enter a string identifier for the variable.
         2. For **Variable type**, select the variable type.
         3. For **Variable value** type the variable value.
         4. Repeat these steps for each input variable.
   5. Select **Provision**.

## View the deployed unit

You have now used App Lifecycle Manager to create a unit, which deploys the
resources or application in the associated unit kind.

To view the resources that you deployed:

1. In console, go to the **App Lifecycle Manager** \> **Units** \> **Unit details** page.

   [Go to Units](https://console.cloud.google.com/saas/units)
2. Click the name of your unit.

3. On the **Unit details** page:

   1. See that the **State** is **Ready** (or the state might be **Provisioning** while the operation is still in progress).
   2. Expand the **Variables** section.
   3. In the **Output variables** , you can see details related to any output variables specified in the unit kind. For more details about variables, see [Variables and variable mapping](https://docs.cloud.google.com/saas-runtime/docs/variables).

## What's next

- To learn more about App Lifecycle Manager, see the [App Lifecycle Manager overview](https://docs.cloud.google.com/saas-runtime/docs/overview).
- For more details about the service accounts needed when using App Lifecycle Manager, see [service accounts](https://docs.cloud.google.com/saas-runtime/docs/service-accounts).
- For the steps to update the release, see [Rollout a release](https://docs.cloud.google.com/saas-runtime/docs/update-saas-offering).