Use Tanzu Build Service

Note

Azure Spring Apps is the new name for the Azure Spring Cloud service. Although the service has a new name, you'll see the old name in some places for a while as we work to update assets such as screenshots, videos, and diagrams.

This article applies to: ❌ Basic/Standard ✔️ Enterprise

This article shows you how to use VMware Tanzu® Build Service™ with the Azure Spring Apps Enterprise plan.

VMware Tanzu Build Service automates container creation, management, and governance at enterprise scale. Tanzu Build Service uses the open-source Cloud Native Buildpacks project to turn application source code into container images. It executes reproducible builds aligned with modern container standards and keeps images up to date.

Buildpacks

VMware Tanzu Buildpacks provide framework and runtime support for applications. Buildpacks typically examine your applications to determine what dependencies to download and how to configure applications to communicate with bound services.

The language family buildpacks are composite buildpacks that provide easy out-of-the-box support for the most popular language runtimes and app configurations. These buildpacks combine multiple component buildpacks into ordered groupings. The groupings satisfy each buildpack's requirements.

Builders

A Builder is a Tanzu Build Service resource. A Builder contains a set of buildpacks and a stack used in the process of building source code.

Build agent pool

Tanzu Build Service in the Enterprise plan is the entry point to containerize user applications from both source code and artifacts. There's a dedicated build agent pool that reserves compute resources for a given number of concurrent build tasks. The build agent pool prevents resource contention with your running apps.

The following table shows the sizes available for build agent pool scale sets:

Scale set CPU/Gi
S1 2 vCPU, 4 Gi
S2 3 vCPU, 6 Gi
S3 4 vCPU, 8 Gi
S4 5 vCPU, 10 Gi
S5 6 vCPU, 12 Gi
S6 8 vCPU, 16 Gi
S7 16 vCPU, 32 Gi
S8 32 vCPU, 64 Gi
S9 64 vCPU, 128 Gi

Tanzu Build Service allows at most one pool-sized build task to build and twice the pool-sized build tasks to queue. If the quota of the agent pool is insufficient for the build task, the request for this build gets the following error: The usage of build results in Building or Queuing status are (cpu: xxx, memory: xxxMi) and the remained quota is insufficient for this build. please retry with smaller size of build resourceRequests, retry after the previous build process completed or increased your build agent pool size.

Configure the build agent pool

When you create a new Azure Spring Apps Enterprise service instance using the Azure portal, you can use the VMware Tanzu settings tab to configure the number of resources given to the build agent pool.

Screenshot of Azure portal showing Azure Spring Apps Create page with V M ware Tanzu settings highlighted and Allocated Resources dropdown showing.

The following image shows the resources given to the Tanzu Build Service Agent Pool after you've successfully provisioned the service instance. You can also update the configured agent pool size here after you've created the service instance.

Screenshot of Azure portal showing Azure Spring Apps Build Service page with 'General info' highlighted.

Build service on demand

You can enable or disable the build service when you create an Azure Spring Apps Enterprise plan instance.

Build and deployment characteristics

By default, Tanzu Build Service is enabled so that you can use a container registry. If you disable the build service, you can deploy an application only with a custom container image. You have the following options:

  • Enable the build service and use the Azure Spring Apps managed container registry.

    Azure Spring Apps provides a managed Azure Container Registry to store built images for your applications. You can execute build and deployment together only as one command, but not separately. You can use the built container images to deploy applications in the same service instance only. The images aren't accessible by other Azure Spring Apps Enterprise service instances.

  • Enable the build service and use your own container registry.

    This scenario separates build from deployment. You can execute builds from an application's source code or artifacts to a container image separately from the application deployment. You can deploy the container images stored in your own container registry to multiple Azure Spring Apps Enterprise service instances.

  • Disable the build service.

    When you disable the build service, you can deploy applications only with container images, which you can build from any Azure Spring Apps Enterprise service instance.

Configure build service settings

You can configure Tanzu Build Service and container registry settings using the Azure portal or the Azure CLI.

Use the following steps to enable Tanzu Build Service when provisioning an Azure Spring Apps service instance:

  1. Open the Azure portal.

  2. On the Basics tab, select Enterprise tier in the Pricing section, and then specify the required information.

  3. Select Next: VMware Tanzu settings.

  4. On the VMware Tanzu settings tab, select Enable Build Service. For Container registry, the default setting is Use a managed Azure Container Registry to store built images.

    Screenshot of the Azure portal showing V M ware Tanzu Settings for the Azure Spring Apps Create page with default Build Service settings highlighted.

  5. If you select Use your own container registry to store built images (preview) for Container registry, provide your container registry's server, username, and password.

    Screenshot of the Azure portal showing V M ware Tanzu Settings for the Azure Spring Apps Create page with use your own container registry highlighted.

  6. If you disable Enable Build Service, the container registry options aren't provided but you can deploy applications with container images.

    Screenshot of the Azure portal showing V M ware Tanzu Settings for the Azure Spring Apps Create page with the Enable Build Service not selected.

  7. Select Review and create.

Deploy polyglot applications

You can deploy polyglot applications in an Azure Spring Apps Enterprise service instance with Tanzu Build Service either enabled or disabled. For more information, see How to deploy polyglot apps in Azure Spring Apps Enterprise.

Configure APM integration and CA certificates

By using Tanzu Partner Buildpacks and CA Certificates Buildpack, the Azure Spring Apps Enterprise plan provides a simplified configuration experience to support application performance monitor (APM) integration. This integration includes certificate authority (CA) certificates integration scenarios for polyglot applications. For more information, see How to configure APM integration and CA certificates.

Real-time build logs

A build task is triggered when an application is deployed from an Azure CLI command. Build logs are streamed in real time as part of the CLI command output. For information about using build logs to diagnose problems, see Analyze logs and metrics with diagnostics settings.

Next steps