Projects in VMware Aria Automation Assembler control who has access to cloud templates and where cloud templates can be deployed.

A project in VMware Aria Automation Assembler determines the cloud zones on which a set of users or groups can deploy workloads, a priority value, the maximum number of virtual machines to deploy, and a maximum amount of memory that the deployment can use. A project is typically defined by using an organizational structure, such as a cost-center, or a specific business group or purpose.

By using projects, you can organize and govern what business users can do and what cloud zones they can use to deploy cloud templates in your cloud infrastructure. You create a project for which you manage membership - project administrators, project members, and project viewers - and cloud zones, so that the project members can deploy their cloud templates to the associated cloud zones. Project administrators use the infrastructure that is created by the cloud administrator to ensure that project members have the resources they need while project members are users who create, iterate, and deploy cloud templates. Project viewers have read-only access to the project.

For example, as a VMware Aria Automation Assembler administrator, you can create a project for a development team and add users and groups as project members or project administrators. After that, you can add the cloud zones that are designated for these workloads types.

Projects provide a context to which you can assign cloud templates, and moving beyond VMware Aria Automation Assembler, projects can also bind integration endpoints, such as Git-based repositories.

When you assign a cloud zone within a project, you can include additional configurations that determine the project behavior.

Table 1. Cloud Zone Configurations in VMware Aria Automation Assembler Projects

Setting

Description

Provisioning priority

The priority order for a cloud zone used in a project when all other constraints are met.

Instances limit

The maximum number of instances that can be provisioned in the cloud zone for the project.

Memory limit

The maximum amount of memory that can be consumed by the project from this cloud zone.

CPU limit

The maximum number of virtual CPUs that can be consumed by the project from this cloud zone.

Storage limit

The maximum amount of storage that can be consumed by the project from this cloud zone.

Resource tags can be created on cloud resources during provisioning. For vCenter Server-backed cloud accounts, the tags are associated with the workloads inside the VI workload domain.

Project constraints can be used as a governance definition to restrict or activate resource consumption. These include network constraints matched with capability tags on network profiles and subnets, storage constraints matched with capability tags on storage profiles, and extensibility constraints matched with capabilities tags on VMware Aria Automation Orchestrator integrations. Project constraints define what resources the deployment request consumes or avoids in the project cloud zones.

At deployment time, to determine the best deployment location, the project cloud template requirements are evaluated against the cloud zones associated with the project.

You can also add a custom property in a project to trigger and populate extensibility actions or workflows, override cloud template level properties, or for reporting.

Figure 1. Tagging Example
A Windows Server instance is placed against cloud accounts tagged as cloud:private, a zone tagged with region:us-west-1, storage tagged with env:prod, and a network tagged as function:app. An Ubuntu instance is placed against cloud accounts tagged as cloud:private, a zone tagged with region:us-west-2, storage tagged with env:dev, and a network tagged as function:web.

Project roles are defined in VMware Aria Automation and can vary between projects.

  • Project Administrators leverage the infrastructure that is created by the service administrator to ensure that project members have the resources they need.

  • Project Members work within their projects to design and deploy workloads.

  • Project Viewers are restricted to read-only access, except in a few cases where they can do non-destructive operations.

Table 2. Design Decisions on Projects for VMware Aria Automation Assembler in VMware Aria Automation

Decision ID

Design Decision

Design Justification

Design Implication

PCA-VAA-CA-CFG-012

For each project, add one or more cloud zones based on the project requirements and allowed cloud resources.

Provides one or more cloud zones and their resources for project consumption.

None.

PCA-VAA-CA-CFG-013

For each project, set a provisioning priority for each cloud zone based on your deployment prioritization.

Prioritizes one cloud zone over another within a project.

The default priority is 0 (highest priority).

You must manage the provisioning priority for each cloud zone in each project.

PCA-VAA-CA-CFG-014

For each project, set limits for the project cloud zones as required.

Sets the maximum number of workload instances and resources provisioned in the cloud zone for the project.

The default limit is 0 (unlimited).

If a value greater than 0 (unlimited) is used for the instance or resource limit, you must manage the limit for each cloud zone in each project when requirements change.

PCA-VAA-CA-CFG-015

For each project, specify network, storage, and extensibility constraints that must be applied to all requests in the project.

Ensures proper placement of the workloads in a project and its cloud zones.

If the same constraint or the same constraint category is specified in both the project, for example, region:us-west-1, and the cloud template, for example, region:us-east-1, the constraint specified in the project takes precedence, for example, region:us-west-1.

PCA-VAA-CA-CFG-016

For each project, add one or more custom properties, for example, project:foo.

Custom properties can be used for provisioning or capturing additional metadata. For example, for reporting or extensibility actions.

If the same custom property is specified in both the project, for example, project:foo, and the cloud template, for example, project:bar, the property value specified in the project takes precedence, for example, project:foo.

PCA-VAA-CA-CFG-017

For each project, add a custom naming template to be used for virtual machine names provisioned in the project.

The template provides a custom virtual machine name and does not affect the host name of the virtual machine.

Note:

Custom naming can also be managed using extensibility.

The template substitutes auto-generated virtual machine names by using available properties, such as resource properties, custom properties, endpoint properties, project properties, and a random number with a specified number of digits.

You must ensure that the template generates unique names for this project and between other projects.